Operating Systems Lecture Notes: Matthew Dailey
Operating Systems Lecture Notes: Matthew Dailey
Operating Systems Lecture Notes: Matthew Dailey
Introduction
Matthew Dailey
Some material © Silberschatz, Galvin, and Gagne, 2002
Operating Systems
The software that turns a hunk of electronics into something you can use.
The OS is an
intermediary between
the system’s hardware
and its users.
Memory location 0
job 3
job 4
Memory location 512K
History of Operating Systems: Multiprogramming
IO Request
RUNNING BLOCKED
IO Completion
Kernel Selection
READY
History of Operating Systems: Multiprogramming
Virtual Memory
– Programs see one large block of memory, possibly bigger
than actual system memory.
– Program memory references get translated into real
hardware addresses.
Desktop systems:
– Initially simple, with batch operation e.g. MS-DOS
– Evolved multiprogramming and time sharing in 80s and 90s
– Evolved graphical user interfaces
– Maximal convenience for user; efficiency secondary
Multiprocessor systems:
– More than one CPU to divide the workload
– Symmetric multiprocessing: all CPUs run same OS
– Asymmetric multiprocessing: master CPU assigns individual tasks to
slave CPUs
– Increasingly common in network servers and even desktops
History of Operating Systems: Types of computer systems
Distributed systems:
– Multiple standalone systems interconnected for cooperation
– Client-server systems place shared resources on centralized servers
– Peer-to-peer systems allow ad-hoc cooperation between individuals
Real-time systems:
– Systems with rigid time requirements
e.g. must process images coming from a camera at 30 Hz
– Kernel delays must be bounded. Disks are a bad idea
– Common in robots, automobiles, appliances, etc.
History of Operating Systems: Types of computer systems
monitor user
set user mode
I/O protection SYSTEM MEMORY
…
System call system call routine:
Check access privileges
sequence for I/O Jump to routine for system
call n
MONITOR
RESIDENT
…
read routine:
perform the read (2) Perform
return control to user the I/O
(1) Trap to …
Monitor
…
PROGRAM
USER system call n (e.g. a read) (3) Return
… control
to user
I/O protection