Windows 9x es un término genérico que se refiere a una línea de sistemas operativos Microsoft Windows descontinuados desde 1995 hasta 2000, que se basaban en el núcleo de Windows 95 y su base subyacente de MS-DOS , [4] ambos actualizados en versiones posteriores. La primera versión de la serie 9x fue Windows 95, a la que le sucedieron Windows 98 y luego Windows Me , que fue la tercera y última versión de Windows en la línea 9x, hasta que la serie fue reemplazada por Windows XP . [5]
Windows 9x es conocido principalmente por su uso en computadoras de escritorio domésticas . En 1998, Windows representaba el 82% de la participación de mercado de sistemas operativos. [6]
El número de versión interna de las versiones de Windows 9x es 4.x. Las versiones internas de Windows 95, 98 y Me son 4.0, 4.1 y 4.9, respectivamente. Las versiones anteriores de Windows basadas en MS-DOS utilizaban números de versión 3.2 o inferiores . Windows NT , que estaba destinado a usuarios profesionales como redes y empresas, utilizaba un número de versión similar pero independiente entre 3.1 y 4.0. Todas las versiones de Windows a partir de Windows XP se basan en el código base de Windows NT.
La primera versión independiente de Microsoft Windows, la versión 1.0 , lanzada el 20 de noviembre de 1985, alcanzó poca popularidad. Su nombre inicial fue «Interface Manager», pero Rowland Hanson , el jefe de marketing de Microsoft, convenció a la empresa de que el nombre Windows sería más atractivo para los consumidores. Windows 1.0 no era un sistema operativo completo, sino más bien un «entorno operativo» que ampliaba MS-DOS . En consecuencia, compartía los defectos y problemas inherentes de MS-DOS.
La segunda entrega de Microsoft Windows, la versión 2.0 , fue lanzada el 9 de diciembre de 1987 y utilizaba el modelo de memoria en modo real , que lo limitaba a un máximo de 1 megabyte de memoria. En dicha configuración, podía ejecutarse bajo otro sistema multitarea como DESQview , que utilizaba el modo protegido 286 .
Microsoft Windows obtuvo un éxito significativo con Windows 3.0 , lanzado en 1990. Además de las capacidades mejoradas otorgadas a las aplicaciones nativas, Windows también permitió a los usuarios realizar múltiples tareas a la vez en software antiguo basado en MS-DOS en comparación con Windows/386 , gracias a la introducción de la memoria virtual .
Microsoft desarrolló Windows 3.1 , que incluía varias mejoras menores a Windows 3.0, principalmente correcciones de errores y compatibilidad con multimedia. También excluía la compatibilidad con el modo Real y solo funcionaba con un procesador Intel 80286 o superior. Windows 3.1 se lanzó el 6 de abril de 1992. En noviembre de 1993, Microsoft también lanzó Windows 3.11 , una versión mejorada de Windows 3.1 que incluía todos los parches y actualizaciones que siguieron al lanzamiento de Windows 3.1 a principios de 1992.
Mientras tanto, Microsoft continuó desarrollando Windows NT . El arquitecto principal del sistema fue Dave Cutler , uno de los arquitectos jefe de VMS en Digital Equipment Corporation . [7] Microsoft lo contrató en agosto de 1988 para crear un sucesor de OS/2 , pero Cutler creó un sistema completamente nuevo basado en su proyecto MICA en Digital. [8] La primera versión de Windows NT, Windows NT 3.1 , se lanzaría el 27 de julio de 1993 y utilizaba la interfaz de Windows 3.1.
Aproximadamente un año antes de que comenzara el desarrollo del sucesor de Windows 3.1 (Windows 95, nombre en código Chicago), Microsoft anunció en su Conferencia de Desarrolladores Profesionales de 1991 que desarrollarían un sucesor de Windows NT con nombre en código Cairo , [9] que algunos han insinuado que sucedería tanto a Windows NT como al sucesor de Windows 3.1 bajo un sistema unificado. [10] Microsoft demostró públicamente Cairo en la Conferencia de Desarrolladores Profesionales de 1993, junto con un sistema de demostración que ejecutaba Cairo para que lo usaran todos los asistentes.
Cairo, basado en el núcleo de Windows NT , era un sistema operativo de nueva generación que incorporaba muchas tecnologías nuevas en Windows, incluida una nueva interfaz de usuario con un sistema de archivos basado en objetos (esta nueva interfaz de usuario debutaría oficialmente con Windows 95 casi 4 años después, mientras que el sistema de archivos basado en objetos se adoptaría más tarde como WinFS durante el desarrollo de Windows Vista ). Según el plan de producto de Microsoft en ese momento, Cairo estaba previsto que se lanzara a finales de julio de 1996, después de su desarrollo.
Sin embargo, se hizo evidente que Cairo era un proyecto mucho más difícil de lo que Microsoft había previsto, y el proyecto fue cancelado cinco años después de su inicio. Un subconjunto de características de Cairo se agregaron finalmente a Windows NT 4.0, lanzado el 24 de agosto de 1996, aunque sin el sistema de archivos de objetos. Windows NT y Windows 9x no se unificarían verdaderamente hasta Windows XP casi cinco años después, cuando Microsoft comenzó a fusionar su línea de Windows para consumidores y empresas bajo una marca única basada en Windows NT.
Después de Windows 3.11 , Microsoft comenzó a desarrollar una nueva versión orientada al consumidor del sistema operativo, cuyo nombre en código era Chicago. Chicago fue diseñado para tener soporte para multitarea preemptiva de 32 bits, que estaba disponible en OS/2 y Windows NT, aunque se mantendría un núcleo de 16 bits por motivos de compatibilidad con versiones anteriores. La API Win32 introducida por primera vez con Windows NT se adoptó como la interfaz de programación estándar de 32 bits, y la compatibilidad con Win16 se preservó mediante una técnica conocida como " thunking ". Originalmente no se planeó una nueva GUI como parte del lanzamiento, aunque se tomaron prestados elementos de la interfaz de usuario Cairo y se agregaron a medida que se descartaban otros aspectos del lanzamiento (especialmente Plug and Play).
Microsoft no modificó todo el código de Windows a 32 bits; algunas partes permanecieron en 16 bits (aunque no directamente utilizando el modo real ) por razones de compatibilidad, rendimiento y tiempo de desarrollo. Además, fue necesario trasladar decisiones de diseño de versiones anteriores de Windows por razones de compatibilidad con versiones anteriores, incluso si estas decisiones de diseño ya no se ajustaban a un entorno informático más moderno. Estos factores comenzaron a afectar inmediatamente la eficiencia y la estabilidad del sistema operativo.
El marketing de Microsoft adoptó Windows 95 como nombre del producto para Chicago cuando se lanzó el 24 de agosto de 1995.
Microsoft lanzó cinco versiones diferentes de Windows 95:
OSR2, OSR2.1 y OSR2.5 (en adelante, "OSR" es la sigla de "OEM Service Release") no se lanzaron al público en general, sino que solo estaban disponibles para los fabricantes de equipos originales (OEM) que preinstalarían el sistema operativo en las computadoras. Algunas empresas vendieron discos duros nuevos con OSR2 preinstalado (justificando oficialmente que era necesario debido a la capacidad del disco duro).
El primer paquete complementario Microsoft Plus! se vendió para Windows 95.
El 25 de junio de 1998, Microsoft lanzó Windows 98, cuyo nombre en código durante el desarrollo era "Memphis". Incluía nuevos controladores de hardware y mejor compatibilidad con el sistema de archivos FAT32 , que permite la compatibilidad con particiones de disco más grandes que el máximo de 2 GB aceptado por Windows 95. La compatibilidad con USB en Windows 98 era más sólida que la compatibilidad básica proporcionada por las ediciones OEM de Windows 95. [11] También introduce la controvertida integración del navegador web Internet Explorer 4 en el shell de Windows y el Explorador de archivos (conocido entonces como Windows Explorer).
El 10 de junio de 1999, Microsoft lanzó Windows 98 Second Edition (también conocido como Windows 98 SE), una versión provisional cuyas características notables fueron la adición de Internet Connection Sharing y un soporte mejorado de audio y módem WDM. Internet Connection Sharing es una forma de traducción de direcciones de red , que permite que varias máquinas en una LAN (red de área local) compartan una única conexión a Internet . También incluye Internet Explorer 5 en lugar de Internet Explorer 4 en la versión original. Windows 98 Second Edition también tiene ciertas mejoras con respecto a la versión original, y se aumentó el soporte de hardware a través de controladores de dispositivos. También se encontraron y solucionaron muchos problemas menores presentes en la versión original de Windows 98. Estos cambios, entre otros, lo convierten (según muchos) en la versión más estable de la familia Windows 9x, hasta el punto de que algunos comentaristas solían decir que la versión beta de Windows 98 era más estable que la versión final (gamma) de Windows 95. [12]
Al igual que Windows 95, Windows 98 recibió el complemento Microsoft Plus! en forma de Plus! 98 .
El 14 de septiembre de 2000, Microsoft presentó Windows Me (Millennium Edition; también conocido como Windows ME), que mejoró Windows 98 con funciones multimedia y de Internet mejoradas. Con el nombre en código "Millennium", fue concebido como un proyecto rápido de un año que sirvió como una versión provisional entre Windows 98 y Windows XP (entonces con el nombre en código Whistler en ese momento). Tomó prestadas algunas características del Windows 2000 orientado a las empresas en la serie Windows 9x e introdujo la primera versión de Restaurar sistema , que permitía a los usuarios revertir el estado de su sistema a un punto "conocido como bueno" anterior en caso de una falla del sistema. Windows Me también introdujo la primera versión de Windows Movie Maker e incluyó Windows Media Player 7. Internet Explorer 5.5 vino incluido con Windows Me. Muchas de las nuevas características de Windows Me también estaban disponibles como actualizaciones para versiones anteriores de Windows, como Windows 98 a través de Windows Update . El papel de MS-DOS también se ha reducido considerablemente en comparación con versiones anteriores de Windows, y Windows Me ya no permite acceder al modo DOS real.
Windows Me inicialmente tuvo una recepción positiva tras su lanzamiento, pero más tarde fue duramente criticado por los usuarios por su inestabilidad y falta de fiabilidad, debido a los frecuentes bloqueos y caídas. Muchos han considerado a Windows Me como uno de los peores sistemas operativos de todos los tiempos, tanto en la crítica como en retrospectiva. PC World fue muy crítico con Windows Me meses después de su lanzamiento (y de hecho cuando ya no estaba disponible), con un artículo que describía a Windows Me como "Mistake Edition" y lo colocaba en el cuarto lugar de su lista de "Peores productos tecnológicos de todos los tiempos" en 2006. [13] En consecuencia, muchos usuarios domésticos que se vieron afectados por las inestabilidades de Windows Me (así como aquellos que vieron negativamente a Windows Me) finalmente se quedaron con el más confiable Windows 98 Second Edition durante el resto del ciclo de vida de Windows Me hasta el lanzamiento de Windows XP en 2001. Un pequeño número de propietarios de Windows Me se cambiaron al Windows 2000 Professional orientado a las empresas durante ese mismo período de tiempo.
La incapacidad de los usuarios de arrancar fácilmente en modo real MS-DOS como en Windows 95 y 98 llevó a los usuarios a descubrir rápidamente cómo hackear sus instalaciones de Windows Me para devolver esta funcionalidad faltante al sistema operativo. [14]
Windows Me nunca recibió un complemento Microsoft Plus! dedicado como ocurrió con Windows 95 y Windows 98.
El lanzamiento de Windows 2000 marcó un cambio en la experiencia del usuario entre la serie Windows 9x y la serie Windows NT. Windows NT 4.0, aunque se basaba en la interfaz de Windows 95, adolecía de una falta de compatibilidad con USB, Plug and Play y versiones DirectX posteriores a la 3.0, lo que impedía a sus usuarios jugar a juegos contemporáneos. Windows 2000, por otro lado, aunque estaba destinado principalmente a usuarios empresariales y de servidores, presentaba una interfaz de usuario actualizada y una mejor compatibilidad tanto con Plug and Play como con USB, además de incluir compatibilidad integrada con DirectX 7.0 . El lanzamiento de Windows XP a finales de 2001 confirmó el cambio de dirección de Microsoft, uniendo los sistemas operativos para consumidores y empresas bajo Windows NT.
Después del lanzamiento de Windows XP, Microsoft dejó de vender versiones de Windows 9x a los usuarios finales (y más tarde a los fabricantes de equipos originales) a principios de la década de 2000. En marzo de 2004, era imposible comprar ninguna versión de la serie Windows 9x. [15]
Con el tiempo, el soporte para la serie Windows 9x finalizó. Windows 95 había perdido su soporte general el 31 de diciembre de 2000, y el soporte extendido se eliminó de Windows 95 el 31 de diciembre de 2001 (que también terminó el soporte para versiones anteriores de Windows anteriores a Windows 95 ese mismo día). Windows 98 y Windows 98 Second Edition tuvieron su final de soporte general el 30 de junio de 2002, y el soporte general para Windows Me finalizó el 31 de diciembre de 2003. Microsoft continuó brindando soporte a la serie Windows 9x hasta el 11 de julio de 2006, cuando finalizó el soporte extendido para Windows 98, Windows 98 Second Edition (SE) y Windows Millennium Edition (Me), 4 años después de que finalizara el soporte extendido para Windows 95 el 31 de diciembre de 2001. [16]
Microsoft DirectX, un conjunto de API de juegos estándar, dejó de actualizarse en Windows 95 en la versión 8.0a. [17] También dejó de actualizarse en Windows 98 y Me después del lanzamiento de Windows Vista en 2006, lo que convirtió a DirectX 9.0c en la última versión de DirectX compatible con estos sistemas operativos.
El soporte para Microsoft Internet Explorer en todas las versiones de Windows 9x también ha finalizado. Windows 95, Windows 98 y Windows Me perdieron los parches de seguridad para Internet Explorer cuando los respectivos sistemas operativos alcanzaron su fecha de fin de soporte. Internet Explorer 5.5 con Service Pack 2 es la última versión de Internet Explorer compatible con Windows 95, mientras que Internet Explorer 6 con Service Pack 1 es la última versión compatible con versiones posteriores de Windows 9x (es decir, 98 y Me). [18] Si bien Internet Explorer 6 para Windows XP recibió parches de seguridad hasta que perdió el soporte, este no es el caso de IE6 en Windows 98 y Me. Debido a su antigüedad, Internet Explorer 7 , la primera actualización importante de Internet Explorer 6 en media década, solo estaba disponible para Windows XP SP2 y Windows Vista.
El sitio web de Windows Update siguió estando disponible para Windows 98, Windows 98 SE y Windows Me después de su fecha de finalización del soporte; sin embargo, durante 2011, Microsoft retiró el sitio web de Windows Update v4 y eliminó las actualizaciones para Windows 98, Windows 98 SE y Windows Me de sus servidores. [19] [20]
Microsoft anunció en julio de 2019 que los servicios de Microsoft Internet Games en Windows Me (y XP) finalizarían el 31 de julio de 2019 (y para Windows 7 el 22 de enero de 2020). [21]
El creciente número de actualizaciones importantes que ha provocado el fin de la vida útil de los servicios de estos sistemas operativos ha ido haciendo que Windows 9x sea cada vez menos práctico para el uso diario. Hoy en día, ni siquiera los proyectos de código abierto como Mozilla Firefox funcionarán en Windows 9x sin realizar modificaciones importantes. [22]
RetroZilla es una bifurcación de Gecko 1.8.1 destinada a brindar "compatibilidad mejorada en la web moderna" para versiones de Windows tan antiguas como Windows 95 y NT 4.0. [23] La última versión, 2.2, se lanzó en febrero de 2019 y agregó soporte para TLS 1.2 . [24]
Windows 9x es una serie de sistemas operativos monolíticos de 16/32 bits.
Al igual que la mayoría de los sistemas operativos, Windows 9x consta de espacio de kernel y memoria de espacio de usuario . Aunque Windows 9x cuenta con cierta protección de memoria , no protege el primer megabyte de memoria de las aplicaciones de espacio de usuario por razones de compatibilidad. Esta área de memoria contiene código crítico para el funcionamiento del sistema operativo, y al escribir en esta área de memoria una aplicación puede bloquear o congelar el sistema operativo. Esto era una fuente de inestabilidad ya que las aplicaciones defectuosas podían escribir accidentalmente en esta región, potencialmente corrompiendo la memoria importante del sistema operativo, lo que generalmente resultaba en algún tipo de error y detención del sistema. [25]
Las partes del modo usuario de Windows 9x constan de tres subsistemas: el subsistema Win16, el subsistema Win32 y MS-DOS. [26]
Windows 9x/Me reservaba dos bloques de regiones de memoria de 64 KiB para recursos de GDI y de montón. Al ejecutar múltiples aplicaciones, aplicaciones con numerosos elementos GDI o al ejecutar aplicaciones durante un largo período de tiempo, estas áreas de memoria podrían agotarse. Si los recursos libres del sistema caían por debajo del 10%, Windows se volvería inestable y probablemente se bloquearía. [27]
Las partes del modo kernel consisten en el Administrador de máquinas virtuales (VMM), el Administrador de sistemas de archivos instalables ( IFSHLP ), el Administrador de configuración y, en Windows 98 y posteriores, el Administrador de controladores WDM (NTKERN). [28]
Como sistema operativo de 32 bits, el espacio de memoria virtual es de 4 GiB , dividido en 2 GiB inferiores para aplicaciones y 2 GiB superiores para el kernel por proceso.
Al igual que Windows NT, Windows 9x almacena los ajustes específicos del usuario y de la configuración en una gran base de datos de información denominada registro de Windows . Los ajustes específicos del hardware también se almacenan en el registro, y muchos controladores de dispositivos utilizan el registro para cargar los datos de configuración. Las versiones anteriores de Windows utilizaban archivos como AUTOEXEC.BAT
, CONFIG.SYS
, WIN.INI
, SYSTEM.INI
y otros archivos con una .INI
extensión para mantener los ajustes de configuración. A medida que Windows se volvió más complejo e incorporó más funciones, .INI
los archivos se volvieron demasiado difíciles de manejar para las limitaciones del sistema de archivos FAT vigente en ese momento. La compatibilidad con versiones anteriores de .INI
los archivos se mantuvo hasta que Windows XP sucedió a las líneas 9x y NT.
Aunque Microsoft desaconseja el uso de archivos .INI en favor de las entradas del Registro, una gran cantidad de aplicaciones (en particular, las aplicaciones basadas en Windows de 16 bits) aún utilizan archivos .INI. Windows 9x admite archivos .INI únicamente por compatibilidad con esas aplicaciones y herramientas relacionadas (como programas de instalación). Los archivos AUTOEXEC.BAT y CONFIG.SYS también siguen existiendo por compatibilidad con componentes del sistema en modo real y para permitir que los usuarios cambien ciertas configuraciones predeterminadas del sistema, como la variable de entorno PATH.
El registro consta de dos archivos: User.dat y System.dat. En Windows Me, se agregó Classes.dat.
El Administrador de máquinas virtuales (VMM) es el núcleo de modo protegido de 32 bits de Windows 9x. Su principal responsabilidad es crear, ejecutar, supervisar y finalizar máquinas virtuales .
El VMM proporciona servicios que gestionan la memoria, los procesos, las interrupciones y las fallas de protección. El VMM trabaja con dispositivos virtuales (módulos de kernel cargables, que consisten principalmente en código de modo kernel o anillo 0 de 32 bits, pero pueden incluir otros tipos de código, como un segmento de inicialización de modo real de 16 bits) para permitir que esos dispositivos virtuales intercepten interrupciones y fallas para controlar el acceso que tiene una aplicación a los dispositivos de hardware y al software instalado. Tanto el VMM como los controladores de dispositivos virtuales se ejecutan en un único espacio de direcciones de modelo plano de 32 bits en el nivel de privilegio 0 (también llamado anillo 0). El VMM proporciona multitarea preventiva multiproceso . Ejecuta múltiples aplicaciones simultáneamente al compartir el tiempo de CPU ( unidad central de procesamiento ) entre los subprocesos en los que se ejecutan las aplicaciones y las máquinas virtuales.
El VMM también es responsable de crear entornos MS-DOS para los procesos del sistema y las aplicaciones de Windows que aún necesitan ejecutarse en modo MS-DOS. Es el reemplazo de WIN386.EXE en Windows 3.x, y el archivo vmm32.vxd es un archivo comprimido que contiene la mayor parte del núcleo VxD, incluido el propio VMM.vxd e ifsmgr.vxd (que facilita el acceso al sistema de archivos sin la necesidad de llamar al código del sistema de archivos en modo real del núcleo DOS).
Se puede instalar soporte parcial para Unicode en Windows 9x a través de Microsoft Layer for Unicode .
Windows 9x no es compatible de forma nativa con NTFS o HPFS ; sin embargo, existen soluciones de terceros disponibles para Windows 9x que permiten el acceso de solo lectura a volúmenes NTFS. Las primeras versiones de Windows 95 no eran compatibles con FAT32 .
Al igual que Windows for Workgroups 3.11 , Windows 9x ofrece compatibilidad con el acceso a archivos de 32 bits basado en IFSHLP.SYS . A diferencia de Windows 3.x, Windows 9x admite el sistema de archivos VFAT , lo que permite nombres de archivo con un máximo de 255 caracteres en lugar de 8,3 .
Windows 9x no tiene soporte para registro y seguimiento de eventos o informes de errores como lo tiene la familia de sistemas operativos Windows NT, aunque se puede usar software como Norton CrashGuard para lograr capacidades similares en Windows 9x.
Windows 9x está diseñado como un sistema de un solo usuario. Por lo tanto, el modelo de seguridad es mucho menos efectivo que el de Windows NT. Una razón para esto son los sistemas de archivos FAT (incluidos FAT12/FAT16/FAT32), que son los únicos que Windows 9x admite oficialmente, aunque Windows NT también admite FAT12 y FAT16 (pero no FAT32; que no sería compatible hasta Windows 2000) y Windows 9x se puede ampliar para leer y escribir volúmenes NTFS utilizando controladores de sistemas de archivos instalables de terceros . Los sistemas FAT tienen una seguridad muy limitada; cada usuario que tiene acceso a una unidad FAT también tiene acceso a todos los archivos de esa unidad. Los sistemas de archivos FAT no proporcionan listas de control de acceso ni cifrado a nivel de sistema de archivos como NTFS . [29]
Algunos sistemas operativos que estaban disponibles al mismo tiempo que Windows 9x son multiusuario o tienen múltiples cuentas de usuario con diferentes privilegios de acceso, lo que permite que los archivos importantes del sistema (como la imagen del núcleo) sean inmutables en la mayoría de las cuentas de usuario. Por el contrario, si bien Windows 95 y los sistemas operativos posteriores ofrecen la opción de tener perfiles para múltiples usuarios, no tienen el concepto de privilegios de acceso, lo que los hace aproximadamente equivalentes a un sistema operativo de un solo usuario y una sola cuenta; esto significa que todos los procesos pueden modificar todos los archivos del sistema que no estén abiertos, además de poder modificar el sector de arranque y realizar otras modificaciones de bajo nivel en el disco duro. Esto permite que los virus y otro software instalado clandestinamente se integren con el sistema operativo de una manera que es difícil de detectar o deshacer para los usuarios comunes. La compatibilidad con perfiles en la familia Windows 9x está pensada únicamente para conveniencia; a menos que se modifiquen algunas claves del registro, se puede acceder al sistema presionando "Cancelar" al iniciar sesión, incluso si todos los perfiles tienen una contraseña. El cuadro de diálogo de inicio de sesión predeterminado de Windows 95 también permite crear nuevos perfiles de usuario sin tener que iniciar sesión primero.
Los usuarios y el software pueden hacer que el sistema operativo no funcione eliminando o sobrescribiendo archivos importantes del sistema en el disco duro. Los usuarios y el software también tienen la libertad de cambiar los archivos de configuración de tal manera que el sistema operativo no pueda arrancar o funcionar correctamente. Este fenómeno no es exclusivo de Windows 9x; muchos otros sistemas operativos también son susceptibles a estas vulnerabilidades, ya sea por virus, malware o por el consentimiento del usuario.
El software de instalación solía reemplazar y eliminar archivos del sistema sin verificar adecuadamente si el archivo todavía estaba en uso o si era una versión más nueva. Esto creó un fenómeno conocido como el infierno de las DLL . Windows Me introdujo la Protección de archivos del sistema y la Restauración del sistema para solucionar problemas comunes causados por este problema.
Windows 9x ofrece seguridad de control de acceso a nivel de recurso compartido para compartir archivos e impresoras, así como control de acceso a nivel de usuario si hay un sistema operativo basado en Windows NT disponible en la red. [30] Por el contrario, los sistemas operativos basados en Windows NT sólo ofrecen control de acceso a nivel de usuario pero integrado con el mecanismo de seguridad de cuenta de usuario del propio sistema operativo.
Los controladores de dispositivos en Windows 9x pueden ser controladores de dispositivos virtuales o (a partir de Windows 98) controladores WDM. Los VxD suelen tener la extensión de nombre de archivo .vxd
o .386
, mientras que los controladores compatibles con WDM suelen utilizar la extensión .sys
. El servidor de mensajes VxD de 32 bits (msgsrv32) es un programa que puede cargar controladores de dispositivos virtuales (VxD) al inicio y luego gestionar la comunicación con los controladores. Además, el servidor de mensajes realiza varias funciones en segundo plano, incluida la carga del shell de Windows (como Explorer.exe o Progman.exe ). [31]
Otro tipo de controladores de dispositivos son .DRV
los controladores. Estos controladores tienen el formato New Executable y se cargan en modo de usuario. Se utilizan habitualmente para controlar dispositivos como, por ejemplo, dispositivos multimedia. Para proporcionar acceso a estos dispositivos, se requiere una biblioteca de vínculos dinámicos (como MMSYSTEM.DLL).
Windows 9x mantiene la compatibilidad con versiones anteriores de muchos controladores creados para Windows 3.x y MS-DOS. El uso de controladores MS-DOS puede limitar el rendimiento y la estabilidad debido al uso de memoria convencional y la necesidad de ejecutarse en modo real, lo que requiere que la CPU entre y salga del modo protegido.
Los controladores escritos para Windows 9x se cargan en el mismo espacio de direcciones que el núcleo. Esto significa que los controladores pueden, por accidente o por diseño, sobrescribir secciones críticas del sistema operativo. Hacerlo puede provocar fallos del sistema, congelamientos y daños en el disco. Los controladores defectuosos del sistema operativo eran una fuente de inestabilidad para el sistema operativo. Otros núcleos monolíticos e híbridos , como Linux y Windows NT , también son susceptibles a que los controladores funcionen mal y obstaculicen el funcionamiento del núcleo.
A menudo, los desarrolladores de software de controladores y aplicaciones no tenían suficiente experiencia en la creación de programas para el "nuevo" sistema, lo que provocaba muchos errores que los usuarios describían generalmente como "errores del sistema", incluso si el error no estaba causado por partes de Windows o DOS. Como resultado, Microsoft ha rediseñado repetidamente la arquitectura de controladores de Windows desde el lanzamiento de Windows 95.
Windows 9x no tiene soporte nativo para hyper-threading , prevención de ejecución de datos , multiprocesamiento simétrico , APIC o procesadores multinúcleo .
Windows 9x no tiene soporte nativo para adaptadores de bus host SATA (y tampoco lo tienen Windows 2000 ni Windows XP), o unidades USB (excepto Windows Me). Sin embargo, hay muchos controladores SATA-I para los que existen controladores de Windows 98/Me (y de hecho Windows 2000 y Windows XP también proporcionaron soporte SATA a través de controladores de terceros), y se ha agregado soporte de almacenamiento masivo USB a Windows 95 OSR2 y Windows 98 a través de controladores de terceros. [32] [33] El soporte de controladores de hardware para Windows 98/Me comenzó a declinar en 2005, más notablemente en chipsets de placa base y tarjetas de video .
Las primeras versiones de Windows 95 no admitían aceleración USB o AGP (incluida la falta de compatibilidad con infrarrojos para Windows 95 RTM). Windows 95 admitía de manera preliminar los CD-ROM ATAPI , pero su implementación presentaba errores. Windows 95 anterior a OSR2 también admitía de manera deficiente los procesadores que implementaban MMX , así como los procesadores basados en la microarquitectura P6 .
Windows 95 fue capaz de reducir el papel de MS-DOS en Windows mucho más de lo que se había hecho en Windows 3.1x y versiones anteriores. Según el desarrollador de Microsoft Raymond Chen, MS-DOS cumplía dos funciones en Windows 95: como cargador de arranque y como capa de controlador de dispositivo heredado de 16 bits. [34]
Cuando se inicia Windows 95, MS-DOS carga, procesa CONFIG.SYS , lanza COMMAND.COM , ejecuta AUTOEXEC.BAT y finalmente ejecuta WIN.COM . El programa WIN.COM usa MS-DOS para cargar el administrador de máquinas virtuales, leer SYSTEM.INI, cargar los controladores de dispositivos virtuales y luego apagar cualquier copia en ejecución de EMM386 y cambiar al modo protegido. Una vez en modo protegido, los controladores de dispositivos virtuales ( VxD ) transfieren toda la información de estado de MS-DOS al administrador del sistema de archivos de 32 bits y luego apagan MS-DOS. Estos VxD permiten que Windows 9x interactúe con los recursos de hardware directamente, ya que proporciona funcionalidades de bajo nivel como acceso a disco de 32 bits y administración de memoria. Todas las operaciones futuras del sistema de archivos se enrutarían al administrador del sistema de archivos de 32 bits. [34] En Windows Me , win.com ya no se ejecutaba durante el proceso de inicio; en su lugar, iba directamente a ejecutar VMM32.VXD desde IO.SYS.
El segundo papel de MS-DOS (como la capa de controlador de dispositivo heredado de 16 bits) era el de herramienta de compatibilidad con versiones anteriores para ejecutar programas DOS en Windows. Muchos programas y controladores de dispositivo MS-DOS interactuaban con DOS de forma de bajo nivel, por ejemplo, mediante la aplicación de parches a interrupciones de bajo nivel del BIOS, como int 13h , la interrupción de E/S de disco de bajo nivel. Cuando un programa realizaba una llamada int 21h para acceder a MS-DOS, la llamada se dirigía primero al administrador del sistema de archivos de 32 bits, que intentaba detectar este tipo de parches. Si detectaba que el programa había intentado conectarse a DOS, volvería al código de 16 bits para permitir que se ejecutara el enlace. Anteriormente, CONFIG.SYS habría cargado un controlador de 16 bits llamado IFSMGR.SYS, cuyo trabajo era enganchar primero a MS-DOS antes de que los otros controladores y programas tuvieran la oportunidad, y luego saltar del código de 16 bits nuevamente al código de 32 bits, cuando el programa DOS hubiera terminado, para permitir que el administrador del sistema de archivos de 32 bits continuara su trabajo. [34] Según el desarrollador de Windows Raymond Chen , " MS-DOS era simplemente un señuelo extremadamente elaborado. Cualquier controlador y programa de 16 bits parchearía o engancharía lo que pensaba que era el MS-DOS real, pero que en realidad era solo un señuelo. Si el administrador del sistema de archivos de 32 bits detectaba que alguien había comprado el señuelo, le decía que graznara " . [34]
Windows 9x puede ejecutar aplicaciones MS-DOS dentro de sí mismo utilizando un método llamado "Virtualización", donde una aplicación se ejecuta en una máquina DOS virtual .
Windows 95 y Windows 98 también ofrecen compatibilidad con versiones anteriores para aplicaciones DOS, ya que permiten arrancar en un "Modo DOS" nativo (MS-DOS se puede arrancar sin arrancar Windows, pero sin poner la CPU en modo protegido). A través de los administradores de memoria de Windows 9x y otras mejoras posteriores a DOS, se mejora el rendimiento y la funcionalidad general del sistema. Es posible que algunas aplicaciones o juegos antiguos no se ejecuten correctamente en el entorno DOS virtual dentro de Windows y requieran el Modo DOS real.
El hecho de tener un modo de línea de comandos fuera de la interfaz gráfica de usuario también ofrece la posibilidad de corregir determinados errores del sistema sin tener que entrar en la interfaz gráfica de usuario. Por ejemplo, si un virus está activo en el modo GUI, a menudo se puede eliminar de forma segura en el modo DOS, borrando sus archivos, que suelen estar bloqueados mientras están infectados en Windows. De forma similar, los archivos de registro, los archivos de sistema o los archivos de arranque dañados se pueden restaurar desde el modo DOS real. Windows 95 y Windows 98 se pueden iniciar desde el modo DOS escribiendo 'WIN'
en el símbolo del sistema y pulsando "Enter", de forma similar a las versiones anteriores de Windows, como Windows 3.1.
Los usuarios pueden controlar un sistema basado en Windows 9x a través de una interfaz de línea de comandos (o CLI) o una interfaz gráfica de usuario (o GUI). El modo predeterminado para Windows suele ser la interfaz gráfica de usuario, mientras que la CLI está disponible a través de las ventanas de MS-DOS . La GUI proporciona un medio para controlar la ubicación y la apariencia de las ventanas de aplicaciones individuales e interactúa con el sistema de ventanas.
El GDI , que forma parte de los subsistemas Win32 y Win16, también es un módulo que se carga en modo de usuario , a diferencia de Windows NT, donde el GDI se carga en modo de núcleo . La composición alfa y, por lo tanto , los efectos de transparencia , como los efectos de desvanecimiento en los menús, no son compatibles con el GDI en Windows 9x, a diferencia de las versiones de Windows NT desde Windows 2000.
El Explorador de Windows es la interfaz de usuario predeterminada para la GUI; sin embargo, existen varios reemplazos adicionales del shell de Windows . Otras GUI incluyen LiteStep , bbLean y Program Manager .
La gran popularidad de la serie Windows 9x dio lugar a que en la década de 2010 se crearan varios proyectos basados en la web que apuntaban a replicar la apariencia de Windows 9x (y, de hecho, de un sistema operativo real en su conjunto) en un solo navegador web.
Windows 93 (estilizado como "WINDOWS93" en el título) es un sitio web de parodia creado por dos músicos y programadores franceses que se hacen llamar Jankenpopp y Zombectro. Diseñado para verse y sentirse como un sistema operativo real, también es una parodia de la serie Windows 9x. Presenta varias aplicaciones web que hacen referencia y presentan varios memes de Internet desde fines de la década de 1990 hasta principios de la década de 2000. [35]
EmuOS es otro sitio web que pretende replicar la apariencia de Windows 9x en su totalidad, presentando 3 temas basados en todas las principales versiones de Windows 9x, desde Windows 95 hasta Windows Me. Fue creado por Emupedia, un sitio basado en la comunidad de preservación de videojuegos e historia de la computadora, y fue diseñado para ejecutar juegos y aplicaciones retro dentro de un navegador web. El sitio de parodia de Windows 93 mencionado anteriormente también aparece. [36]
Windows 98 se ha recreado en formato web bajo el nombre 98.js (también conocido como Windows 98 Online). Presentaba versiones web de varias aplicaciones clásicas de Windows. [37] [38]