Operating Systems - Introduction
Upcoming SlideShare
Loading in...5
×
 

Operating Systems - Introduction

on

  • 2,707 views

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

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

Statistics

Views

Total Views
2,707
Views on SlideShare
2,536
Embed Views
171

Actions

Likes
2
Downloads
256
Comments
0

2 Embeds 171

http://prisms.cs.umass.edu 169
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Operating Systems - Introduction Operating Systems - Introduction Presentation Transcript

    • Operating Systems CMPSCI 377 Introduction Emery Berger University of Massachusetts Amherst UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • What’s an OS? Bill Gates says… “even  a ham sandwich” (Steve B.) UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 8
    • 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
    • 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
    • -------------- Computer Systems Operating What this class is really about  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 11
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 cores  Unreliable memory  Serious power/heat constraints  Other tradeoffs possible  Computing power for reliability…  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 34
    • Names & Pictures So I can learn everyone’s name fast  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 35