COT 4600 Operating Systems Fall 2010 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:30-4:30 PM
Lecture 1 2 Today: Class organization Systems and Complexity Next time Sources of Complexity Lecture 1 – Tuesday, August 24, 2010
Lecture 1 3 Class organization Class webpage: Textbook: ``Principles of Computer Systems Design; An Introduction'' by Jerome Saltzer and Frans Kaasohoek. Publisher: Morgan Kaufmann, ISBN
Lecture 1 4 The textbook has 6 chapters Systems Elements of Computer System Organization The Design of Naming Schemes Enforcing Modularity with Clients and Services Enforcing Modularity with Virtualization Performance
Lecture 1 5 Objectives The COT 4600 class covers basic principles guiding the design and implementation of operating systems. The focus of the class is switched from the discussion on ``how'' operating systems are implemented to the identification of the most important questions the designer of an operating system has to address and ``why'' a solution is better than others.
Lecture 1 6 Objectives (cont’d) Another major departure from the more traditional approach in covering operating systems is the emphasize on performance; several lectures cover computer system performance analysis. We also emphasize the ``big picture'' the relationship of operating systems with other subjects from undergraduate curriculum including: computer architecture, programming languages, algorithms, networking, databases, modeling and performance analysis.
Lecture 1 7 Assignments There are 6 homework assignments and a class project. A homework consists of 3-5 problems at the end of each chapter in the textbook. The homeworks are due before the start of the class on Tuesdays; you have two weeks from the instant a homework is assigned until its due
Class project Write a client and a server for a document sharing system. Demonstrate the functionality of the system. Phase 1. The system should allow multiple clients to have concurrent read access and exclusive write access to a bounded buffer. Phase 2. Create a directory and allow the system to support access to multiple documents. Phase 3. Modify the system to support multiple versions; each client requesting a copy should get the latest version. Phase 4. Design a graphics user interface supporting a set of basic commands e.g., Read, Write, List Directory. Test the system using several machine with the server and the clients running on different systems. Lecture 18
9 Grading Homework: 15% Class presentation: 20%. Project: 25% Midterm: 15% Final: 25%