1 / 28

Operating Systems CMPSCI 377 Lecture 1

Operating Systems CMPSCI 377 Lecture 1. Emery Berger University of Massachusetts, Amherst. Information. Course web page: http://www.cs.umass.edu/~emery/cmpsci377 My contact info: emery@cs.umass.edu Phone: 413-577-4211 Office hours by appointment TA’s: to be announced

charlesjack
Download Presentation

Operating Systems CMPSCI 377 Lecture 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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@cs.umass.edu • Phone: 413-577-4211 • Office hours by appointment • TA’s: • to be announced • Discussion section: • W 12:20 – 1:10, LGRC A301

  3. Today’s Class • Organizational meeting • Course organization & outline • Policies • Prerequisites & course sign-up

  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: none required

  6. Course Organization • Accounts in EdLab: 30+ Linux PC’s • Discussion section to help you with projects, • Office hours and location of TA’s: • To be announced!

  7. Course Requirements Note: These percentages are subject to revision. • Class participation: 10% • Includes in-class quizzes • Programming projects: 40% • Exams (midterm, final): 50% • Strict late policy – not accepted late without medical note from UMass

  8. Plagiarism • Cheaters will be found and punished • Will use sophisticated software to detect plagiarized programs • Cheating includes: • “Borrowing” code from someone • This includes reading previous solutions • Giving code to someone • Copying code from anyone (including the net) • Hiring someone to write your code • Submitting someone else’s code as your own

  9. Projects • Build trace-based operating system simulator in Java • Read in reference traces of actual programs • Simulate operating system algorithms • Virtual memory, CPU scheduler, disk scheduler, file system • Some twists: • Test suite • Random module shuffling • Modern software engineering • Source code control, real IDEs with debuggers, etc.

  10. Names & Pictures • For the web page • Also, for accountability! 

  11. Introduction to Operating Systems

  12. 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)

  13. OS: 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

  14. New Developments in OS Design • Operating systems: 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

  15. History of Operating Systems

  16. The Dark Ages (1940’s-1960’s) Hardware: expensive; humans: cheap • Evolution of functionality: • One user • Batch processing • Overlap of I/O & computation • Multiprogramming

  17. 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

  18. 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

  19. 3. Overlap I/O and Computation • Before: machine waits for I/O to complete • New approach: • 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

  20. 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

  21. 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…

  22. 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

  23. 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”)

  24. 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

  25. Moral of the Story • The only constant: Change • In 50 years, almost every computer component now9 orders of magnitude faster, larger, cheaper • Example:

  26. Moral of the Story, II • No counterpart in any other sphere of human existence! • Transportation: • 200 years: horseback (10 mph) to Concorde (1000 mph) = 2 orders of magnitude • Communication is closest: • 100 years: Pony Express (10 mph) to nearly speed of light (600 million mph) = 7 orders of magnitude

  27. Coming Soon • Moore’s Law – running out of steam • New features coming to computer near you: • Multiple cores • Unreliable memory • Serious power/heat constraints

  28. Next Time • Operating Systems & Architecture

More Related