Windows Evolution and Architecture


In the late 1980s, Microsoft began to design a new operating system that could take advantage of advances in processor design and software development. The new operating system was called Microsoft Windows NT (for new technology ). The Microsoft Windows 2000 and Microsoft Windows XP operating systems are based on Windows NT.

Figure 2.1 illustrates the evolution of the Windows family of operating systems, culminating in Windows XP and soon in Microsoft Windows Server 2003. Windows XP is built on the robust and high-performance Windows NT kernel and incorporates many of the best features of Microsoft Windows 98 and Microsoft Windows Millennium Edition (Windows Me). These features include Plug and Play support, an intuitive user interface, and many innovative support services.

click to expand
Figure 2.1: The evolution of the Windows family of operating systems

Windows NT Architecture

Windows NT architecture uses two processor access modes: user mode and kernel mode .

User mode includes application processes (typically Microsoft Win32 programs) and a set of protected subsystems. These subsystems are referred to as protected because each one is a separate process with its own protected virtual address space. The most important subsystem is the Win32 subsystem, which supplies much of the Win32 functionality to 32-bit Windows-based applications. The Windows subsystems, including the Win32 subsystem, are discussed in greater detail later in this chapter.

Another important subsystem, particularly with respect to UNIX applications, is the POSIX subsystem. POSIX stands for Portable Operating System Interface for computing environments, and consists of a set of international standards for implementing UNIX-like interfaces. POSIX began as an effort by the IEEE community to promote the portability of applications across different versions of UNIX. However, POSIX is not limited to the UNIX environment and has been implemented on a number of non-UNIX operating systems, including Windows NT. The POSIX subsystem implements these standards-based interfaces, and allows applications developers to more easily port their applications to Windows from another operating system.

Kernel mode is a highly privileged mode of operation in which program code has direct access to all memory, including the address spaces of all user mode processes and applications, and to hardware. Kernel mode is also known as supervisor mode , protected mode , or Ring 0 . The kernel mode of Windows NT contains the executive as well as the system kernel . The executive exports generic services that protected subsystems call to obtain basic operating system services, such as file operations, input/output (I/O), and synchronization services. Partitioning of the protected subsystems and the executive simplifies the base operating system design and makes it possible to extend the features of an individual protected subsystem without affecting the kernel. The kernel controls how the operating system uses the processors, and performs such operations as scheduling, multiprocessor synchronization, and providing objects that the executive can use or export to applications.

Figure 2.2 on the next page is a high-level illustration of Windows NT architecture.

click to expand
Figure 2.2: Windows NT architecture

The Windows operating system supports the following features and capabilities:

  • Multitasking

  • Choice of programming interfaces (subsystem and kernel application programming interfaces [ APIs])

  • Emphasis on graphical user interface (GUI) for users and administrators (the default user interface is graphical)

  • Optional command-line interface

  • Built-in networking (Transmission Control Protocol/Internet Protocol [TCP/IP] is standard)

  • System services are provided by Windows Services

  • Single compatible implementation




UNIX Application Migration Guide
Unix Application Migration Guide (Patterns & Practices)
ISBN: 0735618380
EAN: 2147483647
Year: 2003
Pages: 134

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net