Operating system architecture
Hardware Abstraction Layer
What we mean by Hardware Abstractions is a set of routines that give a program direct access to the hardware resources. The Hardware Abstraction Layer (HAL) makes the hardware dependencies transparent to the rest of the operating system. This allows Windows 2000 to be portable from one hardware platform to another. It is a thin layer of software or programming that hides (Abstraction ) the hardware differences from the operating system. The HAL consists of a series of function that hides or abstract differences between hardware platforms. For example, the processor used in your system can be from any vendor, such as Intel, Advanced Micro Devices, and Motorola. In the Windows NT OS, the HAL is placed in the Kernel and in the space between hardware and the Win NT services.
The Kernel works very closely with the HAL and is the heart of the operating system. It schedules the activities to be performed by the CPU. On a computer that has multiple processors, the kernel synchronizes activity among processors to optimize performance. For example, if you open more than one application, such as, MSWord, MS Excel, and PowerPoint, the kernel schedules the processor’s time within all applications.
Kernel-mode device drivers enable the Windows NT to interact with hardware components. These drivers have some system routines that represent all the system devices seen as a file object in the Input/output manager for the user and the I/O manger can view them as device objects. These drivers exist in three levels: high level. intermediate and low level drivers. The high level relies on intermediate level which is contained of function drivers. The intermediate drivers rely on the lower level; this level also includes the Windows Driver Model (WMD ). The lowest level directly controls the hardware and do not rely on the intermediate or high level drivers.
Another term that we are seeing in the Windows architecture is the Microkernel. The Microkernel is a collection of programs that can provide tasks such as address space management. thread management and inter-process communication (IPC ). The Microkernel along with the Windows kernel are in charge to make the operating system work efficiently.
The Executive Services. which includes the kernel and the HAL, provides a set of common services that the user can use. This section interacts with Input/output devices. object management. process management and the system security. Each group of services is managed by one of the components of the executive services, which are as follows:
- Object Manger
- Power Manger
- Process Manager
- I/O Manager
- Virtual Memory Manager
- Local Procedure Call Facility
- Cache Manager
- Security Reference Monitor
- Plug and Play Monitor
- Device Drive Manager
The Object Manager provides rules for retention. naming and security of objects. Objects can be, for example, files and folders saved in the file system. It also removes the duplicate object resources. The Object Manager considers each resource as an object whether it is a physical resource or a logical one like a file.
Creation and insertion of objects can be done in this section. The Object Manager first allocates an empty object and then reserves the required resources. After that Ob inserts the object and makes it accessible through its name or a handle (cookie ). A Handle is an identifier that points to a certain Kernel resource. The lifetime of an object also managed by the Ob and it will keep the object till the subsystem needs it and then it will be deleted by the Object Manager.
The Power Manger deals with power events like power-off. stand-by. and hibernate. Windows 2000 supports all of the latest standards in Power Management including the Advanced Power Management (AMP ) and Advanced Configuration and Power Interface (ACPI ). Consequently, network devices can be powered off when not in use and dynamically reactivated when network access is required. Windows 2000 also supports Wake-on-LAN technology, allowing an entire machine to be powered down and then reactivated via incoming network requests. With APM and ACPI support, Windows 2000 has the potential to run for longer periods of time on battery powered systems due to its ability to conserve power when not in use and then be dynamically reactivated via incoming network requests.
The Process Manager manages the creation and deletion of processes. It provides a standard set of services for creating and using processes. The windows Process Manager works in conjunction with the Security Model and the Virtual Memory Manager to provide inter-processes protection.
The I/O Manager manages all the input and output for the operating system.
It supports all file system drivers, hardware device drivers and network drivers, and provides a heterogeneous environment for them. The I/O Manager provides a common interface that all drivers, such as FAT file system driver and NTFS driver can call. This allows the I/O Manager to communicate with all drivers in the same way, without any knowledge of how the devices they control actually work. The I/O Manager provides a cache manager for improving the disk performance by caching the read request and then writes them on the disk in the background.
Virtual Memory Manager
The memory architecture for Windows2000 is a demand-paged virtual memory system. accessed via 32-bit address. Virtual Memory is the term used to describe the technique where the operating system can allocate more memory than what is physically available. Each process is allocated its own unique virtual address space, which appears to be 4 gigabytes (GB ) in size. This address space is divided into block of equal size called Pages.
Demand Paging is a method by which data is moved in pages from physical memory to a temporary paging file on the disk. As the process needs data, it is paged back into physical memory.
The Virtual Memory Manager maps virtual addresses in the process’s address space to physical pages in the computer’s memory. It hides the physical organization of memory from the processes. This ensures that processes do not access the memory of other processes.
Local Procedure Call Facility
Windows 2000 provides a communication mechanism between the applications and the environment subsystems. The executive system implements a message passing facility called a Local Procedure Call (LPC ). Applications communicate with the environment subsystems by passing messages via the LPC facility. The LPC contains inter-process communication ports that can be used by user-mode subsystem for communication.
The Cache Manager is a part of the I/O architecture. It handles caching for the entire I/O system. Caching is used to improve the performance of the I/O systems. Instead of reading and writing directly to disk, frequently used files are temporarily stored in a cache in memory, and read and write operations are performed to these files in the memory. This improves the performance since reading and writing to memory is much faster than reading and writing to disk. The Cache Manager provides caching services for all file systems and network components under the control of the I/O Manager.
The Cache Manager dynamically changes the size of the cache as the amount of available RAM varies. When a process opens a file that is already present in the cache, the Cache Manager copies data from the cache to the process’s memory, and vice versa, as read and write operations are performed.
Security Reference Monitor
The Security Reference Monitor (SRM ) is responsible for enforcing the access validation and audit-generation policy defined by the local security subsystem. It’s also responsible for controlling which objects have permissions to which resource. Each object has an Access Control List (ACL ) that is queried when the object makes a service request. Access to resources is allowed or disallowed according to the right the module has in the ACL. For example, you have created a shared directory having read permission. If other users try to write into the directory, the Security Reference Monitor will check for the permission and will deny writing into the directory.
Plug and Play Manager
Plug and Play. which made its first appearance with Microsoft Windows 95. is now a feature of Windows 2000. Changes have been made within the system architecture of Windows 2000 to accommodate this facility. Compatible devices can now be introduced and Windows will configure the device. PnP supports device detection and installation at boot time which may require the reconfiguration of other devices. Plug-and-Play automatically tells the software (device drivers) where to find various pieces of hardware devices such as modems, network and sound cards etc. Its task is to match the physical devices with the software that operates them and to establish channels of communication between each physical device and its driver.
Device Manager allows you to check the status of your hardware devices and to update device drivers for the hardware installed on your computer. It also checks how the hardware interacts with your computer programs. You can also use Device Manager to check the status of your hardware and update device drivers for the hardware installed on your computer.
Windows 2000 allows many different types of applications to run on the same graphical desktop. It runs applications for operating systems such as MS-DOS, OS/2, Windows and POSIX. Windows 2000 support a variety of applications through the use of Environment Subsystems. which are Windows 2000 processes that emulate different operating system environments. For example, through command prompt of Windows 2000, you can get the CUI environment of DOS.