Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 15

Unit OS1:

Overview of Operating Systems


1.2. The Evolution of Operating Systems

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)

Roadmap for Section 1.2.


History of Operating Systems
Tasks of an Operating System
OS as extension of the hardware
Main concepts: processes, files, system calls
Operating system structuring

The Evolution of Operating


System Functionality
Batch Job Processing
Linkage of library routines to programs
Management of files, I/O devices, secondary storage
Multiprogramming
Resource managment and sharing for multiple programs
Quasi-simultaneous program execution
Single user
Multiuser/Timesharing Systems
Management of multiple simultaneous users interconnected via terminals
Fair resource management: CPU scheduling, spooling, mutual exclusion
Real-Time Systems (process control systems)
Management of time-critical processes
High requirements with respect to reliability and availability

Tasks of an Operating System


Processor management - Scheduling
Fairness
Non-blocking behavior
Priorities
Memory management
Virtual versus physical memory, memory hierarchy
Protection of competing/conurrent programs
Storage management File system
Access to external storage media
Device management
Hiding of hardware dependencies
Management of concurrent accesses
Batch processing
Definition of an execution order; throughput maximization

Kernel- and User Mode Programs


Typical functionality implemented in either mode:
Kernel:
Privileged mode
Strict assumptions about reliability/security of code
Memory resident
CPU-, memory-, Input/Output managment
Multiprocessor management, diagnosis, test
Parts of file system and of the networking interface
User Space:
More flexible
Simpler maintenance and debugging
Compiler, assembler, interpreter, linker/loader
File system management, telecommunication, network management
Editors, spreadsheets, user applications

Layered Model of
Operating System Concepts
nr name typical objects

typical operations

Integrated circuits

register, gate, bus Nand, Nor, Exor

Machine language

instruction counter, ALU

Subroutine linkage

procedure block

Stack Call, JSR, RTS

Interrupts

interrupt handlers

Bus error, Reset

Simple processes

process, semaphore

Local memory data block, I/O channel

Virtual model

Process communication

channel (pipe), message

File management

files

page, frame

wait, ready, execute

read, write, open, close

read, write, swap


read, write, open

read, write, open, copy

10 Device management

ext.memory, terminals

11 I/O data streams

data streams

12 User processes user processes

Add, Move, Load, Store

read, write

open, close, read, write

login, logout, fork

13 Directory management

internal tables

14 Graphical user interface

window, menu, icon

create, delete, modify


OS system calls

Operating Systems Evolution


55

IOCS

IBSYS

60

CTSS

65 DOS/360

OS/360

70
75

DOS/VDSE MVS/370

VM/370

MVS/XA

VM/XA SYSTEM V

90
VS/ESA MVS/ES
95

UNIXV.7
SYSTEM III

VS

VM/ESA

SYSTEM V.4

RT-11

LINUX AIX/ESA

SOLARIS 2

CP/M

VMS 1.0
4.1BSD XENIX
MS-DOS 1.0

SUN OS
4.2BSD
AIX POSIX
MACH
OSF/1
4.3BSD
AIX/370

00
03

RSX-11M

UNIX

TSO

80
85

MULTICS

CP/CM5

4.4BSD

OS/2

WIN 3.0
VMS 5.4

DR/DOS

WIN 3.1
WIN NT WIN 9X

VMS 7.3 WIN 2000


LINUX 2.6

SOLARIS 10

WIN XP
WIN Server 2003

Structuring of Operating Systems


Monolithical systems

App

App
User Mode

Unstructured

Kernel Mode

System services

Supervisor call changes


from user mode into
kernel mode
OS
procedures

Hardware
9

Layered OS
Each layer is given access only to lower-level
interfaces
Application
Program

Application
Program

Application
Program

User Mode
Kernel Mode

System Services
File System
Memory and I/O Device Management
Processor Scheduling
Hardware

10

Microkernel OS
(Client/server OS)
Kernel implements:
Scheduling
Memory
Management
Interprocess
communication
(IPC)

Client
App

Memory
Server
Process
Server

Network
Server
File
Server

Display
Server
User Mode
Kernel Mode

request

Microkernel

reply

User-mode servers
Hardware
11

VMS and Windows


- a birds-eye view on architectures
Environment Subsystems

Layered design for VAX/VMS


operating system
Layered Products
(Apps)

Program
Development Tools

Utilities

User
Application
Subsystem DLL

Record Management Service (RMS)


Executive
System services
Kernel

Windows

POSIX
Windows

Kernel
Mode
Executive
Device Drivers

Command Language Interpreter (CLI)


Supervisor

I/O Subsystem

OS/2

User
Mode

Support Libraries
User

Memory
Management

System
& Service
Processes

Hardware Abstraction Layer (HAL)

Kernel

Windows
User/GDI
Device
Driver

Windows
high-level architecture

Process and
time management

System-wide data structures


Platform-Adaptation Layer (PAL) - Alpha

12

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 Date
PDC developer release Jul 1992
NT 3.1 Jul 1993
NT 3.5 Sep 1994
NT 3.51 May 1995
NT 4.0 Jul 1996
Windows 2000 (NT 5.0) Dec 1999
Windows XP (NT 5.1) Aug 2001
Windows Server 2003 (NT 5.2) Mar 2003
Longhorn PDC Developer Preview
Oct 2003

Within the CRK, the term Windows refers to Windows 2000, XP, Server 2003
13

Windows And Linux Evolution


Windows and Linux kernels are based on foundations developed in
the mid-1970s
2000

s
do
w
W
in

N
T

v1
.

2000
0

v2
.

ux

v1

.0

1990

Li
n

1980

v2
v2.2
v2.3
.
v2 4
.6

S
V
M
U
N
IX

bo
rn
U
N
IX
pu
bl
U
ic
N
IX
V
6

1970

4.
W
0
in
d
W ow
in s
Se do 20
rv w s 0 0
er X
20 P
03

1990
3.
1

1980
0

1970

(see http://www.levenez.com for diagrams showing history of Windows & Unix)


14

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.

David Donald Miller, OpenVMS Operating System Concepts,


2nd Ed., Digital Press, 1997.
History of Digital Operating Systems (from pp. 447)

Mark E. Russinovich and David A. Solomon,


Microsoft Windows Internals,
4th Edition, Microsoft Press, 2004.
Historical Perspective (from pp. xix)

G. Pascal Zachary, Show Stopper! The Breakneck Race to Create


Windows NT and the Next Generation at Microsoft,
ISBN: 0029356717, Free Press, 1994.
15

You might also like