Download - Evolution
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas PolzeWindows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze
Unit OS1: Unit OS1: Overview of Operating SystemsOverview of Operating Systems
1.2. The Evolution of Operating Systems1.2. The Evolution of Operating Systems
2
Copyright NoticeCopyright Notice© 2000-2005 David A. Solomon and Mark Russinovich© 2000-2005 David A. Solomon and Mark Russinovich
These materials are part of the These materials are part of the Windows Operating Windows Operating System Internals Curriculum Development Kit,System Internals Curriculum Development Kit, developed by David A. Solomon and Mark E. developed by David A. Solomon and Mark E. Russinovich with Andreas PolzeRussinovich with Andreas Polze
Microsoft has licensed these materials from David Microsoft has licensed these materials from David Solomon Expert Seminars, Inc. for distribution to Solomon Expert Seminars, Inc. for distribution to academic organizations solely for use in academic academic organizations solely for use in academic environments (and not for commercial use)environments (and not for commercial use)
3
Roadmap for Section 1.2.Roadmap for Section 1.2.
History of Operating SystemsHistory of Operating Systems
Tasks of an Operating SystemTasks of an Operating System
OS as extension of the hardwareOS as extension of the hardware
Main concepts: processes, files, system callsMain concepts: processes, files, system calls
Operating system structuringOperating system structuring
4
The Evolution of Operating The Evolution of Operating System FunctionalitySystem Functionality
Batch Batch Job Job ProcessingProcessing
Linkage of library routines to programs Linkage of library routines to programs
Management of files, I/O devices, secondary storageManagement of files, I/O devices, secondary storage
MultiprogrammingMultiprogramming
Resource managment and sharing for multiple programs Resource managment and sharing for multiple programs
Quasi-Quasi-simultaneous program executionsimultaneous program execution
Single user Single user
Multiuser/Timesharing SystemMultiuser/Timesharing Systemss
Management of multiple simultaneous users interconnected via terminalsManagement of multiple simultaneous users interconnected via terminals
Fair resource managementFair resource management: : CPU CPU schedulingscheduling, spooling, mutual exclusion, spooling, mutual exclusion
Real-Time SystemReal-Time Systemss ( (process control systemsprocess control systems))
Management of time-critical processesManagement of time-critical processes
High requirements with respect to reliability and availabilityHigh requirements with respect to reliability and availability
5
Tasks of an Operating SystemTasks of an Operating System
Processor managementProcessor management - Scheduling - Scheduling
Fairness Fairness
Non-blocking behaviorNon-blocking behavior
PrioritiesPriorities
Memory managementMemory management
VVirtuirtualal versus physi versus physicalcal memory, memory hierarchymemory, memory hierarchy
Protection of competing/conurrent programsProtection of competing/conurrent programs
Storage managementStorage management – File – File system system
Access to external storage mediaAccess to external storage media
Device managementDevice management
Hiding of hardware dependenciesHiding of hardware dependencies
Management of concurrent accesses Management of concurrent accesses
Batch Batch pprocessingrocessing
Definition of an execution order; throughput maximizationDefinition of an execution order; throughput maximization
6
Kernel- Kernel- andand User Mode User Mode ProgramsPrograms
Typical functionality implemented in either mode:Typical functionality implemented in either mode:
Kernel: Kernel:
PrivilegPrivileged modeed mode
Strict assumptions about reliability/security of codeStrict assumptions about reliability/security of code
Memory residentMemory resident
CPU-, memory-, Input/Output managmentCPU-, memory-, Input/Output managment
Multiprocessor management, diagnosis, test Multiprocessor management, diagnosis, test
Parts of file system and of the networking interfaceParts of file system and of the networking interface
User Space: User Space:
More flexibleMore flexible
Simpler maintenance and debuggingSimpler maintenance and debugging
CompilerCompiler, a, assembler, ssembler, iinterpreternterpreter, linker/loader, linker/loader
File system managementFile system management, , tteleeleccommuniommuniccation, ation, network managementnetwork management
EditorEditorss, , spreadsheetsspreadsheets, , user applicationsuser applications
7
Layered Model of Layered Model of Operating System ConceptsOperating System Conceptsnnr r nname ame typtypicalical oobjebjeccttss typicaltypical ooperationperationss
1 1 Integrated circuitsIntegrated circuits rregister, egister, gategate, , bbus us Nand, Nor, Exor Nand, Nor, Exor
22 Machine languageMachine language instinstrruction counteruction counter, ALU , ALU Add, Move, Load, Store Add, Move, Load, Store
3 3 Subroutine linkageSubroutine linkage procedure blockprocedure block Stack Call, JSR, RTS Stack Call, JSR, RTS
4 4 InterruptsInterrupts interrupt handlersinterrupt handlers BusBus error error, Reset , Reset
55 Simple pSimple proroccesseessess processprocess, , ssemaphoremaphoreewait, ready, execute wait, ready, execute
6 6 Local memoryLocal memory data blockdata block, , I/O channelI/O channel read, write, open, close read, write, open, close
7 7 VVirtuirtuaal l modelmodel page, frame page, frame read, write, swap read, write, swap
8 8 Process communicationProcess communication channelchannel (pipe), (pipe), message message read, write, open read, write, open
9 9 File managementFile management filesfiles read, write, open, copy read, write, open, copy
10 10 Device managementDevice management ext.ext.memorymemory, , tterminals erminals read, write read, write
11 11 I/O data streamsI/O data streams data streamsdata streams open, close, read, write open, close, read, write
12 12 User processesUser processes user processesuser processes login, logout, fork login, logout, fork
13 13 Directory managementDirectory management interninternal tablesal tables create, delete, modify create, delete, modify
14 14 Graphical user interfaceGraphical user interface window, menu, iconwindow, menu, icon OS system callsOS system calls
8
Operating Systems Operating Systems EvolutionEvolution
55
60
65
70
75
80
85
90
95
00
03
IOCS
DOS/360
DOS/VDSE
VS
VS/ESA
OS/360
MVS/370
MVS/XA
MVS/ES
TSO
IBSYS
CTSS
CP/CM5
VM/370
VM/XA
VM/ESA
SYSTEM III
SYSTEM V
SYSTEM V.4
MULTICS
UNIX
UNIXV.7
AIX/370
AIXSUN OS
POSIX
SOLARIS 2
4.1BSD
4.2BSD
4.3BSD
4.4BSD
MACH
OSF/1
AIX/ESA
XENIX MS-DOS 1.0
CP/M
DR/DOS
OS/2WIN 3.0
WIN NT
WIN 2000
WIN 9X
WIN XP
LINUX
RSX-11M
VMS 1.0
VMS 5.4
VMS 7.3
WIN 3.1
SOLARIS 10
RT-11
LINUX 2.6
WIN Server 2003
9
Structuring of Operating SystemsStructuring of Operating Systems
Monolithical systemsMonolithical systems
UnstructuredUnstructured
Supervisor call Supervisor call changeschanges
fromfrom user mode in user mode intoto
kernel modekernel mode
App App
System services
Hardware
OS procedures
User Mode
Kernel Mode
10
Layered OSLayered OS
Each layer is given access only to lower-level Each layer is given access only to lower-level interfacesinterfaces
ApplicationProgram
ApplicationProgram
ApplicationProgram
System Services
File System
Memory and I/O Device Management
Processor Scheduling
Hardware
User Mode
Kernel Mode
11
Microkernel OSMicrokernel OS(Client/server OS)(Client/server OS)
Kernel implements:Kernel implements:
SchedulingScheduling
Memory Memory ManagementManagement
Interprocess Interprocess communication communication (IPC)(IPC)
User-mode serversUser-mode servers
MemoryServer
ClientApp
Network Server
ProcessServer
FileServer
DisplayServer
Microkernel
Hardware
request
reply
User Mode
Kernel Mode
12
VMS and WindowsVMS and Windows- a bird’s-eye view on architectures- a bird’s-eye view on architectures
System-wide data structures
Memory Management
I/O SubsystemProcess and
time management
System servicesKernel
Record Management Service (RMS)Executive
Command Language Interpreter (CLI)Supervisor
Platform-Adaptation Layer (PAL) - Alpha
Support LibrariesUtilities
Program Development Tools
Layered Products(Apps)
User
Layered design for VAX/VMSoperating system
Windows high-level architecture
OS/2 WindowsPOSIX
Environment Subsystems
UserApplication
Subsystem DLL
WindowsUser/GDI
DeviceDriver
Executive
Device Drivers Kernel
Hardware Abstraction Layer (HAL)
UserMode
KernelMode
System& ServiceProcesses
Windows
13
Release HistoryRelease HistoryAlthough product name has varied, internally, each Although product name has varied, internally, each version identified by a “build number”version identified by a “build number”
Internal identification - increments each time NT is built from Internal identification - increments each time NT is built from source (5-6 times a week)source (5-6 times a week)Interesting timeline:Interesting timeline:http://windows2000.about.com/library/weekly/aa010218a.htm
Build#Build# VersionVersion DateDate297297 PDC developer releasePDC developer release Jul 1992Jul 1992511511 NT 3.1NT 3.1 Jul 1993Jul 1993807807 NT 3.5NT 3.5 Sep 1994Sep 199410571057 NT 3.51NT 3.51 May 1995May 199513811381 NT 4.0NT 4.0 Jul 1996Jul 199621952195 Windows 2000 (NT 5.0)Windows 2000 (NT 5.0) Dec 1999Dec 199926002600 Windows XP (NT 5.1)Windows XP (NT 5.1) Aug 2001Aug 200137903790 Windows Server 2003 (NT 5.2)Windows Server 2003 (NT 5.2) Mar 2003Mar 200340514051 Longhorn PDC Developer PreviewLonghorn PDC Developer Preview Oct 2003Oct 2003
Within the CRK, the term Windows refers to Windows 2000, XP, Server 2003Within the CRK, the term Windows refers to Windows 2000, XP, Server 2003
14
Windows And Linux EvolutionWindows And Linux EvolutionWindows and Linux kernels are based on foundations developed in Windows and Linux kernels are based on foundations developed in the mid-1970sthe mid-1970s
1970 1980 1990 2000
VMS
v1.0
Win
dows NT
3.1
NT
4.0
Win
dows 20
00
Win
dows XP
Serv
er 2
003
1970 1980 1990 2000
UNIX
bor
nUNIX
pub
licUNIX
V6
Linu
x v1
.0v2
.0
v2.2
v2.3
v2.4
v2.6
(see http://www.levenez.com for diagrams showing history of Windows & Unix)
15
Further ReadingFurther Reading
Dennis M. Ritchie, The Evolution of the Unix Time-sharing System, Dennis M. Ritchie, The Evolution of the Unix Time-sharing System,
in Proc. of Lang. Design and Programming Meth. Conf., Sydney, in Proc. of Lang. Design and Programming Meth. Conf., Sydney, Australia, Sept 1979, Lecture Notes in Computer Science #79, Australia, Sept 1979, Lecture Notes in Computer Science #79, Springer-Verlag, 1980.Springer-Verlag, 1980.
David Donald Miller, OpenVMS Operating System Concepts, David Donald Miller, OpenVMS Operating System Concepts,
2nd Ed., Digital Press, 1997.2nd Ed., Digital Press, 1997.
History of Digital Operating Systems (from pp. 447)History of Digital Operating Systems (from pp. 447)
Mark E. Russinovich and David A. Solomon, Mark E. Russinovich and David A. Solomon, Microsoft Windows Internals, Microsoft Windows Internals,
4th Edition, Microsoft Press, 2004.4th Edition, Microsoft Press, 2004.
Historical Perspective (from pp. xix)Historical Perspective (from pp. xix)
G. Pascal Zachary, Show Stopper! The Breakneck Race to Create G. Pascal Zachary, Show Stopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft, Windows NT and the Next Generation at Microsoft,
ISBN: 0029356717, Free Press, 1994.ISBN: 0029356717, Free Press, 1994.