Original source: https://theworld.com/~swmcd/steven/rants/browser.html
Un ejercicio de desvío
En 1998, el gobierno federal de los Estados Unidos acusó a Microsoft de violaciones antimonopolio . Una de las quejas fue que Microsoft había “integrado” su navegador web Internet Explorer (IE) con su sistema operativo (SO) Windows . Desde el punto de vista del cliente, IE viene gratis con el sistema operativo. Dado que Windows tenía en aquel momento una cuota de mercado superior al 95%, esto significaba que prácticamente todos los que compraban un ordenador también adquirían IE. Este uso gravemente socavado del único navegador comercial de la competencia, Netscape, y Netscape Communications Corporation posteriormente disminuyó.
En su defensa, Microsoft afirmó que el navegador web era, de hecho, parte del sistema operativo. Por tanto, no tenía sentido hablar de empaquetar el navegador; Estaba en el orden natural de las cosas que un proveedor de sistema operativo incluyera un navegador en su producto.
A primera vista, este es un argumento válido. Todos los productos tienen piezas y no culpamos a los fabricantes por incluir piezas de sus propios productos. Cuando compras un coche, viene con motor. Esto hace que sea muy difícil para los fabricantes independientes de motores vender motores de automóvil al público en general. Pero no acusamos a las empresas automotrices de agrupar motores con sus automóviles para sacar a los fabricantes de motores del negocio: aceptamos el hecho de que el motor es parte del automóvil.
Entonces, la acusación contra Microsoft se redujo a una cuestión de hecho: ¿el navegador web es parte del sistema operativo? No hace falta decir que hubo muchos testimonios y discusiones sobre esto durante el juicio. Seguí el juicio con indiferencia; Para mí, la pregunta parecía opaca, y en los argumentos apenas podía oír algo más que “es así” y “no es”.
Al final, se descubrió que Microsoft era un monopolio, pero sólo recibió sanciones mínimas. Microsoft todavía incluye IE con Windows, pero los navegadores independientes, como Firefox , ahora están recuperando participación de mercado. Podría decirse que la pregunta sigue en pie: ¿el navegador es parte del sistema operativo?
Bueno, ¿lo es?
Hay (al menos) cuatro preguntas diferentes reunidas aquí, y Microsoft ha trabajado duro durante muchos años para confundirlas y confundirlas. No quieren que la gente tenga una comprensión clara de este tema, porque una comprensión clara del mismo no les sirve en absoluto. Tomemos las preguntas una por una y veamos si podemos resolver los problemas. Aquí están las preguntas:
- ¿Espera el cliente que la computadora venga con un navegador web?
- ¿Quién debería seleccionar el navegador e integrarlo con la computadora?
- ¿El navegador forma parte de la amplia colección de software denominada “sistema operativo”?
- ¿El código que implementa el navegador debería integrarse con el kernel del sistema operativo?
¿Espera el cliente que la computadora venga con un navegador web?
Esta es una pregunta sobre el comportamiento y las expectativas del consumidor. Cuando Joe Consumer (o Joe Businessman) compra una computadora, la saca de la caja y la enciende, ¿esperan encontrar un navegador web ya instalado? Para encontrar la respuesta, simplemente hablamos con los consumidores y observamos su comportamiento. La respuesta resulta ser sí.
En conversaciones previas al juicio con el gobierno, un abogado de Microsoft dijo sobre el sistema operativo Windows
Podríamos ponerle un bocadillo de jamón, pero nadie lo compraría.
La parte del sándwich de jamón fue sacada de contexto y puesta como ejemplo de la arrogancia de Microsoft; sin embargo, lo que el abogado quería decir es que Microsoft responde a las expectativas de los consumidores, y los consumidores esperan que sus computadoras incluyan navegadores web.
La respuesta a esta pregunta respalda la posición de Microsoft.
¿Quién debería seleccionar el navegador e integrarlo con la computadora?
Ésta es una pregunta sobre organización industrial: ¿cómo debería organizarse la fabricación y distribución de computadoras? En Estados Unidos dejamos que los mercados decidan la mayoría de cuestiones como ésta.
La industria de las computadoras personales (PC) tiene aproximadamente 25 años. Ha habido algunos cambios durante ese tiempo, pero los lineamientos básicos son claros y estables. Las computadoras son fabricadas por fabricantes de equipos originales (OEM), empresas como Dell , Gateway y Hewlett-Packard . El OEM
- compra componentes (chasis, fuente de alimentación, placa base, disco duro, etc.)
- los ensambla en computadoras
- instala software
- escribe un manual y una garantía
- lo pone todo en una caja
- pone su nombre en él
- lo vende a minoristas o consumidores
El OEM asume la responsabilidad de seleccionar e integrar todo el software que viene en la computadora, con una excepción. Microsoft dicta que los OEM que instalan Windows también instalen IE en todas las computadoras. Microsoft hace cumplir esto a través de términos en la licencia de Windows.
Sin el ejercicio del poder de monopolio por parte de Microsoft, hay muchas razones para creer que los OEM seleccionarían el navegador web , tal como seleccionan todos los demás componentes de sus productos.
La respuesta a esta pregunta no respalda la posición de Microsoft.
¿El navegador forma parte de la amplia colección de software denominada “sistema operativo”?
Esta pregunta es una cuestión de opinión o simplemente no tiene respuesta. La razón es que el término “sistema operativo”, tal como se utiliza aquí, no tiene un significado técnico específico. Se parece más al término “ciudad”.
Las ciudades son grandes y en expansión, y sus límites pueden ser confusos. Es cierto que la ciudad tiene un límite geográfico, definido por ley y registrado en el registro de escrituras, pero ¿cuántas personas saben exactamente dónde está, o les importa?
Preguntar si el navegador forma parte del sistema operativo es como preguntar si la línea de autobús forma parte de la ciudad. Al final, depende de lo que entiendas por “ciudad”.
La respuesta a esta pregunta es irrelevante para el caso de Microsoft.
¿El código que implementa el navegador debería integrarse con el kernel del sistema operativo?
Ésta es una cuestión de ingeniería. A diferencia del término amplio “sistema operativo”, el término ” núcleo del sistema operativo ” tiene un significado técnico específico y esta pregunta tiene una respuesta definitiva. Por motivos de ingeniería muy sólidos, la respuesta es no .
Los sistemas operativos están organizados, real o teóricamente, en capas, como una cebolla. La capa más interna se llama comúnmente núcleo .
El kernel es la primera parte del sistema operativo que se ejecuta después de que se inicia la computadora, y lo primero que hace el kernel es tomar el control de todo el hardware de la computadora.
- UPC
- memoria
- unidades de disco
- monitor
- teclado/ratón
- conexiones de red
Todos los demás programas se ejecutan bajo el control del kernel. el núcleo
- programa programas para su ejecución
- asigna recursos a los programas
- recupera recursos de los programas cuando ya no los necesitan
- elimina programas del sistema cuando terminan de ejecutarse
Es importante (y crucial) que el hardware de la computadora garantice que el kernel recupere el control si un programa se bloquea, falla o se comporta mal de alguna otra manera. Cuando esto sucede, el kernel detiene el programa, limpia el desorden y continúa.
Siempre que el kernel funcione correctamente, el sistema operativo puede recuperarse de cualquier error en cualquier otro programa. Por el contrario, si el núcleo está comprometido, por
- insectos
- malware
- intrusos
entonces los programas erróneos pueden
- interferir con otros programas
- colgar o bloquear la computadora
- datos corruptos
Normalmente, la única forma de recuperarse de un problema con el kernel es reiniciar la máquina. Si la corrupción de datos se extiende al disco duro, puede que sea necesario reinstalar el sistema operativo.
En vista de todo esto, una buena práctica de ingeniería es mantener el núcleo lo más pequeño y simple posible. Con el tiempo, los núcleos tienden a volverse grandes y complicados porque hacen muchas cosas complicadas. Sin embargo, el principio se mantiene: no se debe poner nada en el núcleo sin una buena razón .
Buenas razones
Buenas razones para poner cosas en el kernel incluyen
- necesidad
- actuación
- seguridad
Necesidad
Algunos programas simplemente no pueden funcionar a menos que estén dentro del núcleo. El navegador web no es uno de ellos. Hay navegadores web (navegadores web con todas las funciones y ampliamente utilizados) que se ejecutan en Microsoft Windows y no forman parte del kernel. Éstas incluyen
La existencia de estos navegadores demuestra que no es necesario que el navegador forme parte del núcleo.
Actuación
Hay algunos programas que se ejecutan más rápido (mucho más rápido) si son parte del núcleo. El navegador no es uno de ellos. Internet Explorer de Microsoft no se ejecuta más rápido dentro del kernel que otros navegadores fuera del kernel. Además, con la tecnología actual y los patrones de uso típicos, los navegadores web pasan más tiempo esperando la E/S de la red que la ejecución de la CPU.
Seguridad
Algunos programas se ejecutan dentro del kernel porque necesitan estar dentro de sus límites de seguridad. El sistema de archivos es un buen ejemplo de esto. El navegador web no lo es. Los navegadores citados anteriormente que se ejecutan fuera del kernel son seguros; en muchos sentidos, más seguros que Internet Explorer, que se ejecuta dentro del kernel. La seguridad no es una buena razón para colocar un navegador web dentro del kernel.
Integración
Otra razón que a veces se da para hacer que el navegador forme parte del kernel es la integración. “Integrado” es sólo una palabra elegante para “parte de”, por lo que este argumento es, en última instancia, circular. Tras una inspección, los beneficios de la integración generalmente resultan ser reclamos de mayor rendimiento, seguridad o conveniencia. Ya hemos visto que las consideraciones de rendimiento y seguridad no justifican que el navegador forme parte del kernel. Discutiremos la conveniencia a continuación.
Manteniéndolo fuera
Dado que no hay buenas razones para poner el navegador dentro del kernel, una buena práctica de ingeniería es mantenerlo fuera. Pero no es sólo una cuestión de buenas prácticas: existen razones positivas por las que el navegador debería mantenerse fuera del kernel . Los dos más importantes son
- estabilidad
- seguridad
Estabilidad
La gente lleva medio siglo escribiendo núcleos de sistemas operativos. Sabemos como
- diseñarlos
- escríbelos
- hacerlos estables y seguros
La gente lleva poco más de una década escribiendo navegadores web. El diseño, la implementación y los requisitos básicos aún están en proceso de cambio. Arrastrar un navegador web al kernel lo desestabiliza.
Seguridad
El kernel impone un límite de seguridad en sus interfaces. Cada dato que cruza estas interfaces debe ser verificado para ver que no viola los requisitos de seguridad del kernel. El núcleo puede ser complejo, pero sus interfaces son
- bien definido
- bien entendido
- relativamente simple
Estas propiedades son cruciales para que el kernel sea seguro. Si las interfaces del núcleo están mal definidas, no se comprenden bien o simplemente son demasiado complicadas, garantizar la seguridad del núcleo se convierte en una tarea imposible.
Si el núcleo incluye un navegador web, entonces su límite de seguridad debe extenderse hasta la interfaz entre el navegador y la World Wide Web. Esta interfaz incluye
- páginas web (texto, HTML, XML, …)
- hojas de estilo
- Programas integrados (Java, JavaScript, ActiveX, …)
- imágenes (GIF, JPEG, PNG, …)
- Enlaces
- complementos (Flash, …)
La frase “World Wide Web” describe acertadamente el tamaño, la complejidad y la confusión de los datos que debe manejar el navegador. Validar estos datos es imposible y arrastrar un navegador al kernel compromete irremediablemente su seguridad.
Resumen
Como referencia, aquí están las respuestas que obtuvimos a nuestras cuatro preguntas.
- ¿Espera el cliente que la computadora venga con un navegador web? Sí.
- ¿Quién debe seleccionar e integrar el navegador con la computadora? El OEM.
- ¿El navegador forma parte de la amplia colección de software denominada sistema operativo? Depende de lo que quieras decir con “sistema operativo”
- ¿El código que implementa el navegador debería integrarse con el kernel del sistema operativo?Absolutamente no.
Ahora veamos qué hace realmente Microsoft con Internet Explorer.
- Microsoft envía Internet Explorer con el sistema operativo WindowsMe parece bien; Los clientes esperan tener un navegador web con su computadora.
- Microsoft obliga a los fabricantes de equipos originales a enviar IE, y ningún otro navegador, en computadoras con WindowsPiscina sucia y además ilegal. Desafortunadamente, los fabricantes de equipos originales dependen demasiado de Microsoft como para quejarse, y el gobierno de Estados Unidos se niega a imponer sanciones significativas a Microsoft, aparentemente por razones políticas.
- Microsoft dice que el navegador es parte del sistema operativoTienen derecho a opinar.
- Microsoft integra el código que implementa Internet Explorer en el kernel de Windows
AAAAAAArrrrggggghhhhh!!!!!!!
¿Es realmente tan malo?
Es realmente tan malo.
La discusión anterior es técnica y algo abstracta, pero los problemas que describe no lo son. Poner el navegador en el kernel causa problemas reales a los usuarios comunes.
Todos los navegadores tienen errores; Todos los navegadores fallan. Cuando un navegador como Firefox falla, pierdes la página web que estabas viendo. Si desea volver a verlo, debe volver a abrir el navegador y volver a ingresar la URL. Cuando Internet Explorer falla, se lleva consigo el kernel, el sistema operativo y la computadora. La recuperación generalmente requiere reiniciar y la pérdida de datos en otros programas no es infrecuente.
Todos los navegadores tienen agujeros de seguridad ; Todos los navegadores están sujetos a ataques de sitios web hostiles. Cuando un navegador como Firefox se ve comprometido, el atacante obtiene el control del navegador. Cuando Internet Explorer se ve comprometido, el atacante obtiene el control del kernel y, a través de él, de toda la computadora.
¿Por qué lo hacen?
Si integrar el navegador con el kernel es tan mala idea, debemos preguntarnos por qué Microsoft lo hace. La respuesta viene en dos partes.
- por qué dicen que lo hacen
- por qué realmente lo hacen
¿Por qué dicen que lo hacen?
La primera respuesta de Microsoft, por supuesto, es simplemente que el navegador es parte del sistema operativo. Sin embargo, esta respuesta se basa en una confusión de las preguntas más detalladas discutidas anteriormente. Nadie cuestiona la afirmación de que el término general “sistema operativo” puede interpretarse de manera suficientemente amplia como para incluir un navegador web. La pregunta es qué impulsó a Microsoft a arrastrar el navegador al núcleo.
A Microsoft no le gusta decir mucho más sobre el tema; sin embargo, si lees su literatura de marketing y sus textos publicitarios, podrás ver algunas otras afirmaciones que aparecen en los bordes.
Microsoft promociona las comodidades y características que pueden ofrecer gracias a que IE está integrado con el kernel. Siempre está ahí; siempre está encendido. El contenido de cualquier fuente de la web se puede pasar sin problemas a cualquier aplicación de la computadora. Los datos de cualquier aplicación se pueden mostrar como una página web. La molesta distinción entre su computadora e Internet pasa a un segundo plano: Windows se encarga de todo por usted.
Irónicamente, es precisamente este tipo de integración lo que hace que Internet Explorer sea un vector tan eficaz para el malware. La “comodidad” que ofrece Microsoft tiene un costo aplastante en seguridad y estabilidad.
¿Por qué realmente lo hacen?
En sus inicios, Microsoft vendía productos por sus características, rendimiento y conveniencia , y todavía habla de labios para afuera sobre estos beneficios para el cliente. Hoy, sin embargo, la principal estrategia de Microsoft para vender sus productos es negar al cliente otras opciones.
Una forma de hacerlo es sacando a los competidores del negocio, por ejemplo, mediante la venta por paquetes. Pero simplemente enviar IE en la misma caja que Windows no es suficiente: si todo lo que Microsoft hiciera fuera ponerlo en la caja, alguien más podría fácilmente sacarlo de la caja.
- Si el juez del juicio antimonopolio pudiera eliminar IE de Windows, entonces sería más difícil para Microsoft mantener su afirmación de que IE es parte de Windows.
- Si los usuarios pudieran eliminar IE de Windows, sería más probable que utilizaran otros navegadores web.
También existe una razón histórica para integrar IE con Windows. Hasta principios de los años 1990, Internet era esencialmente un proyecto de investigación, financiado por el gobierno y restringido a universidades y grandes corporaciones. Luego, una confluencia de acontecimientos hizo que fuera práctico para los consumidores utilizar Internet. Estos incluyen
- caída de los precios del hardware
- creciente penetración de la red
- interfaces gráficas de usuario
- Decisiones políticas para comercializar Internet y ampliar el acceso a él.
Cuando esto sucedió, Internet y, especialmente, la Web se convirtieron repentinamente en conciencia pública. Durante un breve período de tiempo, hubo serias especulaciones de que el navegador web suplantaría al sistema operativo como interfaz principal del usuario con la computadora.
La perspectiva de esto sin duda aterrorizó a Microsoft. Si los usuarios pasan todo su tiempo dentro del navegador web, entonces no les importa qué sistema operativo se ejecuta debajo de él. Los fabricantes de equipos originales son entonces libres de vender computadoras con sistemas operativos competidores y el monopolio de Microsoft se evapora.
Es sabido que Microsoft no estaba preparado para la comercialización de Internet. Su primera respuesta fue escribir su propio navegador web, pero también se aseguraron de que ese navegador estuviera conectado directamente al sistema operativo. De esa manera, incluso si el navegador de alguna manera se convirtiera en el sistema operativo, el usuario seguiría ejecutando Windows y Microsoft seguiría controlando el escritorio.
No resultó así. Los consumidores han estado en Internet durante 10 años, no pasan todo su tiempo dentro del navegador web y todavía les importa qué sistema operativo ejecutan. Pero Microsoft nunca se ha echado atrás en su decisión original de integrar el navegador con el sistema operativo; en todo caso, han trabajado para hacerlos inseparables, dispersando el código del navegador por todo el sistema en múltiples archivos y desdibujando la distinción entre la web y el sistema operativo. escritorio en la interfaz de usuario.
I’ve always been captivated by the wonders of science, particularly the intricate workings of the human mind. With a degree in psychology under my belt, I’ve delved deep into the realms of cognition, behavior, and everything in between. Pouring over academic papers and research studies has become somewhat of a passion of mine – there’s just something exhilarating about uncovering new insights and perspectives.