![]() |
Windows 95 Architecture |
Components
Windows 95 features a new device driver model, a new file system, a
new 32-bit graphics engine, and new 32-bit print, communications, and multimedia
subsystems. Windows 95 is a 32-bit operating system with built-in connectivity
support. It provides high performance, robustness, and complete backward
compatibility. All of these features are supported by the modular design
shown in the following diagram.
Although its architectural design is based on Windows version 3.1, Windows 95 includes several improvements over the earlier operating system:
A fully integrated 32-bit, protected-mode operating system, which eliminates the need for a separate copy of MS-DOS. Preemptive multitasking and multithreading support, which improves system responsiveness and offers smooth background processing. 32-bit installable file systems including VFAT, CDFS, and network redirectors. These support better performance, use of long filenames, and an open architecture to support future growth. 32-bit device drivers, available throughout the system, which deliver improved performance and intelligent memory use.
A complete 32-bit kernel, including memory management and process scheduling and management. Improved system-wide robustness and cleanup after an application ends or fails. This delivers a more stable and reliable operating environment. More dynamic environment configuration, which reduces the need for users to adjust their systems. Improved system capacity, which allows multiple applications and system tasks to run well concurrently.
This chapter describes the key components that make up the Windows 95 architecture beginning with its central information store, the Registry, and proceeding from bottom to top.
The central information database for Windows 95 is called the Registry. This hierarchical database both simplifies the operating system and makes it more adaptable. The Registry simplifies the operating system by eliminating the need for AUTOEXEC.BAT, CONFIG.SYS, and INI files (except when legacy applications require them). It makes the operating system more adaptable by storing user-specific and configuration-specific information so you can share one computer among multiple users and you can have more than one configuration (such as in-the-office and on-the-road configurations) for each computer.
A primary role of the Registry in Windows 95 is to serve as a central repository for hardware-specific information for use by the hardware detection and Plug and Play system components. Windows 95 maintains information about hardware components and devices that have been identified through an enumeration process in the hierarchical structure of the Registry, as described in Configuration Manager. When new devices are installed, the system checks the existing configuration in the Registry to determine the hardware resources (for example, IRQs, I/O addresses, DMA channels, and so on) that are not being used, so the new device can be properly configured without conflicting with a device already installed in the system.
Windows 3.1 used initialization (INI) files to store system-specific
or application-specific information on the state or configuration of the
system. For example, the WIN.INI file stored information about the appearance
of the Windows environment, the SYSTEM.INI file stored system-specific
information on the hardware and device driver configuration of the system,
and various INI files (such as MSMAIL.INI and WINWORD6.INI) stored application-specific
information.
The Registry remedies this situation by providing a single location
for a computer’s configuration information. The following table shows other
difficulties or limitations caused by using INI files that are overcome
by using the Registry.
Problems using INI files Solutions using the Registry
INI files are text-based, and are limited to 64K in total size. The
Registry has no size restriction and can include binary and text values.
Information stored in INI files is non-hierarchical and supports only
two levels
of information (specifically, section headings with a list of key names
under each). The Registry is hierarchically arranged.
Many INI files contain a myriad of switches and entries that are complicated
to configure or are used only by operating system components. The Registry
contains more standardized values.
INI files provide no mechanism for storing user-specific information,
thus making it difficult for multiple users to share a single computer
or for users who move around on the network to have access to their user-specific
settings. The Hkey_Users key stores user-specific information.
Configuration information in INI files is
local to each system, and no API mechanisms are available for remotely
managing configuration, thus making it difficult to manage multiple computers.
The Registry can be remotely administered and system policies (which are
stored as Registry values) can be downloaded from a central server each
time a new user logs on. For more information, see User Profiles and System
Policies, and Remote Administration.
When you upgrade from Windows 3.1 to Windows 95, system-specific information
such as the static reference to loading virtual device drivers is moved,
as appropriate, from the SYSTEM.INI file to the Registry.
For backward compatibility, Windows 95 does not ignore AUTOEXEC.BAT,
CONFIG.SYS, and INI files, because many Win16-based applications still
use them. For example, Windows 95 allows Win16-based applications to use
INI files for the parameters, device drivers, and so on, that the applications
need to run. In addition, Windows 95 continues to examine the [386Enh]
section of SYSTEM.INI at startup to check for virtual device drivers.
One advantage of the Registry for Win32-based applications is that many of the Win32-based Registry APIs can be used remotely through the remote procedure call (RPC) mechanism in Windows 95 to provide access to Registry information across a network. This means that network administrators can use system management tools to access the contents of the Registry for any computer on the network. (Of course, the remote computer must be configured to allow remote administration, and must have user-level security.)
With Windows 95 remote administration, industry management mechanisms such as Simple Network Management Protocol (SNMP) can easily be integrated into Windows 95, simplifying the management and support burden of the network