790 likes | 946 Views
Understanding Operating Systems Fifth Edition. Chapter 15 Windows Operating System s. Learning Objectives. The role of MS-DOS in early Windows releases The design goals for Windows operating systems The role of the Memory Manager and Virtual Memory Manager
E N D
Understanding Operating Systems Fifth Edition Chapter 15Windows Operating Systems
Learning Objectives • The role of MS-DOS in early Windows releases • The design goals for Windows operating systems • The role of the Memory Manager and Virtual Memory Manager • The use of the Device, Processor, and Network Managers in recent versions of Windows • The challenges for Windows system security • How the current Windows user interface functions Understanding Operating Systems, Fifth Edition
Windows Development • First Windows product communication method • Graphical user interface (GUI) • Primary user communication method • Needed underlying operating system to translate users’ requests into system commands • Windows 1.0 (1985) • First Windows application • Ran on PC-compatible microcomputers • Not a true operating system • Ran on top of MS-DOS • Interface between MS-DOS and user Understanding Operating Systems, Fifth Edition
Early Windows Products • Advancements in Windows • Increasingly sophisticated GUI design • Increasingly powerful desktop computers • Windows 3.1 • Standardized look and feel • Similar to Apple’s Macintosh computer • Entry level product • Single-user installations or small-business environments Understanding Operating Systems, Fifth Edition
Early Windows Products (continued) • Windows for Workgroups • Accommodate network users’ needs (small business) • Programs and features for small LANs • Share directories, disks, printers • Personal intercommunication: e-mail, chat programs Understanding Operating Systems, Fifth Edition
Operating Systems for Home and Professional Users • Disadvantages running Windows on MS-DOS • Little built-insecurity • No multitasking • No interprocess communication capability • Difficulty moving MS-DOS to other platforms • MS-DOS worked closely with hardware • Microsoft response • Developed and released succession of Windows • Not mere GUIs; had home and office user appeal • Development of powerful networking products • Windows NT (Newer Technology) Understanding Operating Systems, Fifth Edition
Operating Systems for Home and Professional Users (continued) Understanding Operating Systems, Fifth Edition
Operating Systems for Networks • Windows NT Development (1993) • No reliance on MS-DOS support • Primary market requirements • Portability • Multiprocessing capabilities • Distributed computing support • Government procurement compliance requirements • Government security certification Understanding Operating Systems, Fifth Edition
Operating Systems for Networks (continued) Understanding Operating Systems, Fifth Edition
Operating Systems for Networks (continued) • Windows NT versions • Windows NT Workstation • Individuals • Desktop operating system • Windows NT Server • Small to medium-sized offices • Web servers and off-sitelocations • Windows NT Server Enterprise Edition • Larger and more complex networks Understanding Operating Systems, Fifth Edition
Operating Systems for Networks (continued) • Windows NT name changed (1999) • Windows 2000four packages • Windows 2000Professional • Windows 2000 Server • Windows 2000 Advanced Server • Windows2000 Datacenter Server • Large data warehouses • Data-intensive business applications • Supportedup to 64 GB physical memory • Windows Server 2003 • Same four packages plus Web edition Understanding Operating Systems, Fifth Edition
Operating Systems for Networks (continued) • Server and Advanced Server editions • Easy • Form collaborative work groups across departments • Add new workstations and components • Improvements • Network systems • Adding new applications • Maintaining system as a whole • Web server software tools and support • E-mail, conferencing, and collaboration Understanding Operating Systems, Fifth Edition
Design Goals • Fulfilling marketing requirements • Incorporate security features • Facilitate decision making (coding process) • Windows networking operating systems • Influenced by several operating system models • Use already-existing frameworks • Introduced new features • Object model • Manage and allocate resources • Symmetric multiprocessing (SMP) • Maximum multiprocessor performance Understanding Operating Systems, Fifth Edition
Design Goals (continued) • Needs • Accommodate user needs • Optimize resources • Response • Five design goals • Extensibility • Portability • Reliability • Compatibility • Performance Understanding Operating Systems, Fifth Edition
Extensibility • Easily enhancing operating system • Ensuring code integrity: separate functions • Privileged executive process • Kernel mode • Processor’s mode of operation • All machine instructions allowed • System memory accessible • Nonprivileged processes “protected subsystems” • User mode • Certain instructions not allowed • System memory not accessible Understanding Operating Systems, Fifth Edition
Extensibility (continued) • Four more features • Modular structure • New components added to executive process • Objects • Abstract data types manipulated by special services • System resources managed uniformly • Drivers • New file systems, devices, and networks added to system at any time • Remote procedure call • Application calls remote services • Regardless of location on network Understanding Operating Systems, Fifth Edition
Portability • Operate on different machines • Different processors or configurations • Minimum amount of recoding • System guidelines to achieve goal • Written in a standardized, high-level language • Available in all machines • Accommodated ported hardware • Minimized direct code interaction with hardware • Reduced incompatibility errors • Hardware-dependent code isolated into modules • Easily modifiable when ported Understanding Operating Systems, Fifth Edition
Portability(continued) • Windows NT and successors’ features • Modular code • Written in C (most of code) • Hardware abstraction layer (HAL) • Dynamic-link library • Provides isolation from vendors’ hardware dependencies Understanding Operating Systems, Fifth Edition
Reliability • Robustness of system • Ability to protect itself and users • Accidental or deliberate user programs’ damage • Features strengthening system • Structured exception handling • Modular design • NTFS file system (NT file system) • Can recover from all error types • Advanced security architecture • Virtual memory strategy Understanding Operating Systems, Fifth Edition
Compatibility • Execute programs writtenfor other operating systems (or earlier system versions) • Use protected subsystems • Provide application execution different from primary programming interface • Provides source-level POSIX application compatibility • Recent Windows versions • Support existing file systems • FAT, CDFS, NTFS • Built-in verification • Important hardware and software Understanding Operating Systems, Fifth Edition
Performance • Achieve good performance levels • Windows features • Testing and optimization system calls, page faults, crucial processes • Incorporatelocal procedure call (LPC): guarantee fast communication among protected subsystems • Maximize speed of frequently used system services • Critical Windows networking software elements built into operating system privileged portion Understanding Operating Systems, Fifth Edition
Memory Management • Every operating system • Has own physical memory view • Makes applicationprograms access memory in specified ways • Full physical memory • Virtual MemoryManager pages some memory contents to disk • Challenge for all Windows operating systems • Run application programs (Windows, POSIX) • Without programs crashing into each other’s memory Understanding Operating Systems, Fifth Edition
Memory Management (continued) • Memory layout (recent Windows versions) • Operating system: high virtual memory • User code and data: low virtual memory • User process • Cannot read or write system memory directly • Memory paged to disk • User-accessible memory • System memory segment labeled paged pool • Memory never paged to disk • System memory segment labeled nonpaged pool Understanding Operating Systems, Fifth Edition
Memory Management (continued) Understanding Operating Systems, Fifth Edition
User-Mode Features • VM Manager (virtual machine manager) • User-mode subsystems share memoryefficiently • Provides process services to manage virtualmemory • 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, Fifth Edition
Virtual Memory Implementation • VM manager reliance • Address space management • Paging techniques • Address space management • Upper half of virtual address space • Accessible onlyto kernel-mode processes • Code in lower part (kernel code and data) • Never paged out of memory Understanding Operating Systems, Fifth Edition
Virtual Memory Implementation (continued) • Paging (VM manager is pager) • Transfers pages • Between memory page frames and disk storage • Complex combination • Software policies: when to bring a page into memory and where to put it • Hardware mechanisms: exact manner VM Manager translates virtual addresses into physical addresses • Pager not portable • Windows: small code and well isolated Understanding Operating Systems, Fifth Edition
Virtual Memory Implementation (continued) • Paging policies • Dictate how and when paging done • Composition • Fetch policy: determines when pager copies a page from disk to memory • Placement policy: determines where virtual page is loaded in memory • Replacement policy: determines which virtual page is removed from memory to make room for a new page Understanding Operating Systems, Fifth Edition
Processor Management • Windows • Preemptive-multitasking, multithreaded operating system • Windows NT process • Requires at least one thread • Default • Process contains onethread Understanding Operating Systems, Fifth Edition
Processor Management (continued) • Thread composition • A unique identifier • Contents of volatile set of registers indicating processor’s state • Two stacks used during thread’s execution • Private storage area: used by subsystems and dynamic-link libraries Understanding Operating Systems, Fifth Edition
Processor Management (continued) • Threads • Thread components called thread’s context • Actual data forming contextvaries from one processor to another • Kernel • Schedules threads for execution on aprocessor • Thread actually executes code • Overhead incurred by thread is minimal • Unitasking • Process with single thread Understanding Operating Systems, Fifth Edition
Processor Management (continued) Understanding Operating Systems, Fifth Edition
Processor Management (continued) • Multithreading using multitasking • Systems with multiple processors • Process has as many threads as CPUs available • All threads belongingto one process: share global variables, heap, environment strings • Versions of Windows since NT • Include some synchronization mechanisms • Avoid problems with multiple threads Understanding Operating Systems, Fifth Edition
Processor Management (continued) Understanding Operating Systems, Fifth Edition
Device Management • Windows NT I/O system and networking descendents provide: • Multiple installable file systems (FAT, CDFS, NTFS) • Services making device-driver development easy • Workable onmultiprocessor systems • Adding drivers to the system (system administrators) • Remove them dynamically • Fast I/O processing • Drivers written in high-level language • Mapped file I/O capabilities • Image activation, file caching, application use Understanding Operating Systems, Fifth Edition
Device Management (continued) • I/O system • Packet driven • I/O request represented by I/O request packet (IRP) • IRP • Data structure controlling how I/O operation processed at each step • I/O manager IRP creation • Creates an IRP representing each I/O operation • Passes IRP to appropriate driver • Disposes of packet when operation complete Understanding Operating Systems, Fifth Edition
Device Management (continued) • Driver IRP receipt • Performs specified operation • Passes it back to I/O manager or • Passes it through I/O manager to another driver for further processing Understanding Operating Systems, Fifth Edition
Device Management (continued) • I/O manager tasks • Supplies code, commonto different drivers • Managesbuffers for I/O requests • Provides time-out support for drivers • Records installable file systems loaded into operating system • Provides flexible I/Ofacilities • Subsystems (POSIX) implement their respective I/O applicationprogramming interfaces • Allows dynamic loading of device drivers and filesystems • Based on users’ needs Understanding Operating Systems, Fifth Edition
Device Management (continued) • Windows I/O services • Device-independent model • “Multilayered device driver” concept • Device driver made up of standard set of routines • Initialization routine, dispatch routine, start I/O routine, completion routine, unload routine, error logging routine Understanding Operating Systems, Fifth Edition
Device Management (continued) • I/O manager • Determine driver called to process request • Using fileobject’s name • Driver object • Represents individual driver in system • I/O manager creates • Created when driver loaded into system • May have multiple device objects connected to it • Device object • Physical, logical, or virtual device on the system • Describes device characteristics Understanding Operating Systems, Fifth Edition
Device Management (continued) Understanding Operating Systems, Fifth Edition
Device Management (continued) Understanding Operating Systems, Fifth Edition
Device Management (continued) • Device objects list • Represents physical, logical, virtual devices • Controlled by the driver • Advantages of using different objects • Portability • Frees I/O manager from knowing details about drivers • Follows pointer to locate driver • Easy loading of new drivers • Easy assigning drivers to control additional or different devices • If system configuration changes Understanding Operating Systems, Fifth Edition
Device Management (continued) Understanding Operating Systems, Fifth Edition
Device Management (continued) • I/O manager knows nothing about file system • Overhead • I/O manager passes information requestsback and forth • Uses single-layer device driver approach • Simple devices (serial and parallelprinter ports) • Uses multilayered approach • More complicated devices (hard drives) • I/O operations asynchronous • Almost all low-level operations Understanding Operating Systems, Fifth Edition
File Management • Windows current versions • Designed to be independentof file system on which they operate • Support multiple file systems for hard disks including: • MS-DOS’s FAT filesystem • 32-bit FAT file system • NTFS Understanding Operating Systems, Fifth Edition
File Management (continued) • Virtual file • Primary file handling concept (current windows) • Programs perform I/O on virtual files • File handles manipulate them • Executive file object representing all sources and destinations of I/O • Processes call native file object services to read from or write to file • I/O manager directs virtual file requests • Real files, file directories, physical devices Understanding Operating Systems, Fifth Edition
File Management (continued) • File objects • Hierarchicalnames • Protected by object-based security • Support synchronization • Handled by object services • Opening file • Process supplies file’s name and type of access required Understanding Operating Systems, Fifth Edition
File Management (continued) • File objects bridge gap • Between physical devices’ characteristics and directory structures, file system structures, data formats • Provides memory-based representation of shareable physical resources • Created with new set of handle-specific attributes • Each time process opens a handle Understanding Operating Systems, Fifth Edition
File Management (continued) Understanding Operating Systems, Fifth Edition