HOME

TheInfoList



OR:

The
Windows 9x Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems released from 1995 to 2000 and supported until 2006, which were based on the kernel introduced in Windows 95 and modified in succeeding version ...
series of operating systems refers to a series of Microsoft Windows
operating systems An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
produced from 1995 to 2000. They are based on the Windows 95 kernel which is a
monolithic A monolith is a monument or natural feature consisting of a single massive stone or rock. Monolith or monolithic may also refer to: Architecture * Monolithic architecture, a style of construction in which a building is carved, cast or excavated f ...
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
. The basic code is similar in function to
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
. They are 16-/32-bit hybrids and require support from
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
to operate.


Critical files

To start up or boot, Windows 95 and other Windows 9x operating systems require the following set of files: 32-bit shell and command line interpreter: * SHELL.DLL and SHELL32.DLL – Shell API *
EXPLORER.EXE File Explorer, previously known as Windows Explorer, is a file manager application and default desktop environment that is included with releases of the Microsoft Windows operating system from Windows 95 onwards. It provides a graphical user i ...
– Windows shell and file manager * COMMAND.COM – Command line
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses Science Biology * Seashell, a hard outer layer of a marine ani ...
executable Windows 95 core: * KERNEL32.DLL and KRNL386.EXE – Windows API for Windows resources *
ADVAPI32.DLL The Microsoft Windows operating system and Microsoft Windows SDK support a collection of shared libraries that software can use to access the Windows API. This article provides an overview of the core libraries that are included with every modern ...
– Functionality additional to the kernel with included functions for the Windows registry and shutdown and restart functions * GDI32.DLL and GDI.EXE – Graphic device interface * USER32.DLL and USER.EXE – GUI implementation * COMMCTRL.DLL and COMCTL32.DLL – Common controls (user interface) * DDEML.DLL Dynamic Data Exchange Management Library (DDEML) – Provides an interface that simplifies the task of adding DDE capability to an application * MSGSRV32.EXE – Acts as a 32-bit message server and will never appear in the Windows task list * WIN.COM – Responsible for loading the GUI and the Windows portion of the system Registry and other configuration files: * SYSTEM.DAT, USER.DAT – Contains the
Windows Registry The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, a ...
* MSDOS.SYS – Contains some low-level
boot A boot is a type of footwear. Most boots mainly cover the foot and the ankle, while some also cover some part of the lower calf. Some boots extend up the leg, sometimes as far as the knee or even the hip. Most boots have a heel that is clearl ...
settings and resources such as disabling double-buffering and the GUI logo * WIN.INI and SYSTEM.INI – Configuration files from Windows 3.1 which are processed in Windows 9x also Virtual Machine Manager and configuration manager: *
VMM32.VXD Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems released from 1995 to 2000 and supported until 2006, which were based on the kernel introduced in Windows 95 and modified in succeeding version ...
– Virtual machine manager and default drivers. It takes over from io.sys as kernel Installable file System Manager: *
IFSHLP.SYS The Installable File System (IFS) is a filesystem API in MS-DOS/PC DOS 4.x, IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load software driver, drivers for file systems. History When IBM and Microsoft were co- ...
– 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: * IO.SYS – Executable handling all of the basic functions, such as I/O routines and also serves as kernel until vmm32.vxd takes over * HIMEM.SYS – DOS device driver which allows DOS programs to store data in extended memory via the Extended Memory Specification * SYSTEM.DRV, MMSOUND.DRV, COMM.DRV, VGA.DRV, MOUSE.DRV, BIGMEM.DRV, KEYBOARD.DRV – 16-bit drivers * CP 1252.NLS, CP 437.NLS, UNICODE.NLS, LOCALE.NLS – Keyboard layouts * RMM.PDR – Real Mode Mapper Virtual Device The system may also use CONFIG.SYS, which contains settings and commands executed before loading the command interpreter and AUTOEXEC.BAT, which is a
batch file A batch file is a Scripting language, script file in DOS, OS/2 and Microsoft Windows. It consists of a series of Command (computing), commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain a ...
automatically executed after loading COMMAND.COM. However, these two files are not critical to the boot process, as IO.SYS contains a default setting for both, in case of absence from the system. In
Windows Me Windows Me (Millennium Edition) is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the successor to Windows 98, and was released to manufacturing on June 19, 2000, and t ...
, 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
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
booting using the traditional combination of
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is a type of firmware used to provide runtime services for operating systems and programs and to perform hardware initialization d ...
and
Master Boot Record A master boot record (MBR) is a type of boot sector in the first block of disk partitioning, partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept ...
.


Phase 1 – The ROM BIOS bootstrap process

The ROM BIOS starts the execution at the physical memory address 000FFFF0h. During this phase, BIOS first executes the
Power-on self-test A power-on self-test (POST) is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on. POST processes may set the initial state of the device from firmware and detec ...
, 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 for
Plug and Play In computing, a plug and play (PnP) device or computer bus is one with a specification that facilitates the recognition of a hardware component in a system without the need for physical device configuration or user intervention in resolving reso ...
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
Master boot record A master boot record (MBR) is a type of boot sector in the first block of disk partitioning, partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept ...
is loaded at address 7C00h and loads the
boot sector A boot sector is the disk sector, sector of a persistent data storage device (e.g., hard disk, floppy disk, optical disc, etc.) which contains machine code to be loaded into random-access memory (RAM) and then executed by a computer system's bui ...
of the Windows
Disk partition Disk partitioning or disk slicing is the creation of one or more regions on Computer data storage#Secondary storage, secondary storage, so that each region can be managed separately. These regions are called partitions. It is typically the first ...
. The boot sector contains the disk boot program and
BIOS Parameter Block In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the volume boot record (VBR) describing the physical layout of a data storage volume. On partitioned devices, such as hard disks, the BPB describes the volume ...
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

IO.SYS initialises the minimal
File Allocation Table File Allocation Table (FAT) is a file system developed for personal computers and was the default file system for the MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on Ha ...
driver and loads MSDOS.SYS into memory. It then displays "Starting Windows" depending on the Boot-Delay line in the MSDOS.SYS file. It then loads the LOGO.SYS file and displays a startup image on the screen. If the
DRVSPACE.INI DriveSpace (initially known as DoubleSpace) is a disk compression utility supplied with MS-DOS starting from MS-DOS 6.0, version 6.0 in 1993 and ending in 2000 with the release of Windows Me. The purpose of DriveSpace is to increase the amount ...
or 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 Windows 95 is a consumer-oriented operating system developed by Microsoft and the first of its Windows 9x family of operating systems, released to manufacturing on July 14, 1995, and generally to retail on August 24, 1995. Windows 95 merged ...
and
Windows 98 Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
now analyse CONFIG.SYS and load MS-DOS
real mode Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20- bit s ...
drivers. Windows Me ignores this. If the CONFIG.SYS file does not exist, the IO.SYS file loads the drivers
IFSHLP.SYS The Installable File System (IFS) is a filesystem API in MS-DOS/PC DOS 4.x, IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load software driver, drivers for file systems. History When IBM and Microsoft were co- ...
, HIMEM.SYS and SETVER.EXE. Windows reserves all upper memory blocks for Windows 95 operating system use or for
expanded memory In DOS memory management, expanded memory is a system of bank switching that provided additional memory to DOS programs beyond the limit of conventional memory (640 KiB). ''Expanded memory'' is an umbrella term for several incompatible tech ...
. Windows 95 and 98 execute COMMAND.COM to process AUTOEXEC.BAT. It loads
terminate and stay resident A terminate-and-stay-resident program (commonly TSR) is a computer program running under DOS that uses a system call to return control to DOS as though it has finished, but remains in computer memory so it can be reactivated later. This technique ...
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 WIN.COM. WIN.COM loads the
VMM32.VXD Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems released from 1995 to 2000 and supported until 2006, which were based on the kernel introduced in Windows 95 and modified in succeeding version ...
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 86 Enhsection 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 The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, a ...
, 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 Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20- bit s ...
to
protected mode In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as Memory_segmentation, segmentation, virtual mem ...
. 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 kernel32.dll, krnl386.exe, gdi32.dll, gdi.exe, user32.dll, user.exe, shell32.dll and
explorer.exe File Explorer, previously known as Windows Explorer, is a file manager application and default desktop environment that is included with releases of the Microsoft Windows operating system from Windows 95 onwards. It provides a graphical user i ...
files are loaded. The next step in the startup process is to load the
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
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 In computing, virtual memory, or virtual storage, is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a ver ...
. Drivers are provided by .VXD files or, since Windows 98, the newer WDM drivers can be used. However, the
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
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

*
Architecture of Windows NT The architecture of Windows NT, a line of operating systems produced and sold by Microsoft, is a layered design that consists of two main components, user mode and kernel mode. It is a preemptive, reentrant multitasking operating system, whi ...
*
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
*
Caldera v. Microsoft Microsoft has been involved in numerous high-profile legal matters that involved litigation over the history of the company, including cases against the United States, the European Union, and competitors. Governmental In its 2008 annual report, ...
* WinGlue *
FreeWin95 ReactOS is a free and open-source operating system for i586/amd64 personal computers that is intended to be binary-compatible with computer programs and device drivers developed for Windows Server 2003 and later versions of Microsoft Windows. ...


References


Further reading

* * (xviii+856+vi pages, 3.5"-floppy) Errata

https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-2nd-edition] * * (NB. Also on MS-DOS 7+ HMA usage and \WINDOWS\IOS.LOG.) * *

https://archive.today/20190428182007/http://www.fybertech.com/misc/qwkview/qwkview.pl?conf=3010] * * * * * *


External links

* * * {{Microsoft Windows components Monolithic kernels
Windows 9x Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems released from 1995 to 2000 and supported until 2006, which were based on the kernel introduced in Windows 95 and modified in succeeding version ...
Windows 95 Windows 98 Windows ME