《操作系统课件:Chapter-11 Case Study 2 Windows Vista》由会员分享,可在线阅读,更多相关《操作系统课件:Chapter-11 Case Study 2 Windows Vista(59页珍藏版)》请在金锄头文库上搜索。
1、MODERN OPERATING SYSTEMSThird EditionANDREW S. TANENBAUMChapter 11Case Study 2: Windows VistaTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-1. Major releases in the history of Microsoft operating systems for desktop PCs.History of Vis
2、taTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-2. DEC Operating Systems developed by Dave Cutler.2000s: NT-based Windows (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figur
3、e 11-3. The Win32 API allows programs to run on almost all versions of Windows.2000s: NT-based Windows (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-4. Split client and server releases of Windows.2000s: NT-based Windows (3)Tanenba
4、um, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-5. Comparison of lines of code for selected kernel-mode modules in Linux and Windows (from Mark Russinovich, co-author of Microsoft Windows Internals).Windows VistaTanenbaum, Modern Operating Sy
5、stems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-6. The programming layers in Windows.Programming Windows VistaTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-7. The components used to build NT subsyst
6、ems.Programming Windows Vista (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-8. Common categories of kernel-mode object types.The Native NT Application Programming Interface (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Pren
7、tice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-9. Examples of native NT API calls that use handles to manipulate objects across process boundaries.The Native NT Application Programming Interface (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved.
8、 0-13-6006639Figure 11-10. Examples of Win32 API calls and the native NT API calls that they wrap.The Win32 Application Programming InterfaceTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-11. The registry hives in Windows Vista. HKLM
9、is a short-hand for HKEY_LOCAL_MACHINE.The Windows Registry (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-12. Some of the Win32 API calls for using the registryThe Windows Registry (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2
10、008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-13. Windows kernel-mode organization.Operating System StructureTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-14. Some of the hardware functions the HAL manages.The Ke
11、rnel LayerTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-15. dispatcher_header data structure embedded in many executive objects (dispatcher objects).Dispatcher ObjectsTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, I
12、nc. All rights reserved. 0-13-6006639Figure 11-16. Simplified depiction of device stacks for two NTFS file volumes. I/O request packet passed from down the stack. The Device DriversTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-17. Th
13、e structure of an executive object managed by the object manager.Implementation of the Object ManagerTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-18. Handle table data structures for a minimal table using a single page for up to 512
14、 handles.Handles (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-19. Handle table data structures for a maximal table of up to 16 million handles.Handles (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All r
15、ights reserved. 0-13-6006639Figure 11-20. The object procedures supplied when specifying a new object type.The Object Name Space (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-21. Some typical directories in the object name space.T
16、he Object Name Space (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-22. I/O and object manager steps for creating/opening a file and getting back a file handle.The Object Name Space (3)Tanenbaum, Modern Operating Systems 3 e, (c) 2
17、008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-23. Some common executive object types managed by object manager.The Object Name Space (4)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-24. The relationship between j
18、obs, processes, threads and fibers. Jobs and fibers are optional; not all processes are in jobs or contain fibers.Processes and Threads in Windows Vista (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-25. Basic concepts used for CPU
19、 and resource management.Processes and Threads in Windows Vista (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Job, Process, Thread, and Fiber Management API Calls (1)Actual search path for finding program to execute buried in library code f
20、or Win32, but managed more explicitly in UNIX.Current working directory is kernel-mode concept in UNIX but user-mode string in Windows. UNIX parses command line and passes an array of parameters, Win32 leaves argument parsing up to individual program.Whether file descriptors can be inherited in UNIX
21、 is property of handle. In Windows it is property of both handle and parameter to process creation.Win32 is GUI-oriented, new processes directly passed information about their primary windowTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Job, Pr
22、ocess, Thread, and Fiber Management API Calls (2)Windows has no SETUID bit as property of executable, one process can create a process that runs as a different user, as long as it can obtain a token with that users credentials.Process and thread handle returned from Windows can be used to modify the
23、 new process/thread in many substantive ways. UNIX just makes modifications to new process between fork and exec calls.Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-26. Some of the Win32 calls for managing processes, threads, and fib
24、ers.SynchronizationTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Scheduling (1)The following conditions cause the currently running thread to execute the scheduler code:The currently running thread blocks on a semaphore, mutex, event, I/O, etc
25、.The thread signals an object (e.g., does an up on a semaphore or causes an event to be signaled).The quantum expires.Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Scheduling (2)The scheduler is also called under two other conditions:An I/O op
26、eration completes.A timed wait expires.Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-27. Mapping of Win32 priorities to Windows priorities.Scheduling (3)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights
27、 reserved. 0-13-6006639Figure 11-28. Windows Vista supports 32 priorities for threads.Scheduling (4)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-29. An example of priority inversion.Scheduling (5)Tanenbaum, Modern Operating Systems
28、3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Memory Management(1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-30. Virtual address space layout for three user processes on the x86. The white areas are private pe
29、r process. The shaded areas are shared among all processes.Figure 11-30. Virtual address space layout for three user processes on the x86. The white areas are private per process. The shaded areas are shared among all processes.Memory Management (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 P
30、rentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-30. Virtual address space layout for three user processes on the x86. The white areas are private per process. The shaded areas are shared among all processes.Memory Management (3)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice
31、-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-31. The principal Win32 API functions for managing virtual memory in Windows.Addressing Large Physical MemoriesTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-32. Mapped regions wi
32、th their shadow pages on disk. The lib.dll file mapped into two address spaces at same time.Implementation of Memory ManagementTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-33. A page table entry (PTE) for a mapped page on the (a) In
33、tel x86 and (b) AMD x64 architectures.Page Fault Handling (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Page Fault Handling (2)Each page fault can be considered as being in one of five categories:The page referenced is not committed.Attempt
34、ed access to a page in violation of the permissions.A shared copy-on-write page was about to be modified.The stack needs to grow.The page referenced is committed but not currently mapped in.Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure
35、11-34. Windows self-map entry used to map the physical pages of page tables and page directory into kernel virtual addresses, for the x86.Page Fault Handling (3)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639The Page Replacement AlgorithmThree
36、levels of activity by the working-set managerPeriodic based on a timerNew activity is added at each level:Lots of memory availableMemory getting tightMemory is tightTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-35. Some of the major
37、fields in the page frame database for a valid page.Physical Memory Management (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-36. The various page lists and the transitions between them.Physical Memory Management (2)Tanenbaum, Moder
38、n Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-37. Native NT API calls for performing I/O.Input/Output API CallsTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-38. A single level in a d
39、evice stack.Device DriversTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-39. The major fields of an I/O Request Packet.I/O Request PacketsTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-
40、6006639Figure 11-40. Windows allows drivers to be stacked to work with a specific instance of a device. The stacking is represented by device objects.Device StacksTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-41. The NTFS master file
41、 table.File System Structure (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-42. The attributes used in MFT records.File System Structure (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved.
42、0-13-6006639Figure 11-43. An MFT record for a three-run, nine-block stream.Storage Allocation (1)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-44. A file that requires three MFT records to store all its runs.Storage Allocation (2)Tan
43、enbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-45. The MFT record for a small directory.Storage Allocation (3)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-46. (a) An exa
44、mple of a 48-block file being compressed to 32 blocks. (b) The MFT record for the file after compression.File CompressionTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Security in Windows Vista (1)Security properties inherited from the original
45、 security design of NT:Secure login with anti-spoofing measures.Discretionary access controls.Privileged access controls.Address space protection per process.New pages must be zeroed before being mapped in.Security auditing.Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All ri
46、ghts reserved. 0-13-6006639Figure 11-47. Structure of an access token.Security in Windows Vista (2)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-48. An example security descriptor for a file.Security in Windows Vista (3)Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639Figure 11-49. The principal Win32 API functions for security.Security API CallsTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639