Appendix C: Windows 2000
Appendix C: Windows 2000
History
Design Principles
System Components
Environmental Subsystems
File system
Networking
Programmer Interface
Operating System Concepts – 7th Edition, Feb 11, 2005 C.2 Silberschatz, Galvin and Gagne ©2005
Windows 2000
Operating System Concepts – 7th Edition, Feb 11, 2005 C.3 Silberschatz, Galvin and Gagne ©2005
History
Operating System Concepts – 7th Edition, Feb 11, 2005 C.4 Silberschatz, Galvin and Gagne ©2005
Design Principles
Operating System Concepts – 7th Edition, Feb 11, 2005 C.5 Silberschatz, Galvin and Gagne ©2005
Design Principles (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.6 Silberschatz, Galvin and Gagne ©2005
2000 Architecture
Operating System Concepts – 7th Edition, Feb 11, 2005 C.7 Silberschatz, Galvin and Gagne ©2005
Depiction of 2000 Architecture
Operating System Concepts – 7th Edition, Feb 11, 2005 C.8 Silberschatz, Galvin and Gagne ©2005
System Components — Kernel
Operating System Concepts – 7th Edition, Feb 11, 2005 C.9 Silberschatz, Galvin and Gagne ©2005
Kernel — Process and Threads
Operating System Concepts – 7th Edition, Feb 11, 2005 C.10 Silberschatz, Galvin and Gagne ©2005
Kernel — Scheduling
Operating System Concepts – 7th Edition, Feb 11, 2005 C.11 Silberschatz, Galvin and Gagne ©2005
Kernel — Scheduling (Cont.)
Scheduling can occur when a thread enters the ready or wait state,
when a thread terminates, or when an application changes a
thread’s priority or processor affinity
Operating System Concepts – 7th Edition, Feb 11, 2005 C.12 Silberschatz, Galvin and Gagne ©2005
Windows 2000 Interrupt Request Levels
Operating System Concepts – 7th Edition, Feb 11, 2005 C.13 Silberschatz, Galvin and Gagne ©2005
Kernel — Trap Handling
Operating System Concepts – 7th Edition, Feb 11, 2005 C.14 Silberschatz, Galvin and Gagne ©2005
Executive — Object Manager
2000 uses objects for all its services and entities; the object
manger supervises the use of all the objects.
z Generates an object handle
z Checks security
z Keeps track of which processes are using each object
Objects are manipulated by a standard set of methods, namely
create, open, close, delete, query name, parse and
security
Operating System Concepts – 7th Edition, Feb 11, 2005 C.15 Silberschatz, Galvin and Gagne ©2005
Executive — Naming Objects
Operating System Concepts – 7th Edition, Feb 11, 2005 C.16 Silberschatz, Galvin and Gagne ©2005
Executive — Virtual Memory Manager
Operating System Concepts – 7th Edition, Feb 11, 2005 C.17 Silberschatz, Galvin and Gagne ©2005
Virtual-Memory Layout
Operating System Concepts – 7th Edition, Feb 11, 2005 C.18 Silberschatz, Galvin and Gagne ©2005
Virtual Memory Manager (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.19 Silberschatz, Galvin and Gagne ©2005
Virtual-to-Physical Address Translation
Operating System Concepts – 7th Edition, Feb 11, 2005 C.20 Silberschatz, Galvin and Gagne ©2005
Page File Page-Table Entry
Operating System Concepts – 7th Edition, Feb 11, 2005 C.21 Silberschatz, Galvin and Gagne ©2005
Executive — Process Manager
Operating System Concepts – 7th Edition, Feb 11, 2005 C.22 Silberschatz, Galvin and Gagne ©2005
Executive — Local Procedure Call Facility
The LPC passes requests and results between client and server
processes within a single machine
In particular, it is used to request services from the various 2000
subsystems
When a LPC channel is created, one of three types of message
passing techniques must be specified
z First type is suitable for small messages, up to 256 bytes; port's
message queue is used as intermediate storage, and the
messages are copied from one process to the other
z Second type avoids copying large messages by pointing to a
shared memory section object created for the channel
z Third method, called quick LPC was used by graphical display
portions of the Win32 subsystem
Operating System Concepts – 7th Edition, Feb 11, 2005 C.23 Silberschatz, Galvin and Gagne ©2005
Executive — I/O Manager
Operating System Concepts – 7th Edition, Feb 11, 2005 C.24 Silberschatz, Galvin and Gagne ©2005
File I/O
Operating System Concepts – 7th Edition, Feb 11, 2005 C.25 Silberschatz, Galvin and Gagne ©2005
Executive — Security Reference Monitor
Operating System Concepts – 7th Edition, Feb 11, 2005 C.26 Silberschatz, Galvin and Gagne ©2005
Executive – Plug-and-Play Manager
When new devices are added (for example, PCI or USB), the PnP
manager loads the appropriate driver
Operating System Concepts – 7th Edition, Feb 11, 2005 C.27 Silberschatz, Galvin and Gagne ©2005
Environmental Subsystems
Operating System Concepts – 7th Edition, Feb 11, 2005 C.28 Silberschatz, Galvin and Gagne ©2005
Environmental Subsystems (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.29 Silberschatz, Galvin and Gagne ©2005
Environmental Subsystems (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.30 Silberschatz, Galvin and Gagne ©2005
File System
Operating System Concepts – 7th Edition, Feb 11, 2005 C.31 Silberschatz, Galvin and Gagne ©2005
File System — Internal Layout
Operating System Concepts – 7th Edition, Feb 11, 2005 C.32 Silberschatz, Galvin and Gagne ©2005
File System — Recovery
Operating System Concepts – 7th Edition, Feb 11, 2005 C.33 Silberschatz, Galvin and Gagne ©2005
File System — Recovery (Cont.)
This scheme does not guarantee that all the user file data can be
recovered after a crash, just that the file system data structures
(the metadata files) are undamaged and reflect some consistent
state prior to the crash
The log is stored in the third metadata file at the beginning of the
volume
Operating System Concepts – 7th Edition, Feb 11, 2005 C.34 Silberschatz, Galvin and Gagne ©2005
File System — Security
This attribute contains the access token of the owner of the file,
and an access control list that states the access privileges that are
granted to each user that has access to the file
Operating System Concepts – 7th Edition, Feb 11, 2005 C.35 Silberschatz, Galvin and Gagne ©2005
Volume Management and Fault Tolerance
FtDisk, the fault tolerant disk driver for 2000, provides several
ways to combine multiple SCSI disk drives into one logical volume
Logically concatenate multiple disks to form a large logical volume,
a volume set
Interleave multiple physical partitions in round-robin fashion to form
a stripe set (also called RAID level 0, or “disk striping”)
z Variation: stripe set with parity, or RAID level 5.
Disk mirroring, or RAID level 1, is a robust scheme that uses a
mirror set — two equally sized partitions on tow disks with
identical data contents
To deal with disk sectors that go bad, FtDisk, uses a hardware
technique called sector sparing and NTFS uses a software
technique called cluster remapping
Operating System Concepts – 7th Edition, Feb 11, 2005 C.36 Silberschatz, Galvin and Gagne ©2005
Volume Set On Two Drives
Operating System Concepts – 7th Edition, Feb 11, 2005 C.37 Silberschatz, Galvin and Gagne ©2005
Stripe Set on Two Drives
Operating System Concepts – 7th Edition, Feb 11, 2005 C.38 Silberschatz, Galvin and Gagne ©2005
Stripe Set With Parity on Three Drives
Operating System Concepts – 7th Edition, Feb 11, 2005 C.39 Silberschatz, Galvin and Gagne ©2005
Mirror Set on Two Drives
Operating System Concepts – 7th Edition, Feb 11, 2005 C.40 Silberschatz, Galvin and Gagne ©2005
File System — Compression
Operating System Concepts – 7th Edition, Feb 11, 2005 C.41 Silberschatz, Galvin and Gagne ©2005
File System — Reparse Points
Reparse points can also be used to access files that have been
moved to offline storage
Operating System Concepts – 7th Edition, Feb 11, 2005 C.42 Silberschatz, Galvin and Gagne ©2005
Networking
Operating System Concepts – 7th Edition, Feb 11, 2005 C.43 Silberschatz, Galvin and Gagne ©2005
Networking — Protocols
Operating System Concepts – 7th Edition, Feb 11, 2005 C.44 Silberschatz, Galvin and Gagne ©2005
Networking — Protocols (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.45 Silberschatz, Galvin and Gagne ©2005
Networking — Protocols (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.46 Silberschatz, Galvin and Gagne ©2005
Networking — Dist. Processing Mechanisms
Operating System Concepts – 7th Edition, Feb 11, 2005 C.47 Silberschatz, Galvin and Gagne ©2005
Distributed Processing Mechanisms (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.48 Silberschatz, Galvin and Gagne ©2005
Networking — Redirectors and Servers
In 2000, an application can use the 2000 I/O API to access files
from a remote computer as if they were local, provided that the
remote computer is running an MS-NET server
A redirector is the client-side object that forwards I/O requests to
remote files, where they are satisfied by a server
For performance and security, the redirectors and servers run in
kernel mode
Operating System Concepts – 7th Edition, Feb 11, 2005 C.49 Silberschatz, Galvin and Gagne ©2005
Access to a Remote File
Operating System Concepts – 7th Edition, Feb 11, 2005 C.50 Silberschatz, Galvin and Gagne ©2005
Access to a Remote File (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.51 Silberschatz, Galvin and Gagne ©2005
Networking — Domains
Operating System Concepts – 7th Edition, Feb 11, 2005 C.52 Silberschatz, Galvin and Gagne ©2005
Name Resolution in TCP/IP Networks
Operating System Concepts – 7th Edition, Feb 11, 2005 C.53 Silberschatz, Galvin and Gagne ©2005
Name Resolution (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.54 Silberschatz, Galvin and Gagne ©2005
Programmer Interface — Access to Kernel Obj.
Operating System Concepts – 7th Edition, Feb 11, 2005 C.55 Silberschatz, Galvin and Gagne ©2005
Programmer Interface — Process Management
Operating System Concepts – 7th Edition, Feb 11, 2005 C.56 Silberschatz, Galvin and Gagne ©2005
Process Management (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.57 Silberschatz, Galvin and Gagne ©2005
Process Management (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.58 Silberschatz, Galvin and Gagne ©2005
Process Management (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.59 Silberschatz, Galvin and Gagne ©2005
Programmer Interface — Interprocess Comm.
Operating System Concepts – 7th Edition, Feb 11, 2005 C.60 Silberschatz, Galvin and Gagne ©2005
Programmer Interface — Memory Management
Virtual memory:
- VirtualAlloc reserves or commits virtual memory
- VirtualFree decommits or releases the memory
z These functions enable the application to determine the virtual
address at which the memory is allocated
An application can use memory by memory mapping a file into its
address space
z Multistage process
z Two processes share memory by mapping the same file into
their virtual memory
Operating System Concepts – 7th Edition, Feb 11, 2005 C.61 Silberschatz, Galvin and Gagne ©2005
Memory Management (Cont.)
Operating System Concepts – 7th Edition, Feb 11, 2005 C.62 Silberschatz, Galvin and Gagne ©2005
End of Appendix C