700 likes | 974 Views
Chapter 14 Windows Operating System s. Understanding Operating Systems, Fourth Edition. Objectives. You will be able to describe: The importance of MS-DOS in early Windows releases The design goals for Windows operating systems
E N D
Chapter 14Windows Operating Systems Understanding Operating Systems, Fourth Edition
Objectives You will be able to describe: • The importance of MS-DOS in early Windows releases • The design goals for Windows operating systems • The role of the Memory Manager, especially the Virtual Memory Manager • The use of the Device, Processor, and Network Managers in recent versions of Windows • The role of the NT file system in file management Understanding Operating Systems, Fourth Edition
Objectives (continued) You will be able to describe: • The challenges for Windows system security today • How the current Windows user interface functions Understanding Operating Systems, Fourth Edition
Windows Development Early Windows GUI Products ran “on topof” MS-DOS Table 14.1: Windows Development Understanding Operating Systems, Fourth Edition
Windows Development (continued) • Windows for Workgroups: • First Windows product toaccommodate the needs of network users • Could easily share directories,disks, and printers among several interconnected machines • Allowed personalintercommunication through e-mail and chat programs • Intended for small ormid-sized groups of PCs for small businesses or small departments oflarger organizations Understanding Operating Systems, Fourth Edition
Operating Systems for Single Users • Disadvantages of running Windows on top of MS-DOS: • Little built-insecurity • Couldn’t perform multitasking • Had no interprocess communication capability • Written to work closely with themicrocomputer’s hardware • Making it difficult to move OS to other platforms • Microsoft developed and released a succession of Windows OSs (not mere GUIs) to appeal to home and office users Understanding Operating Systems, Fourth Edition
Operating Systems for Single Users (continued) Table 14.2: Evolution of keyMicrosoft Windows operatingsystems for homeand professional use Understanding Operating Systems, Fourth Edition
Operating Systems for Networks • Development of Windows NT(more powerful networking products): • Windows NT never relied on MS-DOS for support • Primary market requirementsinclude: • Portability • Multiprocessing capabilities • Distributed computing support • Compliance with government procurement requirements • Government security certification • The finishedproduct was introduced in 1993 Understanding Operating Systems, Fourth Edition
Operating Systems for Networks (continued) Table 14.3: Evolution of keyMicrosoft Windowsnetworkingoperating systems.All have evolvedfrom Windows NT Understanding Operating Systems, Fourth Edition
Operating Systems for Networks (continued) • Microsoft offered Windows NT in several versions: • Windows NT Workstation for individuals needing a desktop operating system • Windows NT Server for small to medium-sized offices, Web servers, and off-sitelocations • Windows NT Server Enterprise Edition for larger and more complex networks Understanding Operating Systems, Fourth Edition
Operating Systems for Networks (continued) • In 1999, Windows NT name was changed to Windows 2000 and was available in four packages: • Windows 2000Professional • Windows 2000 Server • Windows 2000 Advanced Server • Windows2000 Datacenter Server • Designed forlarge data warehouses and other data-intensive business applications • Supportedup to 64 GB of physical memory • Windows Server 2003 was also releasedwith these same four packages plus a Web edition Understanding Operating Systems, Fourth Edition
Design Goals • To accommodate various needs of its users and to optimize resources, the Windows design team identified five design goals: • Extensibility • Portability • Reliability • Compatibility • Performance Understanding Operating Systems, Fourth Edition
Extensibility • Allows the system to be easily enhanced • To ensure the integrity of code, designers separated operating system functions into: • Privileged executive process (kernel mode) • Refers to a processor’s mode of operation in which all machine instructions are allowed • System memory is accessible • Nonprivileged processes “protected subsystems” (user mode): • Certain instructions are not allowed • System memory isn’t accessible Understanding Operating Systems, Fourth Edition
Extensibility (continued) • Windows designers also included four more features to ensure extensibility: • Modular structure so new components can be added to the executive process • Objects, a group of abstract data types manipulated by a special set of services • Allow system resources to be managed uniformly • Drivers for new file systems, devices, and networks that can be added to the system at any time • Remote procedure call • Allows an application to call remote services regardless of their location on the network Understanding Operating Systems, Fourth Edition
Portability • Ability to operate on different machines thatare based on different processors or configurations with a minimum amount of recoding • To achieve this goal, Windows development followed certain guidelines: • Written in a standardized, high-level language available in all machines • System accommodated hardware to which it was expected to be ported • Minimized code that interacted directly with the hardware — to reduce incompatibility errors Understanding Operating Systems, Fourth Edition
Portability(continued) (continued) • Isolation of all hardware-dependent code into modules - that could be easily modified whenever the operating system was ported • Windows NT and successors have the following features: • Modular code • Much of Windows is written in C • Contains a hardware abstraction layer (HAL) • A dynamic-link library that provides isolation from hardware dependencies furnished by different vendors Understanding Operating Systems, Fourth Edition
Reliability • Refers to the robustness of a system and its ability to protect itself and its users from accidental or deliberate damageby user programs • Following features strengthenthe system: • Structured exception handling • Modular design • NTFS File System (NT File System) which can recover from all types oferrors • U.S. government-certifiable security architecture • Virtual memory strategy Understanding Operating Systems, Fourth Edition
Compatibility • Refers to an operating system’s ability to execute programs writtenfor other operating systems or for earlier versions of the same system • Use of protected subsystems • Provides execution of applications that are different from its primary programming interface • Provides source-level compatibility with POSIX applications • Recent versions of Windowssupport already-existing file systems, e.g., MS-DOS FAT, CDFS, andNTFS • Built-in verification of important hardware and software Understanding Operating Systems, Fourth Edition
Performance • Several features that help Windows achieve good performance levels include: • Testing and optimization of system calls, page faults, and other crucial processes • Incorporation of local procedure call (LPC) — to guarantee fast communication among the protected subsystems • Speed of frequently used system services is maximized • Critical elements of Windows’ networking software are built into privileged portionof operating system Understanding Operating Systems, Fourth Edition
Memory Management • Every operating system uses its own view of physical memory and makes its applicationprograms access memory in specified ways • When physical memory becomes full, the Virtual MemoryManager pages some of the memory contents to disk, freeing physical memory forother processes • Challenge for all Windows OSs:To run application programs written for Windows, MS-DOS, or POSIXwithout programs crashing into each other’s memory Understanding Operating Systems, Fourth Edition
Memory Management (continued) Memory layout in recent versions of Windows: • Operating system resides in high virtual memoryand the user’s code and data reside in low virtual memory • User process can’t read or write to system memory directly • All user-accessible memorycan be paged to disk, as can the segment of system memory labeled paged pool • Segment of system memory labeled nonpaged pool is never paged to disk Understanding Operating Systems, Fourth Edition
Memory Management (continued) Figure 14.1: Layout of Windowsmemory Understanding Operating Systems, Fourth Edition
User-Mode Features • VM Managerallows user-mode subsystems to share memoryefficiently • Provides services that a process can use to manage its virtualmemory in the following ways: • Allocate memory in two stages • Read and/or write protection for virtual memory • Lock virtual pages in physical memory • Retrieve information about virtual pages • Protect virtual pages • Rewrite virtual pages to disk Understanding Operating Systems, Fourth Edition
Virtual Memory Implementation • Virtual Memory Manager relies on: • Address space management • Paging techniques • Address Space Management: • Upper half of the virtual address space is accessible onlyto kernel-mode processes • Code in the lower part of this section, kernel code and data,is never paged out of memory Understanding Operating Systems, Fourth Edition
Paging • Pager: Part of VM manager that transfers pages between page frames in memory and disk storage and is a complex combination of: • Software policies • Determine when to bring a page into memory and where to put it • Hardware mechanisms • Include the exact manner in which the VM Manager translates virtual addresses into physical addresses • Pager is not portable • Windows keeps this code small and well isolated Understanding Operating Systems, Fourth Edition
Paging (continued) • Paging policies dictate how and when paging is done and are composed of: • Fetch policy • Determines when the pager copies a page from disk to memory • Placement policy • Determines where the virtual page is loaded in memory • Replacement policy • Determines which virtual page must be removed from memory to make room for a new page Understanding Operating Systems, Fourth Edition
Processor Management • Windows is a preemptive-multitasking, multithreaded operating system • Process in Windows NT-derived OS requires at least one thread of execution. By default, a process contains onethread, which is composed of: • A unique identifier • Contents of a volatile set of registers indicating processor’s state • Two stacks used during the thread’s execution • Private storage area used by subsystems and dynamic-link libraries Understanding Operating Systems, Fourth Edition
Processor Management (continued) Threads: • Thread components are called the thread’s context • Actual data forming this contextvaries from one processor to another • Kernel schedules threads for execution on aprocessor • The thread is what actually executes the code • The overhead incurred by a thread is minimal Understanding Operating Systems, Fourth Edition
Processor Management (continued) Figure 14.2: Unitasking in Windows Understanding Operating Systems, Fourth Edition
Processor Management (continued) Multithreading: • For systems with multiple processors, a process can have as many threads as there areCPUs available • All threads belongingto one process share its global variables, heap, and environment strings • Versions of Windows since NT include some synchronization mechanisms to avoid problems with multiple threads Understanding Operating Systems, Fourth Edition
Processor Management (continued) Figure 14.3: Multitasking using multithreading Understanding Operating Systems, Fourth Edition
Device Management • The I/O system in Windows NT and its networking descendents was designed to providefollowing: • Multiple installable file systems including FAT, CDFS, and NTFS • Services to make device-driver development as easy as possible yet workable onmultiprocessor systems • Ability for system administrators to add drivers to the system or remove them fromthe system dynamically • Fast I/O processing while allowing drivers to be written in high-level language • Mapped file I/O capabilities for image activation, file caching, and application use Understanding Operating Systems, Fourth Edition
Device Management (continued) • The I/O system is packet driven i.e., every I/O request is represented by an I/O request packet (IRP) • An IRP is a data structure that controls how the I/O operation is processed at each step • I/O Manager • Creates an IRP that represents each I/O operation • Passes the IRP to the appropriate driver • Disposes of the packet when the operation is complete Understanding Operating Systems, Fourth Edition
Device Management (continued) Table 14.4: Example showing how adevice object is createdfrom an instruction toread a file Understanding Operating Systems, Fourth Edition
Device Management (continued) • Tasks of I/O Manager: • Supplies code, commonto different drivers • Managesbuffers for I/O requests • Provides time-out support for drivers • Records whichinstallable file systems are loaded into the operating system • Provides flexible I/Ofacilities • Allow subsystems such as POSIX to implement their respective I/O applicationprogramming interfaces • Allows device drivers and filesystems to be loaded dynamically based on theneeds of the user Understanding Operating Systems, Fourth Edition
Device Management (continued) • Windows provides a device-independent model for I/O services • This model takesadvantage of a concept called a “multilayered device driver” • Each device driver is made up of a standard set of routines including the following: • Initialization routine, dispatch routine, start I/O routine, completion routine, unload routine, error logging routine Understanding Operating Systems, Fourth Edition
Device Management (continued) • I/O Manager must determine from the fileobject’s name which driver should be called to process the request of accessing a file. It uses: • Driver object: • Represents an individual driver in the system • I/O Manager creates it when a driver is loaded into the system • A driver object may have multiple device objects connected to it • Device object: • Represents a physical, logical, or virtual device on the system anddescribes its characteristics Understanding Operating Systems, Fourth Edition
Device Management (continued) Figure 14.4: The driver object fromTable 14.4 isconnectedto several device objects.The last device objectpoints back to the driverobject Understanding Operating Systems, Fourth Edition
Device Management (continued) • The list of device objectsrepresents the physical, logical, and virtual devices that are controlled by the driver • Advantages to representing devices and drivers with different objects: • Provides portability: Frees the I/O manager from having to know details about individual drivers • It just follows a pointer to locate a driver • Allows new drivers to be easily loaded • Easier to assign drivers to control additional or different devices if system configuration changes Understanding Operating Systems, Fourth Edition
Device Management (continued) Figure 14.5: Interaction of I/O Manager with a layered device driver to writedata to a file on a hard disk Understanding Operating Systems, Fourth Edition
Device Management (continued) • The I/O Manager knows nothing about the file system • Overhead involved when the I/O Manager passes requestsfor information back and forth • Uses single-layer device driver approach for simple devices, e.g., serial and parallelprinter ports • Uses multilayered approach for more complicated devices, e.g., hard drives • Almost all low-level I/O operations are asynchronous Understanding Operating Systems, Fourth Edition
File Management • Current versions of Windows are designed to be independentof the file system on which they operate • Windows supports multiple file systems for hard disks including: • MS-DOS’s FAT filesystem • 32-bit FAT file system • NTFS • NTFS extends the capabilities ofthe FAT and FAT32 file systems Understanding Operating Systems, Fourth Edition
File Management (continued) • NTFS extends the capabilities of the FAT and FAT32 file systems by adding: • File system recovery • Ability to handle large storage media, on the order of approximately 17 billion gigabytes in size • Security features, including execute-only files • Unicode filenames • Support for the POSIX operating system environment • Features for future extensibility Understanding Operating Systems, Fourth Edition
File Management (continued) • Primary file handling concept in current versions of Windowsis the virtual file • Programs perform I/O on virtual files, manipulating them byusing file handles • An executive file object that represents all sources and destinations of I/O • Processes call native file object services such as those to read from or write to a file • I/O Manager directs these virtual file requests to real files, file directories, physical devices Understanding Operating Systems, Fourth Edition
File Management (continued) • File objects: • Have hierarchicalnames, • Protected by object-based security • Support synchronization • Handled by object services • When opening a file, a process supplies the file’s name and the type of access required Understanding Operating Systems, Fourth Edition
File Management (continued) File objects: • Help bridge the gap • Between the characteristics of physical devices and directory structures, file system structures, and data formats • Provide a memory-based representation of shareable physical resources • Are created with a new set of handle-specific attributes each time a process opens a handle Understanding Operating Systems, Fourth Edition
File Management (continued) Figure 14.6: Illustration of a fileobject, its attributes,and the services thatoperate on them Understanding Operating Systems, Fourth Edition
File Management (continued) Table 14.5: Description of theattributes shown inFigure 14.6 Understanding Operating Systems, Fourth Edition
File Management (continued) • Mapped file I/O is an important feature of the I/O system • Achieved through thecooperation of the I/O system and the VM Manager • Memory-mapped files exploit virtual memory capabilities • Cache manager uses mapped I/O to manageits memory-based cache • NTFS supports long filenames that can include spaces and special characters • Automatically shortens filenames when required Understanding Operating Systems, Fourth Edition
Network Management • Networking is an integral part of the Windows NT-based operating systems and provides services such as: • User accounts, resource security • Mechanisms used toimplement communication between computers, such as with named pipes and mailslots • Named pipes provide a high-level interface for passing data between two processes regardless of their locations • Mailslots provide one-to-many and many-to-one communicationmechanisms Understanding Operating Systems, Fourth Edition