Cs523 operating systems
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

CS523 Operating Systems PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

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:

Download Presentation

CS523 Operating Systems

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


Introduction

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)

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.

environment

resource

HW

CS523S: Operating Systems


Kernel based approach

Hardware

kernel

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

VM1

VM2

VM3

VM4

Virtual machine software

Hardware

Virtual Machine Approach

  • Virtual software layer over hardware

  • Illusion of multiple instances of hardware

  • Supports multiple instances of OSs

CS523S: Operating Systems


Cs523 operating systems

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.

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

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

kernel

file

system

virtual

memory

loader

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


References

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.

CS523S: Operating Systems


  • Login