Emery Berger - PowerPoint PPT Presentation

About This Presentation
Title:

Emery Berger

Description:

Operating Systems CMPSCI 377 Lecture 1 Emery Berger University of Massachusetts, Amherst – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 30
Provided by: uma144
Category:

less

Transcript and Presenter's Notes

Title: Emery Berger


1
Operating SystemsCMPSCI 377Lecture 1
  • Emery Berger
  • University of Massachusetts, Amherst

2
Information
  • Course web page
  • http//www.cs.umass.edu/emery/cmpsci377
  • My contact info
  • emery_at_cs.umass.edu
  • Phone 413-577-4211
  • Office hours by appointment
  • TAs
  • Gene Novark, Louis Theran
  • Discussion section
  • W 1220 110, Hasbrouck 138

3
Todays 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 PCs
  • Discussion section to help you with lab
    assignments
  • Office hours and location of TAs
  • Gene Novark to be announced
  • gnovark_at_gmail.com
  • Louis Theran to be announced
  • theran_at_cs.umass.edu

8
Introduction to Operating Systems
  • Whats an operating system? (OS)
  • Why are OSs important?
  • Historical perspective on operating systems

9
Whats 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
  • Whats an operating system? (OS)
  • Why are OSs 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 OSs growing
  • New application spaces (Web, Grid)
  • Rapidly evolving hardware
  • Advent of open-source operating systems Linux
  • You can contribute to and develop OSs!
  • Excellent research platform

16
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)

17
Introduction to Operating Systems
  • Whats an operating system? (OS)
  • Why are OSs important?
  • Historical perspective on operating systems

18
The Dark Ages (1940s-1960s)
  • 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 programs 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 (1970s)
  • 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 (1980s)
  • 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 (1990s-now)
  • Hardware cheap Processing demands increasing
  • Real operating systems on PCs
  • 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
    now9 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 GB 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!
Write a Comment
User Comments (0)
About PowerShow.com