Emery Berger Operating Systems CMPSCI 377 Lecture 1

Download Report

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