Beruflich Dokumente
Kultur Dokumente
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze
Copyright Notice
2000-2005 David A. Solomon and Mark Russinovich
These materials are part of the Windows Operating System Internals Curriculum Development Kit, developed by David A. Solomon and Mark E. Russinovich with Andreas Polze Microsoft has licensed these materials from David Solomon Expert Seminars, Inc. for distribution to academic organizations solely for use in academic environments (and not for commercial use)
Application programs
System programs
Microprogramming
Physical devices
Hardware
Multiprocessing
Job 3 Job 2 Job 1 OS
Memory partitions
File management
files
ext.memory, terminals data streams user processes internal tables window, menu, icon
10 Device management 11 I/O data streams 12 User processes 13 Directory management 14 Graphical user interface
10
CTSS MULTICS RSX-11M RT-11 CP/M VMS 1.0 4.1BSD XENIX MS-DOS 1.0 WIN 3.0 VMS 5.4
DOS/VDSE MVS/370
VM/370
SYSTEM III VM/XA SYSTEM V SYSTEM V.4
UNIXV.7
SUN OS 4.2BSD AIX POSIX MACH OSF/1 4.3BSD AIX/370 SOLARIS 2 4.4BSD
DR/DOS OS/2
WIN 3.1
LINUX AIX/ESA
WIN NT
WIN 9X
11
A B D E F C
Process tree
blocked
Files, directories, root Path, working directory Protection, rwx bits File descriptor, handle Special files, I/O devices Block I/O, character I/O Standard input/output/error pipes
mia pit tmp etc usr
13
File manipulation
Device manipulation Information maintenance communications
14
15
App
App
User Mode Kernel Mode
System services
Hardware
16
Layered OS
Each layer is given access only to lower-level interfaces
Application Program Application Program Application Program
Processor Scheduling
Hardware
17
request
Microkernel
reply
client
page faults
kernel
Lookup Service
upcalls
netmsgsrv
Advertise service
pager
19
memory_object_data_request access=VM_PROT_WRITE
Kernel C
4 memory_object_data_provided lock_value=VM_PROT_NONE memory_object_lock_completed 3
pager
2
Kernel B
memory_object_lock_request should_flush=TRUE
20
Windows NT Origins
Design began in late 1988/early 1989 after Dave Cutler and a handful of Digital employees started at Microsoft
Dave Cutlerlegend in the operating system world
Project leader for Digitals VMS (Virtual Memory System)
Internally, Windows NT has many similarities to Digitals VMS (scheduling, memory management, I/O and driver model) VMS+1=WNT just a coincidence
Also, the i860 Risc CPU NT was originally targeted at was code named N-Ten
NOTE: In the CRK, Windows refers to Windows 2000, Windows XP, and Windows Server 2003
Where there are specific differences, these are noted
21
OS/2
Windows
POSIX Windows
Utilities
User
Support Libraries
Command Language Interpreter (CLI) Supervisor Record Management Service (RMS) Executive
22
Release History
Although product name has varied, internally, each version identified by a build number
Internal identification - increments each time NT is built from source (5-6 times a week) Interesting timeline: http://windows2000.about.com/library/weekly/aa010218a.htm Build# 297 511 807 1057 1381 2195 2600 3790 4051 Version PDC developer release NT 3.1 NT 3.5 NT 3.51 NT 4.0 Windows 2000 (NT 5.0) Windows XP (NT 5.1) Windows Server 2003 (NT 5.2) Longhorn PDC Developer Preview Date Jul 1992 Jul 1993 Sep 1994 May 1995 Jul 1996 Dec 1999 Aug 2001 Mar 2003 Oct 2003
Within the CRK, the term Windows refers to Windows 2000, XP, Server 2003
23
1970
1980
1990
2000
Further Reading
Dennis M. Ritchie, The Evolution of the Unix Time-sharing System,
in Proc. of Lang. Design and Programming Meth. Conf., Sydney, Australia, Sept 1979, Lecture Notes in Computer Science #79, Springer-Verlag, 1980.
G. Pascal Zachary, Show Stopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft,
ISBN: 0029356717, Free Press, 1994.
25