Upload
herbert-strickland
View
230
Download
2
Embed Size (px)
Citation preview
1
Operating System Overview
2
Today’s Objectives Explain the main purpose of operating systems and
describe milestones of OS evolution Explain fundamental machine concepts such as:
Instruction processing, Memory hierarchy, Interrupts, and I/O
Explain fundamental OS concepts such as: System calls, processes, synchronization, Files
Explain the POSIX standard (UNIX specification)
3
Today’s Applications
Browser Second LifeYahoo
Chat ClientPop Mail
Application Software
Hardware Network
4
Application Requirements
Browser Second LifeYahoo
Chat ClientPop Mail
Application Software
Hardware Network
Read/w
rite
Display
Store Send/receive
5
Browser Second LifeYahoo
Chat ClientPop Mail
Application Software
Hardware Network
Read/w
rite
Display
StoreRead
/writ
eD
ispla
y
PrintStore
Send/receive
Send/receive
Application Requirements
6
Browser Second LifeYahoo
Chat ClientPop Mail
Application Software
Hardware NetworkRead/w
rite
Display
StoreRead
/writ
eD
ispla
y
PrintStore
Send/receive
Send/receiveRead/w
rite
Display
Prin
tSto
re Send/receive
Application Requirements
7
Browser Second LifeYahoo
Chat ClientPop Mail
Application Software
Hardware NetworkRead/w
rite
Display
StoreRead
/writ
eD
ispla
y
PrintStore
Send/receive
Send/receiveRead/w
rite
Display
Prin
tSto
re Send/receive
Send/re
ceiv
e
Display
Stor
e
Prin
tRead/write
Application Requirements
8
Delegate Common Functions?
Browser Second LifeYahoo
Chat ClientPop Mail
Application Software
Hardware NetworkRead/w
rite
Display
StoreRead
/writ
eD
ispla
y
PrintStore
Send/receive
Send/receiveRead/w
rite
Display
Prin
tSto
re Send/receive
Send/re
ceiv
e
Display
Stor
e
Prin
tRead/write
9
Delegate Common Functions to an Operating System
Web Server Second LifeYahooChat
Pop Mail
Application Software
Operating System
NetworkHardware
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
10
OS Exports a Virtual Machine Interface
Web Server Second LifeYahooChat
Pop Mail
Application Software
Operating System
NetworkHardware
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
Standard Operating System Interface (Virtual Machine)
11
Increase Portability = Minimize Machine-Specific Code
Web Server Second LifeYahooChat
Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
Operating System (machine independent part)
Standard Operating System Interface (Virtual Machine)
12
Web Server Second LifeYahooChat
Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
Operating System (machine independent part)
Standard Operating System Interface (Virtual Machine)
Port
ab
le
Increase Portability = Minimize Machine-Specific Code
13
Web Server Second LifeYahooChat
Pop Mail
Application Software
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
Operating System (machine independent part)
Standard Operating System Interface (Virtual Machine)
Port
ab
le
OS Runs on Multiple Platforms while Presenting same Interface
14
Web Server Second LifeYahooChat
Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
Operating System (machine independent part)
Standard Operating System Interface (Virtual Machine)
Port
ab
le
OS Runs on Multiple Platforms while Presenting same Interface
15
POSIX – The UNIX Interface Standard
Web Server Second LifeYahooChat
Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/WriteStandardOutput
DeviceControl
FileSystem
Communication
Operating System (machine independent part)
The POSIX Standard Specifies UNIX Interface
Port
ab
le
16
A peek into Unix
Application
Portable OS Layer
Libraries
Machine-dependent layer
User space/level
Kernel space/level
• User/kernel modes are supported by hardware
•Some systems do not have clear user-kernel boundary
17
Unix: Application
Application (E.g., emacs)
Portable OS Layer
Libraries
Machine-dependent layer
Written by programmerCompiled by programmerUses function calls
18
Unix: Libraries
Application
Portable OS Layer
Libraries (e.g., stdio.h)
Machine-dependent layer
Provided pre-compiledDefined in headersInput to linker (compiler)Invoked like functionsMay be “resolved” when
program is loaded
19
Typical Unix OS Structure
Application
Portable OS Layer
Libraries
Machine-dependent layer
system calls (read, open..)All “high-level” code
20
Typical Unix OS Structure
Application
Portable OS Layer
Libraries
Machine-dependent layer
BootstrapSystem initializationInterrupt and exception I/O device driverMemory managementKernel/user mode
switchingProcessor management
21
Summary:What is an Operating System?
It is an extended machine Hides the messy details which must be performed Presents user with a virtual machine, easier to use
It is a resource manager Each program gets time with the resource Each program gets space on the resource
22
History of Operating Systems
Early systems bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output
Batch Multiprogramming Time sharing Personal
23
History of Operating Systems
Structure of a typical job – 2nd generation
24
History of Operating Systems
Multiprogramming/timesharing system – three jobs in memory – 3rd generation
25
History of Operating Systems
Multiprogramming/timesharing system – three jobs in memory – 3rd generation
Memory Management
Process Management
26
History of Computer Generations
First generation 1945 – 1955 vacuum tubes, plug boards
Second generation 1955 - 1965 transistors, batch systems
Third generation 1965 – 1980 ICs and multiprogramming
Fourth generation 1980 – present personal computers
27
Computer Hardware Review
Components of a simple personal computerBus
28
Large Pentium system
29
Computer Hardware Review
Components of a simple personal computer
Bus
CPU
30
CPU Fetch instruction from code memory Fetch operands from data memory Perform operation (and store result) Go to next instruction
31
CPU Registers Fetch instruction from code memory Fetch operands from data memory Perform operation (and store result) Go to next instruction
Note: CPU must maintain certain state Current instructions to fetch (program
counter) Location of code memory segment Location of data memory segment
32
CPU Register Examples Hold instruction operands Point to start of
Code segment Data segment Stack segment
Point to current position of Instruction pointer Stack pointer
33
CPU Register Examples Hold instruction operands Point to start of
Code segment Data segment Stack segment
Point to current position of Instruction pointer Stack pointer
Why stack?
34
Code Layout for Process
Processes have three segments: text, data, stack
35
Code Layout for Process
Processes have three segments: text, data, stack
Where is this stored?
36
Computer Hardware Review
Components of a simple personal computer
BusCPU Memory
37
Memory Hierarchy
Typical memory hierarchy– numbers shown are rough approximations
38
Computer Hardware Review
Components of a simple personal computer
BusCPU Memory
I/ODevices
39
I/O Interrupt Mechanism
(a)
a) Steps in starting an I/O device and getting interrupt
b) How the CPU is interrupted
(b)
40
Computer Hardware ReviewExample I/O Device: Disk
Structure of a disk drive
41
Operating System Review:Processes
A process tree A created two child processes, B and C B created three child processes, D, E, and F
42
Context Switching
How would you switch CPU execution from one process to another?
43
Semaphores
Control access to resources
44
Shared Resources, Conflicts, and Deadlocks
(a) A potential deadlock. (b) an actual deadlock.
45
Inter-process Communication
Two processes connected by a pipe