CS523 Operating Systems - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

CS523 Operating Systems

Description:

... Cohen, W. Corwin, F. Pollack and W. Wulf, 'Policy/Mechanism Separation in HYDRA, ... W. Corwin, A. Jones, R. Levin, C. Pierson, and F. Pollack, 'HYDRA: The ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 24
Provided by: fredk5
Learn more at: http://www.arl.wustl.edu
Category:

less

Transcript and Presenter's Notes

Title: CS523 Operating Systems


1
CS523Operating Systems
  • Fred Kuhns
  • Applied Research Laboratory
  • Computer Science
  • Washington University

2
CS523 - Operating Systems
  • Instructor Fred Kuhns
  • Phone 935-6598
  • Email fredk_at_cs.wustl.edu
  • Office Hours
  • Tu/Th 400 - 500PM
  • Location
  • TBD
  • Class times
  • Tu/Th 230 - 400PM

3
Course Materials
  • Textbook
  • Real-Time Systems, Jane W. S. Liu
  • Selected papers from the literature,
  • Class handouts and presentation material,
  • Class web page,
  • OS man pages and web accessible documentation,
  • UNIX account.

4
Programming Projects
  • 3 projects plus a final project
  • Final project
  • team/individual class presentations
  • address a system issue covered in class. May
    build on class projects. Report or
    implementation.
  • Project focus
  • Correct, predictable behavior (of implementation)
  • Performance (efficient execution)
  • Completeness of design (address all issues)
  • "readability" of code (can I understand it)

5
Exams, Homework and Grading
  • Weekly Homework assignment or Quiz
  • Final Exam (no mid-term)
  • Comprehensive
  • Relative weights
  • 25 Final exam
  • 20 Quizzes
  • 10 Homework
  • 30 Programming projects (10 per project)
  • 15 Final Project

6
Course Overview
  • Overview of OS design issues
  • Review of general purpose OS services
  • Intro to Advanced OS Topics
  • Real-Time, Database, Distributed and
    Multi-processor
  • Detailed analysis of conventional OS internals
  • Focus on UNIX - Linux, BSD, SVR4 and Mach
  • Single/Multi-processor
  • Resource management
  • Focus on Real-Time design and implementation
  • Performance and predictability issues
  • Resource scheduling and managing concurrency

7
Introduction
  • Functions of an Operating System
  • Resource management
  • User environment
  • Design Approaches
  • Layered, Kernel and Virtual
  • Types of Advanced Operating Systems
  • Distributed, Multiprocessor, Database and
    Real-time
  • Overview of UNIX (why do we care)

8
Functions of an OS
  • Resource Management
  • Time management - temporal properties
  • CPU and disk transfer scheduling
  • Space management
  • main and secondary storage allocation
  • Synchronization and deadlock handling
  • c
  • Accounting and status information
  • s

9
Functions of an OS (cont)
  • User Environment - OS layer transforms bare
    hardware machine into higher level abstractions
  • Execution environment - process management, file
    manipulation, interrupt handling, I/O operations,
    language.
  • Error detection and handling
  • Protection and security
  • Fault tolerance and failure recovery

10
Design Approaches
  • Deal with complexities of modern systems
  • Separation of Policies and Mechanisms
  • Policies - What should be done
  • Mechanisms - How it should be done
  • Levin, R., E. Cohen, W. Corwin, F. Pollack and W.
    Wulf, "Policy/Mechanism Separation in HYDRA,"
    Proceedings of the 5th Symposium on Principles of
    Operating Systems, 1975, pp. 132-140.
  • Three common approaches
  • Layered Approach
  • Kernel Approach
  • Virtual Machine Approach

11
Layered Approach
  • Simplifies design, implementation and testing
  • Modular by dividing OS into functional layers.

environment
resource
HW
12
Kernel Based Approach
  • Kernel contains a collection of primitives which
    are used to build the OS
  • OS implements policy
  • Kernel implements mechanisms

13
Virtual Machine Approach
  • Virtual software layer over hardware
  • Illusion of multiple instances of hardware
  • Supports multiple instances of OSs

14
  • Layered
  • Dijkstra, E. W., "The Structure of THE
    Multiprogramming System", Communications of the
    ACM, May 1968, pp. 341-346.
  • Layered (Ring)
  • Organick, E., The Multics System, MIT Press,
    Cambridge, MA. 1972.
  • Kernel
  • Brinch Hansen, P., "The Nucleus of a
    Multiprogramming System", Communications of the
    ACM, Apr. 1970, pp. 238-241.
  • Wulf, W., E. Cohen, W. Corwin, A. Jones, R.
    Levin, C. Pierson, and F. Pollack, "HYDRA The
    Kernel of a Multiprocessor Operating System",
    Communications of the ACM, June 1974, pp.
    337-345.
  • Virtual
  • Seawright, L., and R. MacKinnon, "VM/370 - A
    Study of Multiplicity and Usefulness", IBM
    Systems Journal, 1979, pp. 4-17.

15
Types of Advanced OSs
  • Distributed Operating Systems
  • Multiprocessor Operating Systems
  • Database Operating Systems
  • Real-time Operating Systems

16
Distributed Operating Systems
  • Controls and manages resources for a network of
    autonomous computers
  • manage both hardware and software resources
  • behaves as a single monolithic system.
  • User not aware of program or resource location
  • Design issues same as traditional systems
  • Practical issues
  • lack of shared memory
  • lack of global clock
  • unpredictable communication delays.

17
Multiprocessor Operating Systems
  • Consists of a set of processors that
  • share a set of physical memory blocks
  • share a common clock
  • "share" over an interconnection network.
  • Control and manage resources
  • hardware and software resources
  • viewed as a uniprocessor system.
  • Design issues same as traditional system.
  • Practical issues
  • increased complexity of synchronization,
    scheduling, memory management, protection and
    security.

18
Database Operating Systems
  • Database systems place increased demands on an
    operating system to efficiently support
  • concept of a transactions
  • manage large volumes of data
  • concurrency control
  • system failure control

19
Real-time Operating Systems
  • Place application specific special requirements
    on an operating system.
  • Policies and mechanisms are geared to ensuring
    jobs meet their deadlines.
  • Problem is one of resource scheduling and overall
    system utilization.

20
Why UNIX
  • Historical significance
  • Advanced features developed for or ported to UNIX
  • Availability of source code and research papers
  • Importance to present and future research
    activities at WashU
  • Highlights key design and architectural issues

21
Traditional UNIX kernel
  • Bloated kernel
  • Inflexible supported single type of
  • file system,
  • process scheduling
  • executable file format

22
Modern UNIX
  • Separation of policy and mechanism
  • modular design and implementation (layered)

23
References
  • Original UNIX implementation
  • D. M. Ritchie, and K. Thompson, The UNIX
    Time-Sharing System, Communications of the ACM,
    Vol. 17, No. 7, Jul. 1974, pp. 365-375.
Write a Comment
User Comments (0)
About PowerShow.com