Download presentation
Presentation is loading. Please wait.
1
Operating Systems CMPSCI 377 Lecture 1
Emery Berger University of Massachusetts, Amherst
2
Information Course web page:
My contact info: Phone: Office hours by appointment TA’s: Gene Novark, Louis Theran Discussion section: W 12:20 – 1:10, Hasbrouck 138
3
Today’s Class Administrivia:
Course organization & outline Prerequisites & course sign-up Introduction & History of Operating Systems
4
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
5
Prerequisites CMPSCI 187 (Data Structures) CMPSCI 201 (Architecture)
Textbook: Operating Systems (Deitel, Deitel & Choffnes)
6
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
7
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 Louis Theran: to be announced
8
Introduction to Operating Systems
What’s an operating system? (OS) Why are OS’s important? Historical perspective on operating systems
9
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)
10
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
11
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
12
Introduction to Operating Systems
What’s an operating system? (OS) Why are OS’s important? Historical perspective on operating systems
13
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
14
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)
15
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
16
Background You Need OS: software that manages hardware 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…)
17
Introduction to Operating Systems
What’s an operating system? (OS) Why are OS’s important? Historical perspective on operating systems
18
The Dark Ages (1940’s-1960’s) Hardware: expensive; humans: cheap
Evolution of functionality: One user Batch processing Overlap of I/O & computation Multiprogramming
19
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
20
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
21
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
22
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
23
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…
24
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
25
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”)
26
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
27
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 0.5 500 cost/MIP $100,000 $500 memory 1 MB 1 GB network 10 Mbit/s 1 GB/s disk 1 Tbyte
28
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…
29
Next Time Operating Systems & Architecture Work on Lab 1!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.