![]() | This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
TheWindows 9x series of operating systems refers to a series of Microsoft Windowsoperating systems produced from 1995 to 2000. They are based on the Windows 95 kernel which is amonolithickernel. The basic code is similar in function toMS-DOS. They are 16-/32-bit hybrids and require support fromMS-DOS to operate.
To start up or boot, Windows 95 and other Windows 9x operating systems require 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:
Installable file System Manager:
Device drivers:
The system may also useCONFIG.SYS, which contains settings and commands executed before loading thecommand interpreter andAUTOEXEC.BAT, which is abatch file automatically executed after loadingCOMMAND.COM. However, these two files are not critical to the boot process, asIO.SYS contains a default setting for both, in case of absence from the system. InWindows Me, CONFIG.SYS and AUTOEXEC.BAT are not processed andLOGO.SYS may be used as a splash screen.
The Windows 9x startup process consists of 6 phases. The first two of these steps are common to anyoperating system booting using the traditional combination ofBIOS andMaster Boot Record.
TheROM BIOS starts the execution at the physical memory address 000FFFF0h. During this phase, BIOS first executes thePower-on self-test, then checks for the existence of a boot disk on drive A. If it is not found in drive A, the ROM BIOS checks for a hard disk. If the computer has a Plug and Play BIOS, in addition, BIOS checks the RAM for I/O port addresses, interrupt lines and DMA channels forPlug and Play devices, disables found devices, creates maps of used and unused resources and re-enables devices.
TheMaster boot record is loaded at address 7C00h and loads theboot sector of the WindowsDisk partition. The boot sector contains the disk boot program andBIOS 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.
IO.SYS initialises the minimalFile Allocation Table driver and loadsMSDOS.SYS into memory. It then displays "Starting Windows" depending on the Boot-Delay line in the MSDOS.SYS file. It then loads theLOGO.SYS file and displays astartup image on the screen. If theDRVSPACE.INI orDBLSPACE.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.
Windows 95 andWindows 98 now analyse CONFIG.SYS and load MS-DOSreal mode drivers. Windows Me ignores this.If the CONFIG.SYS file does not exist, the IO.SYS file loads the driversIFSHLP.SYS,HIMEM.SYS andSETVER.EXE. Windows reserves allupper memory blocks for Windows 95 operating system use or forexpanded memory.Windows 95 and 98 executeCOMMAND.COM to process AUTOEXEC.BAT. It loadsterminate 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.
IO.SYS now runsWIN.COM. WIN.COM loads theVMM32.VXD file into memory or accesses it from the hard disk. This file contains the most important drivers and the 9x kernel.The real-modevirtual 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 callingINT 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 theWindows 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 fromreal mode toprotected 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 tographical mode.
Once all of the drivers are loaded, thekernel32.dll,krnl386.exe,gdi32.dll,gdi.exe,user32.dll,user.exe,shell32.dll andexplorer.exe files are loaded. The next step in the startup process is to load thenetwork 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 theStartUp 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.
The Windows 9x kernel is a 32-bit kernel withvirtual memory. Drivers are provided by.VXD files or, since Windows 98, the newerWDM drivers can be used.[2] However, theMS-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.
[...]MS-DOS 7.0+ [...] introduced a [...] for the most part undocumented RMD data structure usually located in theHMA. The kernel collects and records configuration and Real Mode Driver data during boot (type of driver, interrupts hooked by driver,CONFIG.SYS line of invocation, etc.) and stores this information in a [...] complicated [...] growing data structure. Presumably [...] meant to be used by the Windows core to get a better picture of the loaded Real Mode drivers [...] or even attempt to unhook or unload some of them, [...] it is only used to a very limited extent ([...] some of the info reflected in the log files created on [...] startup, and some parts of the [...] configuration manager also make use of it), [...] leaving room [...] beyond the technical side [...] because nothing of the interesting stuff is documented [...]
[…] ANSIPLUS's code cannot be loaded to theHMA underMS-DOS 7 (Windows 9x only) because there apparently is not enough unused HMA memory available. […]
[...] all MS-DOS versions prior to Windows 95 [...] used a COM style COMMAND.COM file which has a special signature at the start of the file [...] queried by the MS-DOS BIOS before it loads the shell, but not by the DR-DOS BIOS [...] COMMAND.COM would [...] check that it is running on the "correct" DOS version, so if you would load their COMMAND.COM under DR-DOS, you would receive a "Bad version" error message and their COMMAND.COM would exit, so DR-DOS would [...] display an error message "Bad or missing command interpreter" (if DR-DOS was trying to load the SHELL= command processor after having finished CONFIG.SYS processing). In this case, you could enter the path to a valid DR-DOS COMMAND.COM (C:\DRDOS\COMMAND.COM) and everything was fine. Now, things have changed since MS-DOS 7.0 [...] COMMAND.COM has internally become an EXE style file, so there is no magic [...] signature [...] to check [...] thus no way for DR-DOS to rule out an incompatible COMMAND.COM. Further, their COMMAND.COM no longer does any version checks, but [...] does not work under DR-DOS [...] just crashes [...] the PC DOS COMMAND.COM works fine under DR-DOS [...][3][4]
{{cite book}}
:|work=
ignored (help){{cite book}}
:|work=
ignored (help){{cite book}}
:|work=
ignored (help)