evolution

15
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Polze Unit OS1: Unit OS1: Overview of Operating Overview of Operating Systems Systems 1.2. The Evolution of Operating Systems 1.2. The Evolution of Operating Systems

Upload: ogakhan-nyamu

Post on 27-Jan-2016

221 views

Category:

Documents


0 download

DESCRIPTION

Typical functionality implemented in either mode:Kernel: Privileged modeStrict assumptions about reliability/security of codeMemory residentCPU-, memory-, Input/Output managmentMultiprocessor management, diagnosis, test Parts of file system and of the networking interface

TRANSCRIPT

Page 1: 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

Page 2: Evolution

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)

Page 3: Evolution

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

Page 4: Evolution

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

Page 5: Evolution

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

Page 6: Evolution

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

Page 7: Evolution

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

Page 8: Evolution

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

Page 9: Evolution

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

Page 10: Evolution

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

Page 11: Evolution

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

Page 12: Evolution

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

Page 13: Evolution

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

Page 14: Evolution

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)

Page 15: Evolution

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.