Transcript Emery Berger Operating Systems CMPSCI 377 Lecture 1
Operating Systems CMPSCI 377
Lecture 1
Emery Berger
University of Massachusetts, Amherst
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
Information
Course web page: http://www.cs.umass.edu/~emery/cmpsci377 My contact info: [email protected]
Phone: 413-577-4211 Office hours by appointment TA’s: Gene Novark, Louis Theran Discussion section: W 12:20 – 1:10, Hasbrouck 138
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
2
Today’s Class
Administrivia: Course organization & outline Prerequisites & course sign-up Introduction & History of Operating Systems
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
3
Course Organization
Capacity is 50 Class: junior or senior-level Not for freshman or sophomores Enrollment policy If space becomes an issue, graduating seniors get preference
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
4
Prerequisites
CMPSCI 187 (Data Structures) CMPSCI 201 (Architecture) Textbook:
Operating Systems
(Deitel, Deitel & Choffnes)
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
5
Course Requirements
Class participation: 10% (includes in-class quizzes) Homework: 10% Programming projects: 40% Exams (two in-class, one final): 40% Programming assignments: Java Strict late policy – not accepted late Cheaters will be found and punished Will use sophisticated software to detect plagiarized programs
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
6
Course Organization
Accounts in EdLab: 30+ Linux PC’s Discussion section to help you with lab assignments Office hours and location of TA’s: Gene Novark: to be announced [email protected]
Louis Theran: to be announced [email protected]
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
7
Introduction to Operating Systems
What’s an operating system? (OS) Why are OS’s important?
Historical perspective on operating systems
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
8
What’s An Operating System?
Definition has changed over years Originally, very bare bones Now, includes more and more Bill Gates: Windows = Everything in other operating systems + Internet Explorer + Media player + “even a ham sandwich” (DOJ vs. Microsoft)
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
9
OS: More Traditional View
Interface between user and architecture Hides architectural details Implements virtual machine: Easier to program than raw hardware (hopefully) Provides services and coordinates machine activities User-level Applications
virtual machine interface
Operating System
physical machine interface
Hardware
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
10
Operating Systems: Key Features
Provides standard services (interface) that hardware implements File system, virtual memory, networking, scheduling, time-sharing… Coordinates multiple applications and users to achieve safety, fairness and efficiency (high throughput) Concurrency, memory protection, networking, security OS design challenges: convenient and efficient Software engineering & systems engineering problems
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
11
Introduction to Operating Systems
What’s an operating system? (OS) Why are OS’s important?
Historical perspective on operating systems
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
12
Importance of Operating Systems
Key component of computer systems Meeting point of software & hardware Understanding how computers work = understanding operating systems OS provides key services required by all application programs Rich topic: OS = most complex software on your PC Windows XP kernel: 40 million lines of code
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
13
Why So Complex?
Provides high-level of abstraction
Illusion of: Infinite memory Complete control of resources
Requires sophisticated system design:
Tradeoffs: Performance vs. convenience (OS abstractions) Performance vs. simplicity (OS design) Putting functionality in hardware vs. software As systems changes, OS must adapt (new hardware, software)
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
14
New Developments in OS Design
Operating systems: very active field of research Demands on OS’s growing New application spaces (Web, Grid) Rapidly evolving hardware Advent of open-source operating systems – Linux You can contribute to and develop OS’s!
Excellent research platform
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
15
Background You Need
OS: software that manages hardware Must understand both Hardware: CPU: instruction sets, memory hierarchies I/O systems Software: Complex data structures Object-oriented programming (esp. for encapsulation) Java (although…)
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
16
Introduction to Operating Systems
What’s an operating system? (OS) Why are OS’s important?
Historical perspective on operating systems
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
17
The Dark Ages (1940’s-1960’s)
Hardware: expensive; humans: cheap
Evolution of functionality: One user Batch processing Overlap of I/O & computation Multiprogramming
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
18
1. Single-User Computers
One user at a time on console Computer executes one function at a time No overlap: computation & I/O User must be at console to debug
Multiple users = inefficient use of machine
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
19
2. Batch Processing
Execute multiple “jobs” in batch: Load program Run Print results, dump machine state Repeat Users submit jobs (on cards or tape) Human schedules jobs Operating system loads & runs jobs
More efficient use of machine, complicates debugging
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
20
3. Overlap I/O and Computation
Before: machine waits for I/O New approach: Allow CPU to execute while waiting Add buffering, interrupt handling
More efficient use of machine, but still one job at a time
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
21
4. Multiprogramming
Allow several programs to run at same time Run one job until I/O Run another job, etc.
OS manages interaction between programs: Which jobs to start Protects program’s memory from others Decides which to resume when CPU available
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
22
OS Complexity
Increased functionality & complexity First OS failures Multics (GE & MIT): announced 1963, released 1969 OS/360 released with 1000 known bugs Need to treat OS design scientifically Managing complexity becomes key to…
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
23
The Renaissance (1970’s)
Hardware: cheap; humans: expensive
Users share system via terminals The UNIX era Multics: army of programmers, six years UNIX: three guys, two years “Shell”: composable commands No distinction between programs & data But: response time & thrashing
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
24
The Industrial Revolution (1980’s)
Hardware very cheap; humans expensive
Widespread use of PCs IBM PC: 1981, Macintosh: 1984 Simple OS (DOS, MacOS) No multiprogramming, concurrency, memory protection, virtual memory, … Later: networking, file-sharing, remote printing… GUI added to OS (“WIMP”)
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
25
The Modern Era (1990’s-now)
Hardware cheap; Processing demands increasing
“Real” operating systems on PC’s NT (1991); Mac OS X; Linux Different modalities: Parallel: Multiple processors, one machine Distributed: Multiple networked processors Real-time: Strict or loose deadlines Sensor networks: Many small computers
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
26
Moral of the Story
The only constant: Change
In 50 years, almost every computer component now 9 orders of magnitude faster, larger, cheaper Example:
1983 1999
MIPS cost/MIP memory network disk 0.5
$100,000 1 MB 10 Mbit/s 500 $500 1 GB 1 GB/s 1 GB 1 Tbyte
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
27
Moral of the Story, II
No counterpart in any other sphere of human existence!
Transportation: 200 years to go from horseback (10 mph) to Concorde (1000 mph) = 2 orders of magnitude Communication is closest: 100 years to go from Pony Express (10 mph) to nearly speed of light (600 million mph) = 7 orders of magnitude And operating systems must adapt…
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
28
Next Time
Operating Systems & Architecture Work on Lab 1!
U NIVERSITY OF M ASSACHUSETTS , A MHERST • Department of Computer Science
29