OPERATING SYSTEMS ICOMS W4118, Dept of Computer Science, Columbia University
Home | Announcements | Lectures | Homeworks | Grades | Calendar | Discussion

LECTURES
The following is a preliminary schedule for the class. Exam dates and topics covered are subject to change. All classes are held in the regularly assigned classroom for the course unless otherwise indicated. Reading assignments refer to the course textbook unless otherwise indicated.

no. day date topic assignment
1 Tue 9/3 Introduction, logistics Read Ch 2, 4, 13, and 14
2 Thu 9/5 How hardware works, process abstraction (Supplemental Slides) Homework 1 out, Read Ch 5 and 6
3 Tue 9/10 OS boot and operation, processes, system calls (Linux boot to init, AP Shell) Read Ch 2 and 3 Linux Kernel Development
4 Thu 9/12 Linux boot to init continued Read Ch 5 Linux Kernel Development
5 Tue 9/17 Linux processes and system calls Read Ch 6 and 18 Linux Kernel Development
6 Thu 9/19 Linux kernel hacking, implementing system calls Homework 2 out, Read Ch 26 and 27
7 Tue 9/24 Process lifecycle, signals, interrupts Read Ch 28 and 29
8 Thu 9/26 Threads, Linux kernel threads Read Ch 30 and 31
9 Tue 10/1 Synchronization Read Ch 9 and 10 Linux Kernel Development
10 Thu 10/3 Linux synchronization Homework 3 out, Read Ch 7 and 8
11 Tue 10/8 Linux CPU scheduling Read Ch 9 and 10
12 Thu 10/10 Linux wait queues, condition variables Read Ch 4 Linux Kernel Development
13 Tue 10/15 reader-writers, RCU, deadlock (RCU supplemental figures)
14 Thu 10/17 Midterm exam review
15 Tue 10/22 Midterm exam Homework 4 out
16 Thu 10/24 CPU scheduling algorithms Read Ch 15 and 18
17 Tue 10/29 Linux scheduling classes Read Ch 19 and 20
18 Thu 10/31 Memory management Read Ch 12 (Pages) and 15 Linux Kernel Development
Tue 11/5 Academic holiday - no class
19 Thu 11/7 Paging Homework 5 out
20 Tue 11/12 Virtual Memory Read Ch 17 and 21
21 Thu 11/14 File Systems Read Ch 39 and 40
22 Tue 11/19 File Systems Read Ch 37, 41, and 44
23 Thu 11/21 File Systems in Linux Homework 6 out, Read Ch 13, 14, and 16 in Linux Kernel Development
24 Tue 11/26 File and I/O Systems
Thu 11/28 Academic holiday - no class Read Ch 36 and 38
25 Tue 12/3 File and I/O Systems
26 Thu 12/5 Final review
Tue 12/17 Final Exam, 4:10-7pm