200 likes | 329 Vues
This course, CS422S Operating Systems Organization, led by Instructor Fred Kuhns, provides an in-depth exploration of operating system fundamentals, architecture, process management, memory management, CPU scheduling, and file systems. Students will engage in hands-on programming projects utilizing UNIX and C/C++. Assessment includes exams, weekly homework, quizzes, and active class participation. Required readings include "Operating Systems, Fourth Edition" by William Stallings and various references in UNIX programming. Office hours available for personalized assistance.
E N D
CS 422SOperating Systems Organization Fred Kuhns Bryan504 fredk@cs.wustl.edu
Operating Systems Organization • Instructor: Fred Kuhns • Office Phone: 935-6598 • Email: fredk@arl.wustl.edu • Office Hours: Bryan 504, T/Th 2:30-3:30 • Class Location: January 110 • Class times: 1:00 - 2:30 CS422S: Operating Systems Organization
CS422S Graders • Kevin Chin, klc2@cec.wustl.edu • Gregory Shea, gss2@cec.wustl.edu • Zachary Byers, zcb1@cec.wustl.edu • Josh Hays, jph1@cec.wustl.edu • Joseph Tucek, jat2@cec.wustl.edu • Xin Fan, xf1@cec.wustl.edu • Olcan Sercinoglu, os1@cec.wustl.edu CS422S: Operating Systems Organization
Course Materials • Required Textbooks • Operating Systems, Fourth Edition, by William Stallings. • References: • Advanced Programming in the UNIX Environment, W. Richard Stevens, Addison Wesley, 1992. • UNIX Network Programming, 2nd edition, Volume 2, W. Richard Stevens, Prentice Hall, 1998. • The C Programming Language: Second Edition, Kernighan and Ritchie, Prentice Hall, 1991 • Class handouts and presentation material • Man pages and Web accessible documentations • Class newsgroup: wu.cs.class.422 • Class web page: http://www.arl.wustl.edu/~fredk/Courses/cs422/sp02 CS422S: Operating Systems Organization
Course Work and Grading • 2 Exams – 40% of grade • mid-term and final. • Final is comprehensive • Weekly Homework and/or Quiz plus class participation – 20% of grade • Homework from text • Quizzes announced or unannounced • participation in class and newsgroup • 4 – 6 Programming Projects – 40% of grade • Must use UNIX and C/C++ CS422S: Operating Systems Organization
Syllabus • Intro and architecture review • Process and Threads • CPU Scheduling (uni-, multi- and RT) • Concurrency Issues • Memory management and Virtual Memory • File systems, I/O and secondary storage • Network I/O (sockets and streams) • Distributed Processing CS422S: Operating Systems Organization
Introduction • Functions of an Operating System • Resource management • User environment • Traditional Design Approaches • Layered, Kernel and Virtual • Traditional Types of Operating Systems • General Purpose, Distributed, Multiprocessor, Database and Real-time CS422S: Operating Systems Organization
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 • IPC, critical section, coordination • Accounting and status information • resource usage tracking CS422S: Operating Systems Organization
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 CS422S: Operating Systems Organization
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 CS422S: Operating Systems Organization
Layered Approach • Simplifies design, implementation and testing • Modular by dividing OS into functional layers. environment resource HW CS422S: Operating Systems Organization
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 CS422S: Operating Systems Organization
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 CS422S: Operating Systems Organization
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. CS422S: Operating Systems Organization
Types of OSs • General Purpose • Distributed Operating Systems • Multiprocessor Operating Systems • Database Operating Systems • Real-time Operating Systems CS422S: Operating Systems Organization
General Purpose Operating Systems • We will spend the majority of the semester studying what is classically known as a general purpose operating system. • Typified by desk-top and portable computing systems. • Most mechanisms we cover will equally apply to all types of operating systems • We will also look at policies and mechanisms commonly attributed to distributed and real-time operating systems CS422S: Operating Systems Organization
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 (i.e. time reference) • unpredictable communication delays. CS422S: Operating Systems Organization
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. CS422S: Operating Systems Organization
Database Operating Systems • Database systems place increased demands on an operating system to efficiently support: • concept of a transaction • manage large volumes of data • concurrency control • system failure control CS422S: Operating Systems Organization
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. CS422S: Operating Systems Organization