Documente Academic
Documente Profesional
Documente Cultură
Gary Kimura
What is an OS?
How can we make this easier?
Let programs share the hardware (CPU, memory, devices, storage) Supply software to abstract hardware (disk vs net or wireless mouse vs optical mouse vs wired mouse)
Abstract means to hide details, leaving only a common skeleton
All the code you didnt write in order to get your application to run. The little box, below, is simple, no? Applications OS
Hardware
Whats in an OS?
Application Services
SYSTEM CALL API
GTA-2
Sql Server
System Utils
Shells
Naming Networking
Generic I/O Device Drivers MD API Machine Dependent Services
Access Control
Memory Management
Logical OS Structure
safety
program sees own virtual machine, thinks it owns computer OS protects programs from each other OS multiplexes resources across programs
10
11
OS history
Before the beginning
Computers were rare, huge, power-sucking and hugely expensive More expensive than people. This leads to a huge effort to make the most out of the hardware
card readers and line printers were very slow (sometimes 10s of minutes just to read in a program)
so CPU was idle much of the time (wastes an expensive resource) 12
Spooling
Disks were much faster than card readers and printers (once they were invented) Spool (Simultaneous Peripheral Operations On-Line)
while one job is executing, spool next job from card reader onto disk
slow card reader I/O is overlapped with CPU
but, CPU still idle when a program interacts with a peripheral during execution (wastes an expensive resource) buffering, double-buffering
13
Multiprogramming
To increase system utilization, multiprogramming OSs were invented
keeps multiple runnable jobs loaded in memory at once overlaps I/O of a job with computation of another
while one job waits for I/O completion, OS runs instructions from another job
14
Timesharing
To support interactive use, create a timesharing OS:
multiple terminals into one machine each user has illusion of entire machine to him/herself optimize response time, perhaps at the cost of throughput (person-time more expensive than computer time!)
Timeslicing
divide CPU equally among the users if job is truly interactive (e.g., editor), then can jump between programs and users faster than users can generate load permits users to interactively view, edit, debug running programs (why does this matter?)
15
Timesharing
MIT CTSS system (operational 1961) was among the first timesharing systems
only one user memory-resident at a time (32KB memory!)
MIT Multics system (operational 1968) was the first large timeshared system
nearly all OS concepts can be traced back to Multics! second system syndrome
16
Parallel systems
Some applications can be written as multiple activities
can speed up the execution by running multiple threads/processes simultaneously on multiple CPUs [Burroughs D825, 1962] need OS and language primitives for dividing program into multiple parallel activities need OS primitives for fast communication among activities degree of speedup dictated by communication/computation ratio (Amdahls Law) many flavors of parallel computers today SMPs (symmetric multi-processors, multi-core) MPPs (massively parallel processors) NOWs (networks of workstations) computational grid (SETI @home, FoldIt!)
17
Personal computing
Primary goal was to enable new kinds of applications Bit mapped display [Xerox Alto,1973]
new classes of applications new input device (the mouse)
Window systems
the display as a managed resource
Effect on OS?
18
Distributed OS
Distributed systems to facilitate use of geographically distributed resources
workstations on a LAN servers across the Internet
networking stacks
What is an OS?
How were OSs programmed?
Originally in assembly language
Maximal power, all features of the hardware exposed to developers Minimal clarity, takes extreme effort Minimal portability, OS is tightly tied to a single manufacturers architecture GCOS (Honeywell/GE, 62), MVS and OS/360 (IBM, 64), TOPS-10 (Digital, 64)
What is an OS?
What do we do today?
C
Adequate to hide most hardware issues
Precision, pointers
21