Cs523 operating systems
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: [email protected] 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

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: [email protected]

  • 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