0
Operating Systems
         CMPSCI 377
         Introduction
                   Emery Berger
University of Massachusetts Am...
Today’s Class
    Organizational meeting


        Course organization & outline
    

        Policies
    

        P...
Organizational Information
    Course web page

        Visit www.cs.umass.edu/~emery
    



    Contact info

       ...
Class Information
    Class: junior or senior-level


        Not intended for freshman or sophomores
    

    Prerequi...
Course Requirements
Note: Percentages are subject to revision.
 Class participation: 10%

        Includes credit-only in...
Plagiarism
    Cheaters will be found & executed


        We use sophisticated software that detects
    

        plag...
What’s An Operating System?
    Definition has changed over years


        Originally, very bare bones
    

        No...
What’s an OS? Bill Gates says…




                                                                          “even
       ...
OS: Traditional View
    Interface between user


    and architecture
                                                  ...
New Developments in OS Design
    Operating systems: active field of research


        Demands on OS’s growing
    

  ...
-------------- Computer Systems
Operating
    What this class is really about





      UNIVERSITY OF MASSACHUSETTS AMHE...
Building Large Computer Systems
    Goals: Fast, reliable, large scale


    To build these systems, you need to know


...
History of Operating Systems
    And now, for some historical context


        From mainframes to web-based systems
    ...
The Dark Ages (1940’s-1960’s)

Hardware: expensive;
  humans: cheap
 Evolution of functionality:

       One user
  1.

 ...
1. Single-User Computers
    One user at a time on console


    Computer executes one function at a time


        No o...
2. Batch Processing
    Execute multiple “jobs” in batch:

        Load program
    

        Run
    

        Print r...
3. Overlap I/O and Computation
    Before: machine waits for I/O to complete


    New approach:


        Allow CPU to ...
4. Multiprogramming
    Allow several programs to run at same


    time
        Run one job until I/O
    

        Run...
OS Complexity
    Increased functionality & complexity


    First OS failures


        Multics (GE & MIT):
    

    ...
The Renaissance (1970’s)
Hardware: cheap; humans: expensive
 Users share system via terminals

 The UNIX era

    Multi...
The Industrial Revolution (1980’s)
                               Hardware very cheap;
                               huma...
The Modern Era (1990’s-now)
Hardware cheap; processing demands increasing
 “Real” operating systems on PC’s

    NT (199...
Architectural Trends
    Big Changes


        In 50 years, almost every computer component now
    

        9 orders o...
Orders of Magnitude
    100





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   24
Orders of Magnitude
    101





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   25
Orders of Magnitude
    102





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   26
Orders of Magnitude
    103





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   27
Orders of Magnitude
    104





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   28
Orders of Magnitude
    105





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   29
Orders of Magnitude
    106





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   30
Orders of Magnitude
    107





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   31
Orders of Magnitude
    108





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   32
Orders of Magnitude
    109





     UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science   33
Coming Soon
    Moore’s Law – running out of steam


    New features coming to computer near

    you:
        Multiple...
Names & Pictures
    So I can learn everyone’s name fast





      UNIVERSITY OF MASSACHUSETTS AMHERST • Department of C...
Upcoming SlideShare
Loading in...5
×

Operating Systems - Introduction

1,848

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
1,848
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
271
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×