lecture3 - Operating Systems CMPSC 473 Introduction and...

Info iconThis preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
    Operating Systems CMPSC 473 Introduction and Overview August 29 2008 - Lecture 3 Instructor: Bhuvan Urgaonkar
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
    Why do we need an OS?  A Historical Perspective • Why not provide this functionality in  hardware? – Why this separate piece of software?
Background image of page 2
    A Little Bit of History
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
    The Dark Ages (1940s - 60s) Hardware: expensive;  humans: cheap Evolution of functionality Single user Batch processing Overlap of I/O and computation Multi-programming
Background image of page 4
    1. Single User • One user at a time on console • Computer executes one function at a time • User must be at console to debug Multiple users => inefficient use of machine
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
    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 – The Operating System More efficient use of machine, complicates debugging
Background image of page 6
    3. Overlap I/O and Computation • Before: machine waits for I/O to complete • New approach: more work by the OS – Allow CPU to execute while waiting – Add  buffering • Data fills “buffer” and then output – and  interrupt handling • I/O events trigger a signal (“interrupt”) More efficient use of machine, but still one  job at a time
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
    4. Multi-programming • 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
Background image of page 8
    So what does an OS do? • Two kinds of functionality – Management of computer resources • Sharing CPU between tasks • Memory management – Certain services to users • Load programs, run them
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
    OS Complexity First OS failures announced 1963, released 1969 – OS/360 released with 1000 known bugs Need to treat OS design scientifically Managing complexity becomes key to…
Background image of page 10
    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 • But:  response time   thrashing
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
    The Industrial Revolution (1980s)     Hardware very cheap;     humans expensive Widespread use of PCs
Background image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/01/2008 for the course CMPSC 473 taught by Professor Bhuvanurgaonkar during the Fall '08 term at Penn State.

Page1 / 42

lecture3 - Operating Systems CMPSC 473 Introduction and...

This preview shows document pages 1 - 13. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online