ICS 335: Operating Systems
Sebnem Baydere
Lecture 1:Introduction
Main Points
What operating systems do ?
Historical Perspective
1.0 Why study O/S?
· Understand how computers work
· Abstraction: Providing illusion of infinite resources (CPU, memory etc)
· System Design: Tradeoffs between performance and simplicity, division of labor between HW and WS
· O/S combines several areas in Computer Science discipline: languages, hardware, data structures, algorithms
2.0 Why build a real O/S kernel?
· Hear and forget, see and remember, do and understand
· Gain the confidence : difference between a computer scientist and a programmer
3.0 What is an O/S?
· Virtual machine
· Extension of hardware
· Resource allocation : fair division of resources between users of the system
· Coordinator: between applications and hardware resources (concurrency, device drivers, memory, file system, networks
· Standard services (utility programs- libraries, window system
· What would be without O/S?
4.0 History of O/S: change !!
Design tradeoffs change as technology changes
Typical academic computer in 1981 and 1998
1981 / 1998 / RatioSPECint(MIPS) / 1 / 500 / 1:500
$/SPECint / $100k / $5 / 20000:1
$/machine / $100k / $2500 / 40:1
Memory capacity / 128KB / 64MB / 1:500
Disk capacity / 10MB / 2 GB / 1:200
Tape capacity / 200MB / 1 TB robot / 1:5000
Address bits / 16 / 32-64 / 1:2
Users/machine / 10s / 1 / 10:1
Network bandwidth / 9600b/s (3 MB/s) / 155M/s (Gigabits) / 1:400
What does this mean?
Techniques have to vary over time, adapt to changes in the hardware, adapt to changing tradeoffs.
4.1 Phase 1: Hardware expensive, human cheap
When computers cost millions of $s, optimize for more efficient use of the hardware!
1. User at a console: one user at a time. O/S as a subroutine library
2. Batch Monitor: load program, run, print (no memory protection)
3. Interrupt Driven architecture-DMA: Overlapping I/O and CPU (computation), OS requests I/O, goes back to computing, gets an interrupt when I/O device has finished.
4. Memory protection + relocation: Multiprogramming, several programs run at the same time; users share the system.
Benefits:
1. Small jobs not delayed by large jobs
2. More overlap between I/O and CPU
Multiprogramming requires memory protection to keep bugs in one
program from crashing the system or corrupting other programs.
O/s manages these and gets complicated. First: MULTICS announced in 1963 ran in 1969. (UNIX based on Multics)
OS 360 released with 1000 bugs.
4.2 Phase 2: Harware cheap, human expensive
5. Interactive Timesharing: Use cheap terminals to let multiple users interact with the system at the same time. Sacrifice CPU time to get better response time for users.
Problem: thrashing -- performance fall off as you add users.
4.3 Phase 3: Hardware cheaper, human more expensive
6. Graphic Interfaces: Window systems,bitmap displays, Ethernet, internet, desktop publishing
7. Personal Computing: initially library, later with memory. Protection and multiprogramming added.
4.4 Phase 4: Distributed systems
8. Network computing : Network is the computer?? Allow different machines to share resources.
5.0 Summary
Point of change is not: How old fashioned batch processing is. It was right for the tradeoffs of the time.
Point is: have to change with changing technology.
Today: situation is more like it was in late 60's: O/Ss today are large and complex:
small O/S -- 100K lines
big O/S -- 10M lines
10-1000 people-years for development
NT is under development for 10 years, still has problems
KEY ASPECT OF THE COURSE -- understand O/Ss so that we can simplify them