30deeaa1399bb92adae177cb729da066.ppt
- Количество слайдов: 77
Understanding Operating Systems Sixth Edition Chapter 15 Windows Operating Systems
Learning Objectives • • • After completing this chapter, you should be able to describe: The design goals for Windows operating systems The role of MS-DOS in early Windows releases The role of the Memory Manager and Virtual Memory Manager The use of the Device, Processor, and Network Managers System security challenges The Windows user interface Understanding Operating Systems, Sixth Edition 2
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, Sixth Edition 3
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, Sixth Edition 4
Early Windows Products (cont'd. ) • 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, Sixth Edition 5
Operating Systems for Home and Professional Users • Disadvantages running Windows on MS-DOS – – Little built-in security 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 (New Technology) Understanding Operating Systems, Sixth Edition 6
Operating Systems for Home and Professional Users (cont'd. ) Understanding Operating Systems, Sixth Edition 7
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, Sixth Edition 8
Operating Systems for Networks (cont'd. ) Understanding Operating Systems, Sixth Edition 9
Operating Systems for Networks (cont'd. ) • Windows NT versions – Windows NT Workstation • Individuals • Desktop operating system – Windows NT Server • Small to medium-sized offices • Web servers and off-site locations – Windows NT Server Enterprise Edition • Larger and more complex networks Understanding Operating Systems, Sixth Edition 10
Operating Systems for Networks (cont'd. ) • Windows NT name changed (1999) • Windows 2000 four packages – – Windows 2000 Professional Windows 2000 Server Windows 2000 Advanced Server Windows 2000 Datacenter Server • Windows Server 2003 – Same four packages plus Web edition • Windows Server 2008 Release 2 (2009) Understanding Operating Systems, Sixth Edition 11
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, Sixth Edition 12
Design Goals (cont'd. ) • Needs – Accommodate user needs – Optimize resources • Response – Five design goals • • • Extensibility Portability Reliability Compatibility Performance Understanding Operating Systems, Sixth Edition 13
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, Sixth Edition 14
Extensibility (cont'd. ) • 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, Sixth Edition 15
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, Sixth Edition 16
Portability (cont'd. ) • 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, Sixth Edition 17
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, Sixth Edition 18
Compatibility • Execute programs written for 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, Sixth Edition 19
Performance • Achieve good performance levels • Windows features – Testing and optimization system calls, page faults, crucial processes – Incorporate local 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, Sixth Edition 20
Memory Management • Every operating system – Has own physical memory view – Makes application programs access memory in specified ways • Full physical memory – Virtual Memory Manager 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, Sixth Edition 21
Memory Management (cont'd. ) • 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, Sixth Edition 22
Memory Management (cont'd. ) Understanding Operating Systems, Sixth Edition 23
User-Mode Features • VM Manager (virtual machine manager) – User-mode subsystems share memory efficiently – Provides process services to manage virtual memory • • • 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, Sixth Edition 24
Virtual Memory Implementation • VM manager reliance – Address space management – Paging techniques • Address space management – Upper half of virtual address space • Accessible only to kernel-mode processes – Code in lower part (kernel code and data) • Never paged out of memory Understanding Operating Systems, Sixth Edition 25
Virtual Memory Implementation (cont'd. ) • 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, Sixth Edition 26
Virtual Memory Implementation (cont'd. ) • 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, Sixth Edition 27
Processor Management • Windows – Preemptive-multitasking, multithreaded operating system • Windows NT process – Requires at least one thread • Default – Process contains one thread Understanding Operating Systems, Sixth Edition 28
Processor Management (cont'd. ) • 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, Sixth Edition 29
Processor Management (cont'd. ) • Threads – Thread components called thread’s context – Actual data forming context varies from one processor to another – Kernel • Schedules threads for execution on a processor – Thread actually executes code – Overhead incurred by thread is minimal – Unitasking • Process with single thread Understanding Operating Systems, Sixth Edition 30
Processor Management (cont'd. ) Understanding Operating Systems, Sixth Edition 31
Processor Management (cont'd. ) • Multithreading using multitasking – Systems with multiple processors • Process has as many threads as CPUs available • All threads belonging to 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, Sixth Edition 32
Processor Management (cont'd. ) Understanding Operating Systems, Sixth Edition 33
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 on multiprocessor 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, Sixth Edition 34
Device Management (cont'd. ) • 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, Sixth Edition 35
Device Management (cont'd. ) • 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, Sixth Edition 36
Device Management (cont'd. ) • I/O manager tasks – – Supplies code, common to different drivers Manages buffers for I/O requests Provides time-out support for drivers Records installable file systems loaded into operating system – Provides flexible I/O facilities • Subsystems (POSIX) implement their respective I/O application programming interfaces – Allows dynamic loading of device drivers and file systems • Based on users’ needs Understanding Operating Systems, Sixth Edition 37
Device Management (cont'd. ) • 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, Sixth Edition 38
Device Management (cont'd. ) • I/O manager – Determine driver called to process request • Using file object’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, Sixth Edition 39
Device Management (cont'd. ) Understanding Operating Systems, Sixth Edition 40
Device Management (cont'd. ) Understanding Operating Systems, Sixth Edition 41
Device Management (cont'd. ) • 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, Sixth Edition 42
Device Management (cont'd. ) Understanding Operating Systems, Sixth Edition 43
Device Management (cont'd. ) • I/O manager knows nothing about file system • Overhead – I/O manager passes information requests back and forth – Uses single-layer device driver approach • Simple devices (serial and parallel printer ports) – Uses multilayered approach • More complicated devices (hard drives) • I/O operations asynchronous – Almost all low-level operations Understanding Operating Systems, Sixth Edition 44
File Management • Windows current versions – Designed to be independent of file system on which they operate – Support multiple file systems for hard disks including: • MS-DOS’s FAT file system • 32 -bit FAT file system • NTFS Understanding Operating Systems, Sixth Edition 45
File Management (cont'd. ) • 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, Sixth Edition 46
File Management (cont'd. ) • File objects – – Hierarchical names 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, Sixth Edition 47
File Management (cont'd. ) • 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, Sixth Edition 48
File Management (cont'd. ) Understanding Operating Systems, Sixth Edition 49
File Management (cont'd. ) Understanding Operating Systems, Sixth Edition 50
File Management (cont'd. ) • Mapped file I/O – Important feature of I/O system – Achieved by cooperation with I/O system and VM Manager – Memory-mapped files exploit VM capabilities • Cache manager uses mapped I/O – Manages its memory-based cache • File management system supports long filenames – Include spaces and special characters – Automatically shortens filenames when required Understanding Operating Systems, Sixth Edition 51
Network Management • Networking – Integral to Windows NT-based operating systems – Provides services • User accounts, resource security • Communication between computers – Named pipes • Provide high-level interface for passing data between two processes (regardless of locations) – Mailslots • Provide one-to-many and many-to-one communication mechanisms Understanding Operating Systems, Sixth Edition 52
Network Management (cont’d. ) • Microsoft Networks (MS-NET) – Released in 1984 – Model for NT Network Manager • Three components – Redirector – Server message block (SMB) protocol – Network server • MS-NET components – Extensively refurbished and incorporated into Windows NT and later versions Understanding Operating Systems, Sixth Edition 53
Network Management (cont'd. ) • Redirector – – Coded in C programming language Implemented as loadable file system driver Not dependent on system’s hardware architecture Function • Direct I/O request from user or application to remote server that has appropriate file or resource • Network can incorporate multiple redirectors Understanding Operating Systems, Sixth Edition 54
Network Management (cont'd. ) • SMB Protocol – High-level specification • Formatting messages sent across network – OSI model correlation • Application layer (layer 7) • Presentation layer (layer 6) – API called NETBIOS interface • Used to pass I/O requests structured in SMB format to remote computer – SMB protocols and NETBIOS API • Adopted in several networking products before appearing in Windows Understanding Operating Systems, Sixth Edition 55
Network Management (cont'd. ) • Windows Server operating systems – Written in C • Complete compatibility with existing MS-NET and LAN manager SMB protocols – Implemented as loadable file system drivers – No dependency on hardware architecture • Where operating system running Understanding Operating Systems, Sixth Edition 56
Directory Services • Active Directory – Database storing all information types – General-purpose directory service for heterogeneous network – Built entirely around DNS and LDAP – Groups machines into administrative units called domains • Each domain gets a DNS domain name (e. g. , pitt. edu) • Each domain must have at least one domain controller • Domain can have more than one domain controller – Active Directory clients use standard DNS and LDAP protocols to locate objects on the network Understanding Operating Systems, Sixth Edition 57
Directory Services (cont'd. ) Understanding Operating Systems, Sixth Edition 58
Security Management • Windows network operating systems – Provide object-based security model – Security object • Represent any resource in system (file, device, process, program, or user) – Allows administrators to give precise security access • To specific objects in system allowing them to monitor and record how objects used • Windows biggest concern – Aggressive patch management needed • Combat many viruses and worms Understanding Operating Systems, Sixth Edition 59
Security Basics • U. S. Department of Defense – Identified and categorized operating system features – Seven levels of security • Compliance with Class C 2 level security – Features in Windows • • A secure logon facility Discretionary access control Auditing ability Memory protection Understanding Operating Systems, Sixth Edition 60
Security Basics (cont'd. ) • Multilayered security system – Strives to prevent access by unauthorized users • Password management: first security layer • NTFS: second security layer – File access security • Distinguishes between owners and groups • Users decide operation types person is allowed to perform on a file • Gives user auditing capabilities – Automatically keeps track of who uses files and how Understanding Operating Systems, Sixth Edition 61
Security Terminology • Built-in security – Necessary element for managers of Web servers and networks – Requires authentication mechanism allowing client to prove identity to server – Client supplies authorization information – Server uses information to determine specific access rights given to client – Provides data integrity using various methods • Windows uses Kerberos security Understanding Operating Systems, Sixth Edition 62
Security Terminology (cont'd. ) • Kerberos Security – Authentication, data integrity, data privacy, mutual authentication – Each domain has own Kerberos server – Microsoft implemented standard Kerberos protocol – Microsoft separated users of distributed security services from their providers • Allows support for many options without unusable complexity Understanding Operating Systems, Sixth Edition 63
Security Terminology (cont'd. ) Understanding Operating Systems, Sixth Edition 64
User Interface • Start an application – Double-click application icon – Select it from Start menu • Quit application – Select Exit from File menu – Click “x” in top-right corner of window Understanding Operating Systems, Sixth Edition 65
User Interface (cont'd. ) • Start Menu – Divides functions into logical groups – Users access common functions • • • All Programs Documents, Pictures, Music, and Computer Control Panel Help and Support Search Understanding Operating Systems, Sixth Edition 66
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 67
User Interface (cont'd. ) • Windows Task Manager – Open • Pressing and holding the CTRL, ALT, delete keys – User view running applications and processes • Set priorities of each – User views information • Performance, networking, users logged into system • Windows Explorer (standard utility program) – Contains director, file display tools, file-finding tool – Series of pull-down menus • File, Edit, View, Tools, Help, etc. Understanding Operating Systems, Sixth Edition 68
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 69
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 70
User Interface (cont'd. ) • Networked systems – Identify and access network resources • Folders, printers, connections to other nodes • Command interface – Resembles MS-DOS – Available from most Windows desktops • • Keyboard shortcuts: (CTRL+C for copy) Built-in input methods and fonts for languages Windows offers an on-screen keyboard Resource monitor Understanding Operating Systems, Sixth Edition 71
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 72
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 73
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 74
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 75
User Interface (cont'd. ) Understanding Operating Systems, Sixth Edition 76
Summary • Current Windows operating systems – Ease-of-use with technical power – Operate network across several platforms • Significant security controls – Allowed inroads to organizations requiring consistent protection – Authentication models support new user interfaces – Implementation of different security architectures • Require aggressive patch management – Target of viruses and worms Understanding Operating Systems, Sixth Edition 77