copyright ©: nahrstedt, angrave, abdelzaher1 operating system overview tarek abdelzaher lawrence...
DESCRIPTION
Copyright ©: Nahrstedt, Angrave, Abdelzaher 3 Today’s Applications BrowserSecond Life Yahoo Chat Client Pop Mail Application Software HardwareNetworkTRANSCRIPT
Copyright ©: Nahrstedt, Angrave, Abdelzaher 1
Operating System Overview
Tarek AbdelzaherLawrence Angrave
Vikram Adve
Copyright ©: Nahrstedt, Angrave, Abdelzaher
2
Today’s Objectives By the end of the hour you should be able to:
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)
Copyright ©: Nahrstedt, Angrave, Abdelzaher
3
Today’s Applications
Browser Second Life YahooChat Client Pop Mail
Application Software
Hardware Network
Copyright ©: Nahrstedt, Angrave, Abdelzaher
4
Application Requirements
Browser Second Life YahooChat Client Pop Mail
Application Software
Hardware Network
Read
/writ
e
Display
Store Send/receive
Copyright ©: Nahrstedt, Angrave, Abdelzaher
5
Browser Second Life YahooChat Client Pop Mail
Application Software
Hardware Network
Read
/writ
e
Display
StoreRead
/writ
eDi
spla
y PrintStore
Send/receive
Send/receive
Application Requirements
Copyright ©: Nahrstedt, Angrave, Abdelzaher
6
Browser Second Life YahooChat Client Pop Mail
Application Software
Hardware NetworkRead/write
Display
StoreRead
/writ
eDi
spla
y PrintStore
Send/receive
Send/receiveRead
/writ
e
Display
Stor
e Send/receiveApplication Requirements
Copyright ©: Nahrstedt, Angrave, Abdelzaher
7
Browser Second Life YahooChat Client Pop Mail
Application Software
Hardware NetworkRead/write
Display
StoreRead
/writ
eDi
spla
y PrintStore
Send/receive
Send/receiveRead
/writ
e
Display
Stor
e Send/receive
Send/receiveDisplay
Store
PrintRead/write
Application Requirements
Copyright ©: Nahrstedt, Angrave, Abdelzaher
8
Delegate Common Functions?
Browser Second Life YahooChat Client Pop Mail
Application Software
Hardware NetworkRead/write
Display
StoreRead
/writ
eDi
spla
y PrintStore
Send/receive
Send/receiveRead
/writ
e
Display
Stor
e Send/receive
Send/receiveDisplay
Store
PrintRead/write
Copyright ©: Nahrstedt, Angrave, Abdelzaher
9
Delegate Common Functions to an Operating System
Web Server Second Life YahooChat Pop Mail
Application Software
Operating System
NetworkHardware
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Copyright ©: Nahrstedt, Angrave, Abdelzaher
10
OS Exports a Virtual Machine Interface
Web Server Second Life YahooChat Pop Mail
Application Software
Operating System
NetworkHardware
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Standard Operating System Interface (Virtual Machine)
Copyright ©: Nahrstedt, Angrave, Abdelzaher
11
Increase Portability = Minimize Machine-Specific Code
Web Server Second Life YahooChat Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)
Copyright ©: Nahrstedt, Angrave, Abdelzaher
12
Web Server Second Life YahooChat Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)
Port
able
Increase Portability = Minimize Machine-Specific Code
Copyright ©: Nahrstedt, Angrave, Abdelzaher
13
Web Server Second Life YahooChat Pop Mail
Application Software
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)
Port
able
OS Runs on Multiple Platforms while Presenting same Interface
Copyright ©: Nahrstedt, Angrave, Abdelzaher
14
Web Server Second Life YahooChat Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)
Port
able
OS Runs on Multiple Platforms while Presenting same Interface
Copyright ©: Nahrstedt, Angrave, Abdelzaher
15
POSIX – The UNIX Interface Standard
Web Server Second Life YahooChat Pop Mail
Application Software
NetworkHardware
Machine specific part
Read/Write StandardOutput
DeviceControl
FileSystem Communication
Operating System (machine independent part)The POSIX Standard Specifies UNIX Interface
Port
able
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
17
Unix: Application
Application (E.g., emacs)
Portable OS Layer
Libraries
Machine-dependent layer
Written by programmerCompiled by programmerUses function calls
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
19
Typical Unix OS Structure
Application
Portable OS Layer
Libraries
Machine-dependent layer
system calls (read, open..)All “high-level” code
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
23
History of Operating Systems
Structure of a typical job – 2nd generation
Copyright ©: Nahrstedt, Angrave, Abdelzaher
24
History of Operating Systems
Multiprogramming/timesharing system – three jobs in memory – 3rd generation
Copyright ©: Nahrstedt, Angrave, Abdelzaher
25
History of Operating Systems
Multiprogramming/timesharing system – three jobs in memory – 3rd generation
Memory Management
Process Management
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
27
Computer Hardware Review
Components of a simple personal computer
Bus
Copyright ©: Nahrstedt, Angrave, Abdelzaher
28
Large Pentium system
Copyright ©: Nahrstedt, Angrave, Abdelzaher
29
Computer Hardware Review
Components of a simple personal computer
BusCPU
Copyright ©: Nahrstedt, Angrave, Abdelzaher
30
CPU Fetch instruction from code memory Fetch operands from data memory Perform operation (and store result) Go to next instruction
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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
Copyright ©: Nahrstedt, Angrave, Abdelzaher
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?
Copyright ©: Nahrstedt, Angrave, Abdelzaher
34
Code Layout for Process
Processes have three segments: text, data, stack
Copyright ©: Nahrstedt, Angrave, Abdelzaher
35
Code Layout for Process
Processes have three segments: text, data, stack
Where is this stored?
Copyright ©: Nahrstedt, Angrave, Abdelzaher
36
Memory Hierarchy
Typical memory hierarchy– numbers shown are rough approximations
Copyright ©: Nahrstedt, Angrave, Abdelzaher
37
Computer Hardware Review
Components of a simple personal computer
BusCPU
Copyright ©: Nahrstedt, Angrave, Abdelzaher
38
Computer Hardware Review
Components of a simple personal computer
Bus
CPU Memory
Copyright ©: Nahrstedt, Angrave, Abdelzaher
39
Computer Hardware Review
Components of a simple personal computer
BusCPU Memory I/O
Devices
Copyright ©: Nahrstedt, Angrave, Abdelzaher
40
I/O Interrupt Mechanism
(a)
a) Steps in starting an I/O device and getting interrupt
b) How the CPU is interrupted
(b)
Copyright ©: Nahrstedt, Angrave, Abdelzaher
41
Computer Hardware ReviewExample I/O Device: Disk
Structure of a disk drive
Copyright ©: Nahrstedt, Angrave, Abdelzaher
42
Operating System Review:Processes
A process tree A created two child processes, B and C B created three child processes, D, E, and F
Copyright ©: Nahrstedt, Angrave, Abdelzaher
43
Context Switching How would you switch CPU execution
from one process to another?
Copyright ©: Nahrstedt, Angrave, Abdelzaher
44
Semaphores Control access to resources
Copyright ©: Nahrstedt, Angrave, Abdelzaher
45
Shared Resources, Conflicts, and Deadlocks
(a) A potential deadlock. (b) an actual deadlock.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
46
Inter-process Communication
Two processes connected by a pipe