CS 690 Advanced Operating Systems
- Class Schedule
Fall 2008
Lectures are organized by subject. For each lecture there will be assigned
reading either from the textbook, the supplemental textbook, a paper or
handout. Read the material before class
so you will be able to follow the lecture, ask intelligent questions, and
participate in class room discussion.
NOTE: SCHEDULE
SUBJECT TO CHANGE!
This schedule is
subject to change.
Fundamentals: 8/19,
8/21
- Course
overview.
- Review
of fundamental operating systems concepts including OS structure, processes
and threads, semaphores and other synchronization basics, memory
management and scheduling. (Web
based notes and undergraduate OS text)
- Review
of computer system organization (Web based notes)
OS Kernel Structures:
8/26, 8/28
- Microkernel
and extensible operating system kernels.
Assignment, from the Reading List See the section “How To Read a Research
Papers”.
“Exokernel: An Operating System
Architecture for Application-Level Resource Management” Introduction, Sections 1, 2, 3.1;
skim section 8 and conclusions
“Extensibility, Safety and
Performance in the SPIN Operating System. Sections 1, 2, 3.1, 3.2
2. Virtual
machine architectures (papers from
reading lists)
Assignment, from the reading list
“Virtual Machine Monitors:
current Technology and Future Trends”
“Xen and the Art of Virtualization”
“Scale and Performance in the Denali
Isolation Kernel”
Distributed System
Overview: 9/2, 9/4, 9/9, 9/11
- Introduction
(Tanenbaum, Chapter 1) + web notes
- Architectures
(Tanenbaum, Chapter 2.1 – 2.3 )
- Threads
and virtualization in distributed systems (Tanenbaum, Chapter 3.1 – 3.2)
- Clients,
servers, and code migration (Tanenbaum, Chapter 3.3 – 3.6)
Distributed Systems
Communication: , 9/16, 9/18
- Fundamentals
and Remote Procedure Call (Tanenbaum, Chapter 4.1, 4.2)
- Overview
of message-oriented, stream-oriented, multicast communication (Tanenbaum
Chapter 4.3.1, 4.4.1, 4.5)
Distributed Systems
Principles: 9/23
- Naming
(Tanenbaum 5.1 + a few other topics)
Test 1: 9/25
Distributed Systems Principles: 9/30, 10/2
- Consistency
and Replication (Tanenbaum 7.1, selected topics from 7.2 and 7.3, 7.4)
- Fault
tolerance (Tanenbaum, 8.1)
Synchronization Part
1: 10/7, 10/14
- Synchronization
in centralized systems – semaphores (review – Stallings 5.1-5.3 or
equivalent in another undergrad text)
- Synchronization
problems – producer/consumer, reader/writer, monitors (Web notes,
undergraduate textbook)
Synchronization Part 2: 10/16, 10/21
- Physical
and logical clocks (Tanenbaum Chapter 6.1, 6.2)
- Mutual
exclusion in distributed systems (Tanenbaum Chapter 6.3)
- Election
algorithms (Tanenbaum Chapter 6.5)
Synchronization Part 3: 10/23
- Detecting
race conditions in multithreaded programs
“Eraser: A Dynamic Data Race Detector for Multithreaded Programs”,
Stefan Savage, Michael Burrows, Greg Nelson, Partick Sobalvarro, Thomas
Anderson; ACM Transactions of Computer Systems, Volume 15, No. 4, pp.
391-411, 1997.
“Racetrack: Efficient Detection of Data Race Conditions via Adaptive
Tracking”, Yuan Yu, Tom Rodeheffer, Wei Chen, SOSP ’05.
File Systems: 10/28
- File
System Fundamentals:
“A Fast File System for UNIX”, Marshall Kirk
McKusick, William N. Joy,
Samuel J. Leffler, Robert S. Fabry, Computer Systems, volume 2,
number 3, pp. 181-197, 1984.
File Systems: 10/30, 11/4
- Distributed
File Systems: (Tanenbaum, Chapter 11)
Test 2: 11/6
Peer-to-Peer File Systems: 11/11
Memory Management: 4/10, 4/15,
4/17, 4/22
Final Exam: 12/4 – 6:30-9:00