SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette (7)

Introduction to Computer Systems
Introduction to Computer SystemsIntroduction to Computer Systems
Introduction to Computer Systems
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
 
SysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming LanguageSysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming Language
 
Introduction to programming with c,
Introduction to programming with c,Introduction to programming with c,
Introduction to programming with c,
 
Brief introduction to the c programming language
Brief introduction to the c programming languageBrief introduction to the c programming language
Brief introduction to the c programming language
 
Introduction to C programming
Introduction to C programmingIntroduction to C programming
Introduction to C programming
 
Introduction to c programming language
Introduction to c programming languageIntroduction to c programming language
Introduction to c programming language
 

Similaire à Operating Systems - Introduction

Operating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel ComputingOperating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel Computing
Emery Berger
 
Operating Systems - Advanced File Systems
Operating Systems - Advanced File SystemsOperating Systems - Advanced File Systems
Operating Systems - Advanced File Systems
Emery Berger
 

Similaire à Operating Systems - Introduction (20)

Processes and Threads
Processes and ThreadsProcesses and Threads
Processes and Threads
 
Operating Systems - Virtual Memory
Operating Systems - Virtual MemoryOperating Systems - Virtual Memory
Operating Systems - Virtual Memory
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
Problem Solving and Programming
Problem Solving and ProgrammingProblem Solving and Programming
Problem Solving and Programming
 
XS 2008 Boston Capacity Planning
XS 2008 Boston Capacity PlanningXS 2008 Boston Capacity Planning
XS 2008 Boston Capacity Planning
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
Operating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel ComputingOperating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel Computing
 
Enrique Lopez Manas "Android High Performance"
Enrique Lopez Manas "Android High Performance"Enrique Lopez Manas "Android High Performance"
Enrique Lopez Manas "Android High Performance"
 
Developing the MIT Mobile Web
Developing the MIT Mobile WebDeveloping the MIT Mobile Web
Developing the MIT Mobile Web
 
INTRODUCTION TO INFORMATION TECHNOLOGY SARASWATHI RAMALINGAM
INTRODUCTION TO INFORMATION TECHNOLOGY SARASWATHI RAMALINGAMINTRODUCTION TO INFORMATION TECHNOLOGY SARASWATHI RAMALINGAM
INTRODUCTION TO INFORMATION TECHNOLOGY SARASWATHI RAMALINGAM
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
Nevmug Lighthouse Automation7.1
Nevmug   Lighthouse   Automation7.1Nevmug   Lighthouse   Automation7.1
Nevmug Lighthouse Automation7.1
 
Secure Development with Android (Enrique Lopez Manas Technology Stream)
Secure Development with Android (Enrique Lopez Manas Technology Stream)Secure Development with Android (Enrique Lopez Manas Technology Stream)
Secure Development with Android (Enrique Lopez Manas Technology Stream)
 
OS Mélange
OS MélangeOS Mélange
OS Mélange
 
Operating Systems - Advanced File Systems
Operating Systems - Advanced File SystemsOperating Systems - Advanced File Systems
Operating Systems - Advanced File Systems
 
FirmLogix DEVICE DRIVERS Corporate Brochure
FirmLogix DEVICE DRIVERS Corporate BrochureFirmLogix DEVICE DRIVERS Corporate Brochure
FirmLogix DEVICE DRIVERS Corporate Brochure
 
Brandon
BrandonBrandon
Brandon
 
01intro
01intro01intro
01intro
 
Unit i fundamentals
Unit i fundamentalsUnit i fundamentals
Unit i fundamentals
 
Between Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative IntroductionBetween Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative Introduction
 

Plus de Emery Berger

Dthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic MultithreadingDthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic Multithreading
Emery Berger
 
Programming with People
Programming with PeopleProgramming with People
Programming with People
Emery Berger
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
Emery Berger
 
Operating Systems - Advanced Synchronization
Operating Systems - Advanced SynchronizationOperating Systems - Advanced Synchronization
Operating Systems - Advanced Synchronization
Emery Berger
 
Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...
Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...
Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...
Emery Berger
 

Plus de Emery Berger (18)

Doppio: Breaking the Browser Language Barrier
Doppio: Breaking the Browser Language BarrierDoppio: Breaking the Browser Language Barrier
Doppio: Breaking the Browser Language Barrier
 
Dthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic MultithreadingDthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic Multithreading
 
Programming with People
Programming with PeopleProgramming with People
Programming with People
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
 
DieHarder (CCS 2010, WOOT 2011)
DieHarder (CCS 2010, WOOT 2011)DieHarder (CCS 2010, WOOT 2011)
DieHarder (CCS 2010, WOOT 2011)
 
Operating Systems - File Systems
Operating Systems - File SystemsOperating Systems - File Systems
Operating Systems - File Systems
 
Operating Systems - Advanced Synchronization
Operating Systems - Advanced SynchronizationOperating Systems - Advanced Synchronization
Operating Systems - Advanced Synchronization
 
Operating Systems - Synchronization
Operating Systems - SynchronizationOperating Systems - Synchronization
Operating Systems - Synchronization
 
Virtual Memory and Paging
Virtual Memory and PagingVirtual Memory and Paging
Virtual Memory and Paging
 
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained EnvironmentsMC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
 
Vam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory AllocatorVam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory Allocator
 
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
 
Garbage Collection without Paging
Garbage Collection without PagingGarbage Collection without Paging
Garbage Collection without Paging
 
DieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe LanguagesDieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe Languages
 
Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...
Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...
Exploiting Multicore CPUs Now: Scalability and Reliability for Off-the-shelf ...
 
Composing High-Performance Memory Allocators with Heap Layers
Composing High-Performance Memory Allocators with Heap LayersComposing High-Performance Memory Allocators with Heap Layers
Composing High-Performance Memory Allocators with Heap Layers
 
Reconsidering Custom Memory Allocation
Reconsidering Custom Memory AllocationReconsidering Custom Memory Allocation
Reconsidering Custom Memory Allocation
 
CRAMM: Virtual Memory Support for Garbage-Collected Applications
CRAMM: Virtual Memory Support for Garbage-Collected ApplicationsCRAMM: Virtual Memory Support for Garbage-Collected Applications
CRAMM: Virtual Memory Support for Garbage-Collected Applications
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Operating Systems - Introduction

  • 1. Operating Systems CMPSCI 377 Introduction Emery Berger University of Massachusetts Amherst UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science
  • 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. 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. 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. 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. 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. 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. What’s an OS? Bill Gates says… “even  a ham sandwich” (Steve B.) UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 8
  • 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. 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. -------------- Computer Systems Operating What this class is really about  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 11
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Orders of Magnitude 100  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 24
  • 25. Orders of Magnitude 101  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 25
  • 26. Orders of Magnitude 102  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 26
  • 27. Orders of Magnitude 103  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 27
  • 28. Orders of Magnitude 104  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 28
  • 29. Orders of Magnitude 105  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 29
  • 30. Orders of Magnitude 106  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 30
  • 31. Orders of Magnitude 107  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 31
  • 32. Orders of Magnitude 108  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 32
  • 33. Orders of Magnitude 109  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 33
  • 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. Names & Pictures So I can learn everyone’s name fast  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 35