Case Study 2: Windows 2000 Chapter 11 11.1 History of windows 2000  11.2 Programming windows 2000  11.3 System structure  ...
Windows NT <ul><li>Some differences between Windows 98 and Windows NT </li></ul>
Windows 2000 (1) <ul><li>Different versions of Windows 2000 </li></ul>
Windows 2000 (2) <ul><li>Comparison of some operating system sizes </li></ul>
The Win32 Application Programming Interface <ul><li>The Win32 API allows programs to run on almost all versions of Windows...
The Registry (1) <ul><li>Top level keys and selected subkeys </li></ul><ul><li>Capitalization has no meaning but follows M...
The Registry (2) <ul><li>Some of the Win32 API calls for using the registry </li></ul>
The Operating System Structure <ul><li>Structure of Windows 2000 (slightly simplified). </li></ul><ul><li>Shaded area is e...
Hardware Abstraction Layer <ul><li>Some of the hardware functions the HAL manages </li></ul>
Implementation of Objects (1) <ul><li>The structure of an object </li></ul>
Implementation of Objects (2) <ul><li>Some common executive object types </li></ul><ul><li>managed by the object manager <...
Implementation of Objects (3) <ul><li>The relationship between handle tables, objects and type objects </li></ul><ul><li> ...
The Object Name Space <ul><li>Some typical directories in the object name space </li></ul>
Environment Subsystems (1) <ul><li>Various routes taken to implement Win32 API function calls </li></ul>
Environmental Subsystems (2) <ul><li>Some key windows 2000 files </li></ul><ul><ul><li>mode they run in </li></ul></ul><ul...
Processes and Threads (1) <ul><li>Basic concepts used for CPU and resource management </li></ul>
Processes and Threads (2) <ul><li>Relationship between jobs, processes, threads, and fibers </li></ul>
Job, Process, Thread & Fiber Mgmt.  API Calls <ul><li>Some of Win32 calls for managing processes, threads and fibers </li>...
Scheduling (1) <ul><li>Mapping of Win32 priorities to Windows 2000 priorities </li></ul>
Scheduling (2) <ul><li>Windows 2000 supports 32 priorities for threads </li></ul>
<ul><li>An example of priority inversion </li></ul>Scheduling (3)
MS-DOS Emulation <ul><li>How old MS-DOS programs are run under Windows 2000 </li></ul>
Booting Windows 2000 <ul><li>Processes starting up during boot phase </li></ul><ul><li>Those above the line are always sta...
Fundamental Concepts (1) <ul><li>Virtual address space layout for 3 user processes </li></ul><ul><li>White areas are priva...
Fundamental Concepts (2) <ul><li>Mapped regions with their shadow pages on disk </li></ul><ul><li>The  lib.dll  file is ma...
Memory Management System Calls <ul><li>The principal Win32 API functions for mapping virtual memory in Windows 2000 </li><...
Implementation of Memory Management <ul><li>A page table entry for a mapped page on the Pentium </li></ul>
Physical Memory Management (1) <ul><li>The various page lists and the transitions between them </li></ul>
Physical Memory Management (2) <ul><li>Some of the major fields in the page frame data base for a valid page </li></ul>
Input/Output API Calls Categories of Win32 API calls
Device Drivers <ul><li>Windows 2000 allows drivers to be stacked </li></ul>
File System API Calls in Windows 2000 (1) <ul><li>Principle Win32 API functions for file I/O </li></ul><ul><li>Second colu...
File System API Calls in Windows 2000 (2) <ul><li>A program fragment for copying a file using the Windows 2000 API functio...
File System API Calls in Windows 2000 (3) <ul><li>Principle Win32 API functions for directory management </li></ul><ul><li...
File System Structure (1) <ul><li>The NTFS master file table </li></ul>
File System Structure (2) <ul><li>The attributes used in MFT records </li></ul>
File System Structure (3) <ul><li>An MFT record for a three-run, nine-block file </li></ul>
File System Structure (4) <ul><li>A file that requires three MFT records to store its runs </li></ul>
File System Structure (5) <ul><li>The MFT record for a small directory. </li></ul>
File Name Lookup <ul><li>Steps in looking up the file  C:mariaweb.htm </li></ul>
File Compression <ul><li>(a) An example of a 48-block file being compressed to 32 blocks </li></ul><ul><li>(b) The MTF rec...
File Encryption <ul><li>Operation of the encrypting file system </li></ul>K retrieved user's public key
Security in Windows 2000 <ul><li>Structure of an access token </li></ul>
Security API Calls (1) <ul><li>Example security descriptor for a file </li></ul>
Security API Calls (2) <ul><li>Principal Win32 API functions for security </li></ul>
Caching in Windows 2000 <ul><li>The path through the cache to the hardware </li></ul>
Upcoming SlideShare
Loading in …5
×

Chapter 11

406
-1

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
406
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Chapter 11

  1. 1. Case Study 2: Windows 2000 Chapter 11 11.1 History of windows 2000 11.2 Programming windows 2000 11.3 System structure 11.4 Processes and threads in windows 2000 11.5 Memory management 11.6 Input/output in windows 2000 11.7 The windows 2000 file system 11.8 Security in windows 2000 11.9 Caching in windows 2000
  2. 2. Windows NT <ul><li>Some differences between Windows 98 and Windows NT </li></ul>
  3. 3. Windows 2000 (1) <ul><li>Different versions of Windows 2000 </li></ul>
  4. 4. Windows 2000 (2) <ul><li>Comparison of some operating system sizes </li></ul>
  5. 5. The Win32 Application Programming Interface <ul><li>The Win32 API allows programs to run on almost all versions of Windows </li></ul>
  6. 6. The Registry (1) <ul><li>Top level keys and selected subkeys </li></ul><ul><li>Capitalization has no meaning but follows Microsoft practice. </li></ul>
  7. 7. The Registry (2) <ul><li>Some of the Win32 API calls for using the registry </li></ul>
  8. 8. The Operating System Structure <ul><li>Structure of Windows 2000 (slightly simplified). </li></ul><ul><li>Shaded area is executed </li></ul><ul><li>Boxes, D, are device drivers </li></ul><ul><li>Service processes are system daemons </li></ul>
  9. 9. Hardware Abstraction Layer <ul><li>Some of the hardware functions the HAL manages </li></ul>
  10. 10. Implementation of Objects (1) <ul><li>The structure of an object </li></ul>
  11. 11. Implementation of Objects (2) <ul><li>Some common executive object types </li></ul><ul><li>managed by the object manager </li></ul>
  12. 12. Implementation of Objects (3) <ul><li>The relationship between handle tables, objects and type objects </li></ul><ul><li> </li></ul>
  13. 13. The Object Name Space <ul><li>Some typical directories in the object name space </li></ul>
  14. 14. Environment Subsystems (1) <ul><li>Various routes taken to implement Win32 API function calls </li></ul>
  15. 15. Environmental Subsystems (2) <ul><li>Some key windows 2000 files </li></ul><ul><ul><li>mode they run in </li></ul></ul><ul><ul><li>number of exported function calls </li></ul></ul><ul><ul><li>main contents of each file </li></ul></ul><ul><li>Calls in win32k.sys not formally exported </li></ul><ul><ul><li>not called directly </li></ul></ul>
  16. 16. Processes and Threads (1) <ul><li>Basic concepts used for CPU and resource management </li></ul>
  17. 17. Processes and Threads (2) <ul><li>Relationship between jobs, processes, threads, and fibers </li></ul>
  18. 18. Job, Process, Thread & Fiber Mgmt. API Calls <ul><li>Some of Win32 calls for managing processes, threads and fibers </li></ul>
  19. 19. Scheduling (1) <ul><li>Mapping of Win32 priorities to Windows 2000 priorities </li></ul>
  20. 20. Scheduling (2) <ul><li>Windows 2000 supports 32 priorities for threads </li></ul>
  21. 21. <ul><li>An example of priority inversion </li></ul>Scheduling (3)
  22. 22. MS-DOS Emulation <ul><li>How old MS-DOS programs are run under Windows 2000 </li></ul>
  23. 23. Booting Windows 2000 <ul><li>Processes starting up during boot phase </li></ul><ul><li>Those above the line are always started </li></ul><ul><li>Those below are examples of services which could be started </li></ul>
  24. 24. Fundamental Concepts (1) <ul><li>Virtual address space layout for 3 user processes </li></ul><ul><li>White areas are private per process </li></ul><ul><li>Shaded areas are shared among all processes </li></ul>
  25. 25. Fundamental Concepts (2) <ul><li>Mapped regions with their shadow pages on disk </li></ul><ul><li>The lib.dll file is mapped into two address spaces at same time </li></ul>
  26. 26. Memory Management System Calls <ul><li>The principal Win32 API functions for mapping virtual memory in Windows 2000 </li></ul>
  27. 27. Implementation of Memory Management <ul><li>A page table entry for a mapped page on the Pentium </li></ul>
  28. 28. Physical Memory Management (1) <ul><li>The various page lists and the transitions between them </li></ul>
  29. 29. Physical Memory Management (2) <ul><li>Some of the major fields in the page frame data base for a valid page </li></ul>
  30. 30. Input/Output API Calls Categories of Win32 API calls
  31. 31. Device Drivers <ul><li>Windows 2000 allows drivers to be stacked </li></ul>
  32. 32. File System API Calls in Windows 2000 (1) <ul><li>Principle Win32 API functions for file I/O </li></ul><ul><li>Second column gives nearest UNIX equivalent </li></ul>
  33. 33. File System API Calls in Windows 2000 (2) <ul><li>A program fragment for copying a file using the Windows 2000 API functions </li></ul>
  34. 34. File System API Calls in Windows 2000 (3) <ul><li>Principle Win32 API functions for directory management </li></ul><ul><li>Second column gives nearest UNIX equivalent, when one exists </li></ul>
  35. 35. File System Structure (1) <ul><li>The NTFS master file table </li></ul>
  36. 36. File System Structure (2) <ul><li>The attributes used in MFT records </li></ul>
  37. 37. File System Structure (3) <ul><li>An MFT record for a three-run, nine-block file </li></ul>
  38. 38. File System Structure (4) <ul><li>A file that requires three MFT records to store its runs </li></ul>
  39. 39. File System Structure (5) <ul><li>The MFT record for a small directory. </li></ul>
  40. 40. File Name Lookup <ul><li>Steps in looking up the file C:mariaweb.htm </li></ul>
  41. 41. File Compression <ul><li>(a) An example of a 48-block file being compressed to 32 blocks </li></ul><ul><li>(b) The MTF record for the file after compression </li></ul>
  42. 42. File Encryption <ul><li>Operation of the encrypting file system </li></ul>K retrieved user's public key
  43. 43. Security in Windows 2000 <ul><li>Structure of an access token </li></ul>
  44. 44. Security API Calls (1) <ul><li>Example security descriptor for a file </li></ul>
  45. 45. Security API Calls (2) <ul><li>Principal Win32 API functions for security </li></ul>
  46. 46. Caching in Windows 2000 <ul><li>The path through the cache to the hardware </li></ul>

×