Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Fred Kuhns ( ) CS523S: Operating Systems
CS523
Operating Systems
Fred Kuhns
Applied Research Laboratory
Computer Science
W...
Fred Kuhns ( ) CS523S: Operating
CS523 - Operating Systems
• Instructor: Fred Kuhns
• Phone: 935-6598
• Email: fredk@cs.wu...
Fred Kuhns ( ) CS523S: Operating
Course Materials
• Textbook:
Real-Time Systems, Jane W. S. Liu
• Selected papers from th...
Fred Kuhns ( ) CS523S: Operating
Programming Projects
• 3 projects plus a final project
• Final project:
 team/individual...
Fred Kuhns ( ) CS523S: Operating
Exams, Homework and Grading
• Weekly: Homework assignment or Quiz
• Final Exam (no mid-te...
Fred Kuhns ( ) CS523S: Operating
Course Overview
Overview of OS design issues
o Review of general purpose OS services
o I...
Fred Kuhns ( ) CS523S: Operating
Introduction
• Functions of an Operating System
Resource management
User environment
• ...
Fred Kuhns ( ) CS523S: Operating
Functions of an OS
• Resource Management
Time management - temporal properties
CPU and ...
Fred Kuhns ( ) CS523S: Operating
Functions of an OS (cont)
• User Environment - OS layer transforms bare
hardware machine ...
Fred Kuhns ( ) CS523S: Operating
Design Approaches
• Deal with complexities of modern systems
• Separation of Policies and...
Fred Kuhns ( ) CS523S: Operating
Layered Approach
Level Name Objects Example
13 Shell User programming env. Bash statement...
Fred Kuhns ( ) CS523S: Operating
Kernel Based Approach
Kernel contains a collection of primitives
which are used to build...
Fred Kuhns ( ) CS523S: Operating
Virtual Machine Approach
Virtual software layer over hardware
Illusion of multiple inst...
Fred Kuhns ( ) CS523S: Operating
• Layered:
Dijkstra, E. W., "The Structure of THE Multiprogramming
System", Communicatio...
Fred Kuhns ( ) CS523S: Operating
Types of Advanced OSs
Distributed Operating Systems
Multiprocessor Operating Systems
D...
Fred Kuhns ( ) CS523S: Operating
Distributed Operating Systems
• Controls and manages resources for a network of
autonomou...
Fred Kuhns ( ) CS523S: Operating
Multiprocessor Operating Systems
• Consists of a set of processors that
share a set of p...
Fred Kuhns ( ) CS523S: Operating
Database Operating Systems
• Database systems place increased demands on an
operating sys...
Fred Kuhns ( ) CS523S: Operating
Real-time Operating Systems
• Place application specific special requirements
on an opera...
Fred Kuhns ( ) CS523S: Operating
Why UNIX
• Historical significance
• Advanced features developed for or ported to
UNIX
• ...
Fred Kuhns ( ) CS523S: Operating
Traditional UNIX kernel
• Bloated kernel
• Inflexible: supported single type of
file sys...
Fred Kuhns ( ) CS523S: Operating
Modern UNIX
• Separation of policy and mechanism
• modular design and implementation (lay...
Fred Kuhns ( ) CS523S: Operating
References
• Original UNIX implementation:
D. M. Ritchie, and K. Thompson, “The UNIX
Tim...
Upcoming SlideShare
Loading in …5
×

Lecture1

482 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Lecture1

  1. 1. Fred Kuhns ( ) CS523S: Operating Systems CS523 Operating Systems Fred Kuhns Applied Research Laboratory Computer Science Washington University
  2. 2. Fred Kuhns ( ) CS523S: Operating 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
  3. 3. Fred Kuhns ( ) CS523S: Operating 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. 4. Fred Kuhns ( ) CS523S: Operating 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. 5. Fred Kuhns ( ) CS523S: Operating 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. 6. Fred Kuhns ( ) CS523S: Operating Course Overview Overview of OS design issues o Review of general purpose OS services o 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 Mach o Single/Multi-processor o Resource management Focus on Real-Time: design and implementation o Performance and predictability issues o Resource scheduling and managing concurrency
  7. 7. Fred Kuhns ( ) CS523S: Operating 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. 8. Fred Kuhns ( ) CS523S: Operating 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. 9. Fred Kuhns ( ) CS523S: Operating 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. 10. Fred Kuhns ( ) CS523S: Operating 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. 11. Fred Kuhns ( ) CS523S: Operating Layered Approach Level Name Objects Example 13 Shell User programming env. Bash statements 12 User process User process Quit,kill,suspend,resume 11 Directories Directories Create,destroy,attach,list 10 Devices External: printer,display Create,open,close 9 File system Files Create,open,close 8 Communications Pipes Crreate,open,close 7 Virtual memory Segments,pages Read,write,fetch 6 Local secondary store Blocks,channel Read,write,fetch 5 Primitive process Process,semaphore Suspend,resume,wait 4 Interrupts Interrupt-handlers Invoke,mask,retry 3 Procedures Procedure,stack,display Mark stack,call,return 2 Instruction set Evaluation stack Load,store,add 1 Electronic circuit Registers,gates,buses Clear,transfer,activate Simplifies design, implementation and testing Modular by dividing OS into functional layers. HWresourceenvironment
  12. 12. Fred Kuhns ( ) CS523S: Operating Kernel Based Approach Kernel contains a collection of primitives which are used to build the OS OS implements policy Kernel implements mechanisms Hardware kernel Operating system
  13. 13. Fred Kuhns ( ) CS523S: Operating Virtual Machine Approach Virtual software layer over hardware Illusion of multiple instances of hardware Supports multiple instances of OSs Hardware Virtual machine software VM1 VM2 VM3 VM4
  14. 14. Fred Kuhns ( ) CS523S: Operating • 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. 15. Fred Kuhns ( ) CS523S: Operating Types of Advanced OSs Distributed Operating Systems Multiprocessor Operating Systems Database Operating Systems Real-time Operating Systems
  16. 16. Fred Kuhns ( ) CS523S: Operating 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. 17. Fred Kuhns ( ) CS523S: Operating 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. 18. Fred Kuhns ( ) CS523S: Operating 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. 19. Fred Kuhns ( ) CS523S: Operating 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. 20. Fred Kuhns ( ) CS523S: Operating 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. 21. Fred Kuhns ( ) CS523S: Operating Traditional UNIX kernel • Bloated kernel • Inflexible: supported single type of file system, process scheduling executable file format file system virtual memory loader block dev char dev kernel
  22. 22. Fred Kuhns ( ) CS523S: Operating Modern UNIX • Separation of policy and mechanism • modular design and implementation (layered) AcrobatDocum ent
  23. 23. Fred Kuhns ( ) CS523S: Operating 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.

×