Articulo de referencia

Arquitectura de Windows 9x

Diagrama arquitectónico de Windows 95 La serie de sistemas operativos Windows 9x se refiere a una serie de sistemas operativos Microsoft Windows producidos entre 1995 y 2000. Se...

Diagrama arquitectónico de Windows 95

La serie de sistemas operativos Windows 9x se refiere a una serie de sistemas operativos Microsoft Windows producidos entre 1995 y 2000. Se basan en el núcleo de Windows 95, que es un núcleo monolítico . El código básico tiene una funcionalidad similar a la de MS-DOS . Son sistemas híbridos de 16 y 32 bits y requieren compatibilidad con MS-DOS para funcionar.

Archivos críticos

Para iniciarse o arrancar, Windows 95 y otros sistemas operativos Windows 9x requieren el siguiente conjunto de archivos: [ 1 ]

intérprete de línea de comandos y shell de 32 bits:

Núcleo de Windows 95:

Archivos de registro y otros archivos de configuración:

Administrador de máquinas virtuales y administrador de configuración:

  • VMM32.VXD : Administrador de máquinas virtuales y controladores predeterminados. Reemplaza a io.sys como kernel.

Administrador del sistema de archivos instalable:

  • IFSHLP.SYS : Permite a Windows realizar llamadas directas al sistema de archivos, evitando los métodos de MS-DOS.
  • IFSMGR.VXD : controlador de 32 bits para el sistema de archivos instalable.
  • IOS.VXD : Supervisor de E/S que controla y gestiona todos los controladores de dispositivos de bloques y sistemas de archivos en modo protegido.
  • MPREXE.EXE , MPRSERV.DLL y MPR.DLL : enrutador de múltiples proveedores para autenticación de red y perfiles de usuario.
  • MSPWL32.DLL – Biblioteca de gestión de listas de contraseñas

Controladores de dispositivos:

El sistema también puede usar CONFIG.SYS , que contiene configuraciones y comandos que se ejecutan antes de cargar el intérprete de comandos , y AUTOEXEC.BAT , que es un archivo por lotes que se ejecuta automáticamente después de cargar COMMAND.COM . Sin embargo, estos dos archivos no son críticos para el proceso de arranque, ya que IO.SYS contiene una configuración predeterminada para ambos, en caso de que no estén presentes en el sistema. En Windows Me , CONFIG.SYS y AUTOEXEC.BAT no se procesan y LOGO.SYS puede usarse como pantalla de inicio.

Secuencia de arranque

El proceso de inicio de Windows 9x consta de 6 fases. Los dos primeros pasos son comunes a cualquier sistema operativo que arranque utilizando la combinación tradicional de BIOS y Master Boot Record .

Fase 1 – El proceso de arranque de la BIOS ROM

La BIOS ROM inicia la ejecución en la dirección de memoria física 000FFFF0h. Durante esta fase, la BIOS primero ejecuta la autoprueba de encendido y luego verifica la existencia de un disco de arranque en la unidad A. Si no lo encuentra en la unidad A, la BIOS ROM busca un disco duro. Si el equipo tiene una BIOS Plug and Play, además, la BIOS verifica la RAM en busca de direcciones de puertos de E/S, líneas de interrupción y canales DMA para dispositivos Plug and Play , desactiva los dispositivos encontrados, crea mapas de recursos usados ​​y no usados ​​y vuelve a habilitar los dispositivos.

Fase 2 – El registro de arranque maestro y el sector de arranque

El registro de arranque maestro se carga en la dirección 7C00h y carga el sector de arranque de la partición del disco de Windows . El sector de arranque contiene el programa de arranque del disco y la tabla de bloques de parámetros del BIOS , que busca la ubicación del directorio raíz y el archivo IO.SYS, y luego carga el archivo IO.SYS en la memoria.

Fase 3 – Inicialización del archivo IO.SYS

IO.SYS inicializa el controlador mínimo de la tabla de asignación de archivos y carga MSDOS.SYS en la memoria. A continuación, muestra "Iniciando Windows" según la línea Boot-Delay del archivo MSDOS.SYS. Luego carga el archivo LOGO.SYS y muestra una imagen de inicio en la pantalla. Si existen los archivos DRVSPACE.INI o DBLSPACE.INI , también carga los controladores para discos comprimidos. Windows intenta abrir el archivo de registro SYSTEM.DAT. Si falla, intenta abrir SYSTEM.DA0. Si está configurado en MSDOS.SYS o en el registro, también se habilita el doble búfer.

Fase 4 – CONFIG.SYS y configuración en modo real

Windows 95 y Windows 98 analizan CONFIG.SYS y cargan los controladores de modo real de MS-DOS . Windows Me ignora esto. Si el archivo CONFIG.SYS no existe, el archivo IO.SYS carga los controladores IFSHLP.SYS , HIMEM.SYS y SETVER.EXE . Windows reserva todos los bloques de memoria superiores para el uso del sistema operativo Windows 95 o para memoria expandida . Windows 95 y 98 ejecutan COMMAND.COM para procesar AUTOEXEC.BAT. Carga programas residentes de terminación y permanencia en la memoria. Windows Me ignora este paso, ya que la compatibilidad con el modo real de DOS está deshabilitada y la carga de TSR puede comprometer la estabilidad del sistema.

Fase 5: Inicializar controladores

IO.SYS ahora ejecuta WIN.COM . WIN.COM carga el archivo VMM32.VXD en la memoria o accede a él desde el disco duro. Este archivo contiene los controladores más importantes y el núcleo 9x. El cargador de controladores de dispositivos virtuales en modo real comprueba si existen controladores duplicados tanto en la carpeta Windows\System\Vmm32 como en el archivo VMM32.VXD. En caso de duplicados, se cargará el controlador que se encuentra en la carpeta Windows\System\Vmm32.

Windows 95 a 98 ahora consulta los controladores en modo real llamando a INT 2Fh y busca controladores en la entrada del registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD marcada para cargarse como un archivo externo. Luego, Vmm32 analiza la sección [386 Enh] del archivo Windows\System.ini y carga los controladores que aparecen allí. Algunos controladores importantes se cargan incluso si no aparecen en el Registro de Windows , SYSTEM.INI o en el directorio Windows\System\Vmm32.

Una vez cargados los controladores de dispositivos virtuales en modo real, se produce la inicialización del controlador en Windows 95 y 98. A continuación, Vmm32 cambia la CPU del modo real al modo protegido . El siguiente paso es la inicialización de los controladores en modo protegido, que se ejecuta en tres fases para cada dispositivo: una parte crítica de la inicialización (mientras las interrupciones están deshabilitadas), la inicialización del dispositivo (cuando se permite la E/S de archivos) y la fase InitComplete. Tras la inicialización del controlador de pantalla, Windows cambia al modo gráfico .

Fase 6 – Inicialización de Win16 y Win32

Una vez cargados todos los controladores, se cargan los módulos Win16 ( krnl386.exe , gdi.exe , user.exe ), los módulos Win32 ( kernel32.dll , gdi32.dll , user32.dll , shell32.dll , etc.) y los archivos explorer.exe . El siguiente paso en el proceso de inicio es cargar el entorno de red . Se le pide al usuario que inicie sesión en la red configurada. Cuando un usuario inicia sesión, se cargan sus ajustes de escritorio desde el registro, o la configuración del escritorio utiliza un escritorio predeterminado. Luego, Windows inicia los programas definidos en la carpeta StartUp , WIN.INI y los programas definidos en las claves de registro Run, RunOnce, RunServices y RunServicesOnce dentro de las ramas HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion y HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\. Después de que se inicia cada programa en la clave de registro RunOnce, el programa se elimina de la clave.

Núcleo

Windows 9x utiliza una arquitectura híbrida de 16 y 32 bits. Si bien el Administrador de máquinas virtuales (VMM) y muchos componentes principales (como los controladores virtuales y los controladores WDM ) [ 2 ] se ejecutan en modo protegido de 32 bits, el sistema conserva varios subsistemas esenciales de 16 bits heredados de versiones anteriores de Windows (incluidos USER.EXE, GDI.EXE y KRNL386.EXE). El sistema operativo también depende de un componente residente de MS-DOS durante el arranque y la ejecución, y utiliza capas de procesamiento diferido para permitir la interoperabilidad del código de 16 y 32 bits. Debido a este diseño, Windows 9x no puede describirse como un núcleo completamente de 32 bits; es un híbrido de transición destinado a mantener la compatibilidad con aplicaciones heredadas de Windows y DOS.

Véase también

Referencias

  1. "Windows 95 OSR 2" . WinWorld . Consultado el 31 de julio de 2022 .
  2. Microsoft (15 de abril de 2002). "Modelo de controlador de Windows (WDM)" . Microsoft . Archivado del original el 18 de enero de 2013. Consultado el 27 de mayo de 2016 .

Lecturas adicionales

  • Schulman, Andrew (noviembre de 1994). Windows 95 no autorizado: Kit de recursos para desarrolladores (1.ª  ed.). Foster City, California, EE. UU.: John Wiley & Sons, Inc. ISBN 1-56884-305-4ISBN 978-1-56884-305-6.
  • Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [noviembre de 1993]. Undocumented DOS: Guía del programador para funciones y estructuras de datos reservadas de MS-DOS, ampliada para incluir MS-DOS 6, Novell DOS y Windows 3.1 (2.ª  ed.). Reading, Massachusetts: Addison Wesley . ISBN 0-201-63287-XISBN 978-0-201-63287-3.(xviii+856+vi páginas, disquete de 3,5") Erratas:
  • Paul, Matthias R. (2002-04-10). " [ fd-dev ] Acceso a HMA desde TSR" . freedos-dev . Recuperado el 09-09-2017 . [...] MS-DOS 7.0 + [...] introdujo una [...] estructura de datos RMD en su mayor parte indocumentada, generalmente ubicada en el HMA . El kernel recopila y registra datos de configuración y del controlador en modo real durante el arranque (tipo de controlador, interrupciones interceptadas por el controlador, línea de invocación de CONFIG.SYS , etc.) y almacena esta información en una [...] compleja [...] estructura de datos en crecimiento. Presumiblemente [...] destinada a ser utilizada por el núcleo de Windows para obtener una mejor imagen de los controladores en modo real cargados [...] o incluso intentar desinterceptar o descargar algunos de ellos, [...] solo se utiliza en una medida muy limitada ([...] parte de la información se refleja en los archivos de registro creados al [...] inicio, y algunas partes del [...] administrador de configuración también la utilizan), [...] dejando espacio [...] más allá del aspecto técnico [...] porque nada de lo interesante está documentado [...]{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • Pablo, Matías R. (13 de agosto de 2002). "Suche freien Speicherbereich unterhalb von 1 MB, der nicht von OS überschrieben wird" (en alemán). Grupo de noticias : de.comp.lang.assembler.x86 . Consultado el 3 de septiembre de 2017 . {{cite newsgroup}}: CS1 maint: servicio de archivado obsoleto ( enlace ) (Nota: También en MS-DOS 7+ uso de HMA y \WINDOWS\IOS.LOG.)
  • Sweger, Kristofer (2007) [15/07/2002]. "ANSIPLUS y Windows" . Archivado del original el 28/11/2021 . Recuperado el 28/11/2021 . […] El código de ANSIPLUS no se puede cargar en la HMA bajo MS-DOS 7 (solo Windows 9x) porque aparentemente no hay suficiente memoria HMA sin usar disponible. […]
  • Paul, Matthias R. (17-06-2004). "Re: Bloqueos aleatorios con DR-DOS 7.03" . opendos@delorie.com; Conferencia FidoNet : ALT_DOS . Recuperado el 28-04-2019 . [...] todas las versiones de MS-DOS anteriores a Windows 95 [...] usaban un archivo COMMAND.COM de estilo COM que tiene una firma especial al principio del archivo [...] consultado por la BIOS de MS-DOS antes de cargar el shell, pero no por la BIOS de DR-DOS [...] COMMAND.COM [...] comprobaría que se está ejecutando en la versión "correcta" de DOS, por lo que si cargara su COMMAND.COM bajo DR-DOS, recibiría un mensaje de error de "Versión incorrecta" y su COMMAND.COM saldría, por lo que DR-DOS [...] mostraría un mensaje de error "Intérprete de comandos incorrecto o faltante" (si DR-DOS estuviera intentando cargar el procesador de comandos SHELL= después de haber terminado el procesamiento de CONFIG.SYS). En este caso, se podía introducir la ruta a un archivo DR-DOS COMMAND.COM válido (C:\DRDOS\COMMAND.COM) y todo funcionaba correctamente. Ahora bien, las cosas han cambiado desde MS-DOS 7.0 [...] COMMAND.COM se ha convertido internamente en un archivo de estilo EXE, por lo que no hay ninguna firma mágica [...] que comprobar [...] y, por lo tanto, DR-DOS no tiene forma de descartar un COMMAND.COM incompatible. Además, su COMMAND.COM ya no realiza ninguna comprobación de versión, sino que [...] no funciona en DR-DOS [...] simplemente se bloquea [...] el COMMAND.COM de PC DOS funciona correctamente en DR-DOS [...]{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • King, Adrian (1994). Inside Microsoft Windows 95 (2.ª  ed.). Redmond, Washington, EE. UU.: Microsoft Press . ISBN 1-55615-626-XISBN 978-1-55615-626-7.
  • Guía del programador para Microsoft Windows 95: Temas clave sobre programación para Windows del equipo de desarrollo de Microsoft Windows (1.ª ed.). Redmond, Washington, EE. UU.: Microsoft Press . 1 de julio de 1995. ISBN 1-55615-834-3ISBN 978-1-55615-834-6. Consultado el 26 de mayo de 2016 .{{cite book}}: |work=ignorado ( ayuda )
  • Oney, Walter (1995). Programación de sistemas para Windows 95 (1.ª  ed.). Redmond, Washington, EE. UU.: Microsoft Press . ISBN 1-55615-949-8ISBN 978-1-55615-949-7.
  • Pietrek, Matt (noviembre de 1995). Secretos de programación del sistema Windows 95. Serie Secretos (1.ª  ed.). John Wiley & Sons, Inc. ISBN 1-56884-318-6ISBN 978-156884-318-6. Consultado el 26 de mayo de 2016 .
  • Hazzah, Karen (1997). Escritura de controladores de dispositivos y VxD de Windows: secretos de programación para controladores de dispositivos virtuales (2.ª reimpresión, 2.ª  ed.). Lawrence, Kansas, EE. UU.: Miller Freeman, Inc. ISBN 0-87930-438-3ISBN 978-0-87930-438-6.
  • Mitchell, Stan (11 de mayo de 1997). Schulman, Andrew (ed.). Inside the Windows 95 File System . Nutshell handbooks (1.ª  ed.). Sebastopol, California, EE. UU.: O'Reilly & Associates, Inc. ISBN 1-56592-200-XISBN 978-1-56592-200-6. Consultado el 26 de mayo de 2016 .
  • Microsoft (2014-02-20). "Componentes de arquitectura de Windows 95" . Microsoft . Archivado del original el 17-10-2014 . Recuperado el 27-05-2016 .
  • Microsoft (15 de noviembre de 2006). "Descripción del proceso de inicio de Windows 95" . 1.1. Microsoft . Q174018. Archivado del original el 14 de febrero de 2014. Consultado el 27 de mayo de 2016 .
  • Microsoft (26/10/2013). "Understanding Win16Mutex" . 5.0. Microsoft . KB125867. Q125867. Archivado del original el 16/01/2014 . Consultado el 27/05/2016 .