Architecture of Windows 9x

Source: Wikipedia, the free encyclopedia.

The Windows 95 architecture[clarification needed]

The Windows 9x series of operating systems refers to the monolithic kernel which powers these operating systems. The basic code is similar in function to MS-DOS. As a 16-/32-bit hybrid, it requires support from MS-DOS to operate.

Critical files

Windows 95 boots using the following set of files:[1]

32-bit shell and command line interpreter:

Windows 95 core:

Registry and other configuration files:

Virtual Machine Manager and configuration manager:

  • VMM32.VXD
    - Virtual machine manager and default drivers. It takes over from io.sys as kernel

Installable file System Manager:

  • IFSHLP.SYS
    - Enables Windows to make direct file system calls; bypassing MS-DOS methods
  • IFSMGR.VXD - 32-bit driver for the installable file system
  • IOS.VXD - I/O supervisor that controls and manages all protected-mode file system and block device drivers
  • MPREXE.EXE, MPRSERV.DLL and MPR.DLL - Multiple Provider Router for network authentication and user profiles
  • MSPWL32.DLL - Password list management library

Device drivers:

The system may also use

Windows ME, CONFIG.SYS and AUTOEXEC.BAT are not processed and LOGO.SYS
may be used as a splash screen.

Boot sequence

The Windows 9x startup process consists of 6 phases. The first two of these steps are common to any

Master Boot Record
.

Phase 1 - The ROM BIOS bootstrap process

The

Plug and Play
devices, disables found devices, creates maps of used and unused resources and re-enables devices.

Phase 2 - The master boot record and boot sector

The

BIOS Parameter Block
table which searches for the location of the root directory and IO.SYS file, which then loads the IO.SYS file into memory.

Phase 3 - IO.SYS file initialisation

DBLSPACE.INI
file exists, it also loads drivers for compressed disks. Windows then attempts to open the registry file SYSTEM.DAT. If that fails, it attempts to open SYSTEM.DA0. If configured in MSDOS.SYS or in the registry, double buffering is also enabled.

Phase 4 - CONFIG.SYS and real mode configuration

Windows 95 and Windows 98 now analyse CONFIG.SYS and load MS-DOS real mode drivers. Windows ME ignores this. If the CONFIG.SYS file does not exist, the IO.SYS file loads the drivers

upper memory blocks for Windows 95 operating system use or for expanded memory
. Windows 95 and 98 execute
terminate and stay resident
programs into memory. Windows ME ignores this step, as Real Mode DOS support is disabled and TSRs being loaded can compromise system stability.

Phase 5 - Initialise drivers

IO.SYS now runs

VMM32.VXD
file into memory or accesses it from the hard disk. This file contains the most important drivers and the 9x kernel. The real-mode
virtual device driver loader checks for duplicate virtual device drivers that exist both in the Windows\System\Vmm32 folder and the VMM32.VXD file. In a case of duplicates, the driver in the Windows\System\Vmm32 directory will be loaded.

Windows 95 to 98 now query real mode drivers calling INT 2Fh and search for drivers in registry entry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD marked to be loaded as an external file. Vmm32 then analyzes the [386 Enh] section of the Windows\System.ini file and loads drivers listed there. Some important drivers are loaded even if they are not listed in the Windows Registry, SYSTEM.INI or in the Windows\System\Vmm32 directory.

Once the real-mode virtual device drivers are loaded, driver initialisation on Windows 95 and 98 occurs. Vmm32 then switches the CPU from real mode to protected mode. The next step is the initialisation of protected mode drivers, executed in three phases for each device: a critical part of initialisation (while interrupts are disabled), device initialisation (when file I/O is allowed) and InitComplete phase. After initialisation of the display driver, Windows switches to graphical mode.

Phase 6 - Win32 initialisation

Once all of the drivers are loaded, the

Explorer.exe files are loaded. The next step in the startup process is to load the network environment. The user is prompted to log on to the network that is configured. When a user logs on, their desktop settings are loaded from the registry, or the desktop configuration uses a default desktop. Windows then starts programs defined in the StartUp folder, WIN.INI
and programs defined in registry keys Run, RunOnce, RunServices and RunServicesOnce inside the branches HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\. After each program in the RunOnce registry key is started, the program is removed from the key.

Kernel

The Windows 9x kernel is a 32-bit kernel with virtual memory. Drivers are provided by .VXD files or, since Windows 98, the newer WDM drivers can be used.[2] However, the MS-DOS kernel stays resident in memory. Windows will use the old MS-DOS 16-bit drivers if they are installed, except on Windows Me. In Windows Me, DOS is still running, but Windows will ignore any attempt to load its device drivers when parsing the AUTOEXEC.BAT, and will move the environment variables that it still recognizes from the CONFIG.SYS into the Windows Registry.

See also

References

  1. ^ "Windows 95 OSR 2". WinWorld. Retrieved 2022-07-31.
  2. ^ Microsoft (2002-04-15). "Windows Driver Model (WDM)". Microsoft. Archived from the original on 2013-01-18. Retrieved 2016-05-27.

Further reading

External links