cs523 operating systems n.
Skip this Video
Download Presentation
CS523 Operating Systems

Loading in 2 Seconds...

play fullscreen
1 / 23

CS523 Operating Systems - PowerPoint PPT Presentation

  • Uploaded on

CS523 Operating Systems. Fred Kuhns Applied Research Laboratory Computer Science Washington University. CS523 - Operating Systems. Instructor: Fred Kuhns Phone: 935-6598 Email: fredk@cs.wustl.edu Office Hours : Tu/Th: 4:00 - 5:00PM Location: TBD Class times:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'CS523 Operating Systems' - arella

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cs523 operating systems

CS523Operating Systems

Fred Kuhns

Applied Research Laboratory

Computer Science

Washington University

CS523S: Operating Systems

cs523 operating systems1
CS523 - Operating Systems
  • Instructor: Fred Kuhns
  • Phone: 935-6598
  • Email: fredk@cs.wustl.edu
  • Office Hours:
    • Tu/Th: 4:00 - 5:00PM
  • Location:
    • TBD
  • Class times:
    • Tu/Th: 2:30 - 4:00PM

CS523S: Operating Systems

course materials
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.

CS523S: Operating Systems

programming projects
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)

CS523S: Operating Systems

exams homework and grading
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

CS523S: Operating Systems

course overview
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

CS523S: Operating Systems

  • 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)

CS523S: Operating Systems

functions of an os
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

CS523S: Operating Systems

functions of an os cont
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

CS523S: Operating Systems

design approaches
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

CS523S: Operating Systems

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




CS523S: Operating Systems

kernel based approach



Operating system

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

CS523S: Operating Systems

virtual machine approach





Virtual machine software


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

CS523S: Operating Systems


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.


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.


Seawright, L., and R. MacKinnon, "VM/370 - A Study of Multiplicity and Usefulness", IBM Systems Journal, 1979, pp. 4-17.

CS523S: Operating Systems

types of advanced oss
Types of Advanced OSs
  • Distributed Operating Systems
  • Multiprocessor Operating Systems
  • Database Operating Systems
  • Real-time Operating Systems

CS523S: Operating Systems

distributed operating systems
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.

CS523S: Operating Systems

multiprocessor operating systems
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.

CS523S: Operating Systems

database operating systems
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

CS523S: Operating Systems

real time operating systems
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.

CS523S: Operating Systems

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

CS523S: Operating Systems

traditional unix kernel







block dev

char dev

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

CS523S: Operating Systems

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

CS523S: Operating Systems

  • 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.

CS523S: Operating Systems