It has 3 main features such as polymorphism, encapsulation, and abstraction. Windows 2000 features include 32-bit addressing, virtual memory support, system security and enhanced system integrity, platform independence, and built-in modular networking. The Windows 2000 underlying design principles has the essential structure as with later Windows releases (Windows XP Professional/Home/64 bit), Windows 2003 Server).
The operating system is built upon a layered approach, similar to the UNIX operating system. One advantage of the layered operating structure is that each layer of code is given access only to the layer below it (interfaces and data structures). This structure also allows the operating system to be debugged, starting at the lowest layer and adding one layer at a time until the whole system works correctly. Layering also makes it easier to enhance the operating system; one entire layer can be replaced without affecting other parts of the operating system.
The user mode is a layer in which user programs are run. Software in the user mode cannot access hardware directly. From Figure 1, the user mode consists of four sections namely, System Support Process, such as the logon process and the session manager; Service Process, such as event log and scheduled services; Environment Subsystems, which provides an operating system environment by exposing the native operating system services to user applications; and User Applications, such as Task Manager, Windows Explorer, User Applications. The User Applications, do not call the native Windows 2000 OS services directly. They go through a subsystem dynamic link libraries, which translate documented function into the appropriate undocumented Windows 2000 system service calls.
The kernel mode has unrestricted access to the system memory and external devices. In this mode, software can access the hardware and system data as well as system resources directly. The kernel mode composed of the following components: Executive, which contains components that implement memory, process, and thread management. It also contains base operating system services such as security, I/O, and internal process communication, which interacts with one another in a modular approach.; Microkernel, which provides multiprocessor synchronization, thread and interrupt scheduling, and exception handling. At system startup, this component reads the information from the system Registry to know which device drivers will be loaded; Hardware Abstraction Layer (HAL), that manipulates the hardware directly by mapping generic hardware commands and responses unique to a specific platform, thus isolating the OS from platform-specific hardware differences; Device Drivers, which translate user Input/Output (I/O) function calls into specific hardware device I/O requests; and Windows and Graphic System, which implements the windows graphical user interface (GUI).
3. Operating System Elements
3.1 Memory Management