Reading: Questions

Students are required to turn in answers to the assigned questions before lecture. These answers are graded. Students will earn up to 3 points each time: 3 for excellent understanding, 2 for good understanding, 1 for understanding a little, and 0 for no understanding. If you submit your answers after the start of class, you will not receive any points. Please strive for clarity and brevity in your answers.

Submit your answers by clicking the "submit" link in the reading assignments section on the lecture schedule page. We only accept online submissions. Please hand in plain ASCII text files.


MOS 1.4-1.5

Goal: Understand the responsibilities, components, and services of an operating system.

MOS 1.6-1.7

Goal: Understand the OS structure and the implementation of system calls and libraries.

MOS 2.1, 2.2.1-2.2.3

Goal: Understand the concept of program, process, and thread.

MOS 2.2.4-2.2.9

Goal: Understand different kinds of threads as well as the concept of a critical section.

MOS 2.3.3, 2.3.6

Goal: Understand how to use disabled interrupts and atomic read-modify-write to implement mutual exclusion.

MOS 2.4 (2e: 2.5)

Goal: Understand the criteria and methods of CPU scheduling

MOS 2.3.5, 2.3.7, Birrell

Goal: Understand the concept of semaphores and monitors and know about how to use them.

MOS 6 (2e: 3)

Goal: Understand the cause of deadlocks and think about the best solution.

MOS 5.1-5.3, 5.5-5.9

Goal: Understand I/O devices, their interrupt handlers, and device drivers.

A complicated issue in designing a device driver is to provide asynchronous operations.

MOS 2.3.8, 8.2.1-8.2.4

Goal: Understand the issues in designing message-passing APIs and how to implement them.

MOS 3.1-3.3 (2e: 4.1-4.3.3)

Goal: Understand the basic concept of virtual memory and various address translations

MOS 3.4 (2e: 4.4)

Goal: Understand the properties of various page replacement algorithms.

The textbook describes 10 page replacement algorithms in Section 3.4.

MOS 3.5-3.6 (2e: 4.6-4.7)

Goal: Understand implementation issues.

MOS 5.4

Goal: Understand how disks work and learn about various disk scheduling algorithms.

DARPA Internet Protocols

David Clark, The design philosophy of the DARPA internet protocols, In Proceedings of SIGCOMM Conference. 1988.
Goal: Understand the design principles of the Internet.

MOS 4.1, 9.3.1-9.3.3 (2e: 6.1, 9.6)

Goal: Understand file system interfaces and protection.

MOS 4.2-4.3.3, 4.5.2-4.5.3 (2e: 6.2-6.3.3, 6.4.3, 6.4.5)

Goal: Understand file directories and file layout alternatives.

MOS 4.4.2-4.4.4, 4.3.5, 4.3.6 (2e: 6.3.6-6.3.8)

Goal: Understand the issues and some solutions for file system reliability.

MOS 10.6.3-10.6.4, NetApp

David Hitz, James Lau, and Michael Malcolm. File system design for an NFS file server appliance. Winter USENIX Technical Conference (San Francisco, CA, 17-21 January 1994), pages 235-246. USENIX Association, 1994.
Goal: Understand the design and issue of the original NetApp file server.

This paper describes the internals of WAFL, the NetApp's file system which has a built-in mechanism to take snapshots.

Virtual Machine Monitor

Mendel Rosenblum and Tal Garfinkel. Virtual Machine Monitors: Technology and Future Trends. Computer. 38(5) 39-47, May 2005.
Goal: Understand the benefits and challenges of virtual machine monitors.

OS Performance analysis

Making the ``Box'' Transparent: System Call Performance as a First-class Result. Yaoping Ruan and Vivek S. Pai In Proceedings of the USENIX 2004 Annual Technical Conference (USENIX'04), Boston, MA, June 2004
Goal: Understand the complexities of OS performance at scale.