Operating Systems - Introduction

2,056 views

Published on

From the Operating Systems course (CMPSCI 377) at UMass Amherst, Fall 2007.

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,056
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
275
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Operating Systems - Introduction

  1. 1. Operating Systems CMPSCI 377 Introduction Emery Berger University of Massachusetts Amherst UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science
  2. 2. Today’s Class Organizational meeting  Course organization & outline  Policies  Prerequisites & course sign-up  Intro to (operating) systems  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 2
  3. 3. Organizational Information Course web page  Visit www.cs.umass.edu/~emery  Contact info  emery@cs.umass.edu  Office hours Th 3-4, CS344  TA:  Vimal Mathew (vml.mathew@gmail.com)  Office hours: TBD  Discussion section (not this week)  W 2:30 – 3:20, LGRC A301  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 3
  4. 4. Class Information Class: junior or senior-level  Not intended for freshman or sophomores  Prerequisites  CMPSCI 187 (Data Structures)  CMPSCI 201 (Architecture)  Enrollment policy  Graduating seniors have preference  No required text  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 4
  5. 5. Course Requirements Note: Percentages are subject to revision.  Class participation: 10% Includes credit-only in-class work  & scribing class notes (starting next lecture)  Programming projects: 40%  Strict late policy! – not accepted without  medical note from UMass In-class exams: 50%  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 5
  6. 6. Plagiarism Cheaters will be found & executed  We use sophisticated software that detects  plagiarized programs, + manual inspection 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  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 6
  7. 7. What’s An Operating System? Definition has changed over years  Originally, very bare bones  Now, includes more and more  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 7
  8. 8. What’s an OS? Bill Gates says… “even  a ham sandwich” (Steve B.) UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 8
  9. 9. OS: Traditional View Interface between user  and architecture User-level Applications Hides architectural  details virtual machine interface Implements virtual Operating System  machine: physical machine interface Easier to program than  Hardware raw hardware (hopefully) Provides services and  coordinates machine activities UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 9
  10. 10. 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  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 10
  11. 11. -------------- Computer Systems Operating What this class is really about  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 11
  12. 12. Building Large Computer Systems Goals: Fast, reliable, large scale  To build these systems, you need to know  Each computer:  Architectural details that matter  C and C++ (nitty gritty & more)  Memory management & locality  Concurrency & scheduling  Disks, network, file systems  Across cluster:  Server architectures  Distributed computing, file systems  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 12
  13. 13. History of Operating Systems And now, for some historical context  From mainframes to web-based systems  in nine slides UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 13
  14. 14. The Dark Ages (1940’s-1960’s) Hardware: expensive; humans: cheap  Evolution of functionality: One user 1. Batch processing 2. Overlap I/O & computation 3. Multiprogramming 4. UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 14
  15. 15. 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 UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 15
  16. 16. 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 UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 16
  17. 17. 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 UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 17
  18. 18. 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 run (schedule)  Protects program’s memory from others  Decides which to resume when CPU available  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 18
  19. 19. 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…  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 19
  20. 20. 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  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 20
  21. 21. 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”)  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 21
  22. 22. 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:  Real-time: Strict or loose deadlines  Sensor networks: Many small computers  Parallel: Multiple processors, one machine  Distributed: Multiple networked processors Think P2P, the Web, Google  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 22
  23. 23. Architectural Trends Big Changes  In 50 years, almost every computer component now  9 orders of magnitude faster, larger, cheaper examples 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 UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 23
  24. 24. Orders of Magnitude 100  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 24
  25. 25. Orders of Magnitude 101  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 25
  26. 26. Orders of Magnitude 102  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 26
  27. 27. Orders of Magnitude 103  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 27
  28. 28. Orders of Magnitude 104  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 28
  29. 29. Orders of Magnitude 105  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 29
  30. 30. Orders of Magnitude 106  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 30
  31. 31. Orders of Magnitude 107  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 31
  32. 32. Orders of Magnitude 108  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 32
  33. 33. Orders of Magnitude 109  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 33
  34. 34. Coming Soon Moore’s Law – running out of steam  New features coming to computer near  you: Multiple cores  Unreliable memory  Serious power/heat constraints  Other tradeoffs possible  Computing power for reliability…  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 34
  35. 35. Names & Pictures So I can learn everyone’s name fast  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 35

×