Professional Documents
Culture Documents
Operating Systems: Basic Concepts and History
Operating Systems: Basic Concepts and History
Operating Systems: Basic Concepts and History
Operating Systems:
Basic Concepts and History
Hardware
OS as juggler: providing the illusion of a dedicated machine with
infinite memory and CPU.
OS as government:
t protecting
t ti users from
f
each
h other,
th allocating
ll
ti
resources efficiently and fairly, and providing secure and safe
communication
OS as complex system: keeping OS design and implementation
as simple as possible is the key to getting the OS to work
WhatisanOperatingSystem?
WhatisanOperatingSystem?
Any code that runs with the hardware kernel bit set
Key questions:
Why is the application interface defined the way it is?
Should we push more functionality into applications, the OS, or the
hardware?
What are the tradeoffs between programmability, complexity, and
flexibility?
OperatingSystemFunctions
Whydoweneedoperatingsystems?
Service provider
Convenience
File system
Standard libraries
Window
system
Wi d
t
Efficiency
y
Single-function
Single function devices (embedded controllers
controllers, Nintendo
Nintendo, ))
1981
2007
Factor
MIPS
57,000
57,000
$/SPECInt
$100K
$2
50,000
DRAM size
128KB
2GB
16,000
Disk size
10MB
1TB
100,000
Net BW
9600 bps
100 Mb/s
10 000
10,000
Address bits
16
64
Users/machine
100
<1
100
Hardware
Example OS Services
User Abstraction
OS Service
Hardware Support
Processor
Process management,
g, Traps,
p ,
Scheduling,
Protections, Billing,
Synchronization
Process
Protection
Memory
Management, Protection,
Virtual memory
Address space
Interrupts
Interrupt Vectors
I/O devices
Terminal, Mouse,
Printer, (System
Calls)
System calls
I/O
Interrupts or Memory-Mapping
File system
Management, Persistence
Files
Scheduling, error
Scheduling
recovery, billing
Timer
Distributed
systems
Network security,
Distributed file system
Synchronization
Atomic instructions
Virtual Memory
10
HistoryofOperatingSystems:Phases
11
12
ABriefHistoryofOperatingSystems
HistoryofOperatingSystems:Phases
Handprogrammedmachines(4555)
Execution time
Execution time +
Card reader time
= % utilization
tili ti
13
14
Batch/Offlineprocessing(5565)
Batchprocessing(5565)
Card Reader:
CPU:
Read Job 1
Job 2
User Data
Job 3
Job 2
Execute Job 1
Printer:
Print Job 1
Job 3
Job 2
User Program
Job 3
Tape
System Software
Tape
Operating
Ope
at g Syste
System
Card Reader:
CPU:
Printer:
Read Batch 1
Batch 2
Batch 3
Execute Batch 1
Batch 2
Print Batch 1
Batch 3
Batch 2
Card
Reader
Batch 3
Input
15
Compute
Tape
Tape
Printer
Output
16
Multiprogramming(6580)
Multiprogramming(6580)
Keep several jobs in memory and multiplex CPU between
jobs
Program 1
User Program 2
User Program 1
System Software
Operating System
User Program n
main{
...
...
User Program n
program P
begin
:
Read(var)
:
end P
k: read()
I/O
Device
read{
startIO()
waitIO()
User Program 2
system call Read()
begin
StartIO(input device)
WaitIO(interrupt)
EndIO(input device)
:
end Read
OS
User Program 1
endio()
System Software
interrupt
k+1:
}
Operating System
}
17
18
HistoryofOperatingSystems:Phases
Multiprogramming(6580)
User Program n
main{
...
Program 1
k: read()
OS
User Program 1
read{
endio{
System Software
k+1:
I/O
Device
startIO()
schedule()
}
User Program 2
Program 2
main{
interrupt
schedule()
}
Operating System
}
19
20
HistoryofOperatingSystems:Phases
Timesharing(70 )
OS
Program 2
main{
...
User Program n
timer
interrupt
User Program 1
schedule{
System Software
Operating System
k+1:
main{
User Program 2
timer
interrupt
}
timer
interrupt
schedule{
21
22
OperatingSystemsforPCs
DistributedOperatingSystems
Typically support distributed services
Single user
Utilization is no longer a concern
Emphasis is on user interface and API
Many services & features not present
Evolution
Initially: OS as a simple service provider
((simple
p libraries))
Now: Multi-application systems with support
for coordination and communication
Growing security issues (e.g., online
commerce, medical records)
User
Program
User
Program
OS
OS
process
management
process management
memory management
ffile system
y
name services
mail services
CPU
CPU
CPU
OS
NetworkLAN/WAN
23
24
HistoryofOperatingSystems:Phases
Whatiscloudcomputing?
Google gears
Microsoft azure
gmail
facebook
flickr
26
RicherOperatingSystems
Intellectualproperty
Whatt about
Wh
b t adding
ddi h
hardware?
d
?
Intels trusted execution technology. Who is trusted? Hint: Its
not the owner of the computer
A PC is an open-ended system, not an appliance. For how much
longer?
Thanks, James Hamilton, amazon
27
28
RicherOperatingSystems
CourseOverview
Informationorganization
Deadlocks
Security
29
30