Department of Computer Science 

CS 4410/4411: Fall 2008

Systems Programming and Operating Systems









Course Details



 Course Staff/Help

 Academic Integrity

 How to Lose in CS 4410


 Lecture Notes

 CS4411 Sections






 C for Java programmers


 Suggested Readings




Topics Covered


Thur 28th Aug

Introduction: (slides)
Introduces the course and its contents; Discusses the history of OSs.

No reading

Tues 2nd Sept

Architectural Support for Operating Systems: (slides)
Interrupts and Traps; I/O and device drivers; OS Protection; OS Structure; Booting.

Chaps 1, 2, and 13

Thur 4th Sept

Processes and Interprocess Communication: (slides)
What is a process, and why do we have them? How are they created and destroyed? How do processes communicate?

Chap 3

Tues 9th Sept

Threads: (slides)
How do they different from processes? What are the main issues in using them?

Chap 4

Thurs 11th Sept

CPU Scheduling: (slides)
How does the OS decide which user processes/threads to schedule? 

Chap 5

Tues 16th -
Tues 23rd Sept

Synchronization: (slides 1, slides 2, slides 3)
How do threads share the same memory without stepping on each others toes? How do threads coordinate their execution? Locks, spinlocks, semaphores, monitors, and conditional variables.

Chap 6

Thurs 25th -
Tues 30th Sept

Deadlocks: (slides 1, slides 2)
How to prevent synchronized threads from mutually blocking each other and halting

Chap 7

Thurs 2nd Oct

Memory Management: (slides)
Main memory concepts - paging, segmentation.

Chapter 8

Tues 7th -
Thurs 9th Oct

Virtual Memory: (slides 1, slides 2)

Chapter 9

Tues 14th Oct

Fall Break.


Thurs 16th Oct



Tues 21th Oct

Disks and RAID (and review I/O): (slides)

Chap 12 (and 13)

Thurs 23rd -
Tues 28th Oct

File Systems: (slides 1, slides2)
How are filesystems implemented, what are the performance implications for various designs? Hard/Soft Links, Caching, Consistency, Disk block allocation, Log structured filesystems.

Chaps 10 and 11

Thurs 30th Oct
Thurs 6th Nov

Networking: (slides 1, slides 2, slides 3)

Chap 16 and

Saltzer, Reed and Clark, End-to-End Arguments in System Design. Wikipedia: TCP & DNS

Tues 11th Nov

Security: (slides)

Chaps 14 and 15

Thurs 13th -
Tues 18th Nov

Distributed Systems: (slides 1, slides 2)

Chaps 16, 18, and Time, Clocks, and the Ordering of Events in a Distributed System

Thurs 20th Nov



Tues 25th Nov

Distributed File Systems (NFS/AFS) and RPC: (slides)
Distributed File Systems (DFS)---The Network File System (NFS) and Andrew File System (AFS)---and remote procedure calls (RPC).

Chaps 17, 11.8, 11.9, and 3.6.2

Thurs 27th Nov



Tues 2nd -
Thurs 4th Dec

Course Review (slides 1, slides 2)

The whole book ;-)

Thurs 18th Dec

2pm in Room 131 Warren Hall (length: 2 1/2 hrs).