1 / 23

CS523 Operating Systems

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:

arella
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS523Operating Systems Fred Kuhns Applied Research Laboratory Computer Science Washington University CS523S: Operating Systems

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

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

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

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

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

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

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

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

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

  11. Layered Approach • Simplifies design, implementation and testing • Modular by dividing OS into functional layers. environment resource HW CS523S: Operating Systems

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

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

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

  15. Types of Advanced OSs • Distributed Operating Systems • Multiprocessor Operating Systems • Database Operating Systems • Real-time Operating Systems CS523S: Operating Systems

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

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

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

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

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

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

  22. Modern UNIX • Separation of policy and mechanism • modular design and implementation (layered) CS523S: Operating Systems

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

More Related