200 likes | 323 Views
CS 422S Operating 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.
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