Top Banner
Fred Kuhns ( ) CS523S: Operating Systems CS523 Operating Systems Fred Kuhns Applied Research Laboratory Computer Science Washington University
23
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

CS523Operating Systems

Fred Kuhns

Applied Research Laboratory

Computer Science

Washington University

Page 2: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

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

Page 3: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

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.

Page 4: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

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)

Page 5: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Exams, Homework and Grading

• Weekly: Homework assignment or Quiz

• Final Exam (no mid-term): Comprehensive

• Relative weights:25% Final exam20% Quizzes10% Homework30% Programming projects (10% per project)15% Final Project

Page 6: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Course OverviewOverview of OS design issues

o Review of general purpose OS serviceso Intro to Advanced OS Topics:

• Real-Time, Database, Distributed and Multi-processor

Detailed analysis of conventional OS internals:o Focus on UNIX - Linux, BSD, SVR4 and Macho Single/Multi-processoro Resource management

Focus on Real-Time: design and implementationo Performance and predictability issueso Resource scheduling and managing concurrency

Page 7: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Introduction

• Functions of an Operating SystemResource managementUser environment

• Design ApproachesLayered, Kernel and Virtual

• Types of Advanced Operating SystemsDistributed, Multiprocessor, Database and Real-time

• Overview of UNIX (why do we care)

Page 8: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Functions of an OS

• Resource ManagementTime management - temporal properties

CPU and disk transfer scheduling

Space management main and secondary storage allocation

Synchronization and deadlock handlingc

Accounting and status informations

Page 9: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Functions of an OS (cont)• User Environment - OS layer transforms bare

hardware machine into higher level abstractionsExecution environment - process management, file

manipulation, interrupt handling, I/O operations, language.

Error detection and handlingProtection and securityFault tolerance and failure recovery

Page 10: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Design Approaches• Deal with complexities of modern systems• Separation of Policies and Mechanisms

Policies - What should be doneMechanisms - How it should be doneLevin, 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 ApproachKernel ApproachVirtual Machine Approach

Page 11: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Layered Approach

Level Name Objects Example13 Shell User programming env. Bash statements12 User process User process Quit,kill,suspend,resume11 Directories Directories Create,destroy,attach,list10 Devices External: printer,display Create,open,close9 File system Files Create,open,close8 Communications Pipes Crreate,open,close7 Virtual memory Segments,pages Read,write,fetch6 Local secondary store Blocks,channel Read,write,fetch5 Primitive process Process,semaphore Suspend,resume,wait4 Interrupts Interrupt-handlers Invoke,mask,retry3 Procedures Procedure,stack,display Mark stack,call,return2 Instruction set Evaluation stack Load,store,add1 Electronic circuit Registers,gates,buses Clear,transfer,activate

Simplifies design, implementation and testingModular by dividing OS into functional layers.

HW

reso

urce

envi

ronm

ent

Page 12: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Kernel Based Approach

Kernel contains a collection of primitives which are used to build the OS

OS implements policyKernel implements mechanisms

Hardware

kernel

Operating system

Page 13: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Virtual Machine Approach

Virtual software layer over hardwareIllusion of multiple instances of hardwareSupports multiple instances of OSs

Hardware

Virtual machine software

VM1 VM2 VM3 VM4

Page 14: Lecture1

Fred Kuhns ( ) CS523S: 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.

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

• VirtualSeawright, L., and R. MacKinnon, "VM/370 - A Study of

Multiplicity and Usefulness", IBM Systems Journal, 1979, pp. 4-17.

Page 15: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Types of Advanced OSs

Distributed Operating SystemsMultiprocessor Operating SystemsDatabase Operating SystemsReal-time Operating Systems

Page 16: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Distributed Operating Systems

• Controls and manages resources for a network of autonomous computersmanage 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 clockunpredictable communication delays.

Page 17: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Multiprocessor Operating Systems• Consists of a set of processors that

share a set of physical memory blocksshare a common clock "share" over an interconnection network.

• Control and manage resources hardware and software resourcesviewed as a uniprocessor system.

• Design issues same as traditional system.• Practical issues:

increased complexity of synchronization, scheduling, memory management, protection and security.

Page 18: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Database Operating Systems• Database systems place increased demands on an

operating system to efficiently support: concept of a transactionsmanage large volumes of dataconcurrency controlsystem failure control

Page 19: Lecture1

Fred Kuhns ( ) CS523S: 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.

Page 20: Lecture1

Fred Kuhns ( ) 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

Page 21: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Traditional UNIX kernel

• Bloated kernel• Inflexible: supported single type of

file system,process schedulingexecutable file format

file system

virtual memory

loader

block dev char dev

kernel

Page 22: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

Modern UNIX

• Separation of policy and mechanism

• modular design and implementation (layered)

Acrobat Document

Page 23: Lecture1

Fred Kuhns ( ) CS523S: Operating Systems

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.