CS 492: Operating Systems

Prof. Quynh Dinh
Tuesdays 2:00-3:15pm, Pierce 116.
Thursdays 2:00-3:15pm, Pierce 120.
Office Hours: Tuesdays 3:30-5pm, Lieb Building rm.302. All other times by appointment.

TA: Alam Bakr (alambakr@hotmail.com)
Office Hours: Thursdays 3:30-5pm, Burchard rm.127 (NetBSD lab). All other times by appointment.

Final Exam grades

All grades


Prerequisites



Text

Required



Grading Policy

Assignment Breakdown

Submission Policy

All assignments are due at 11:59pm (midnight) on the due date. Assignments are to be submitted using the submit Unix command. You will be allowed to submit the assignment up to 4 times until the due date/time. Directions on how to submit assignments can be found at the submission procedure.

Late Policy

10 points (out of 100) will be taken off for each day that an assignment is turned in late. In other words, 10 points will be taken off if the assignment is turned in before midnight the day after the due date, and so on. Assignments may be turned in late up to 5 days after the due date/time.

Collaboration

Please see policy on collaboration.


Syllabus

Warning: The links below are to MS Powerpoint slides which can augment your notes. These slides do not completely cover topics discussed in class or in reading assignments. Solutions to exam questions and programming assignments may not appear in the slides.

The following is a tentative schedule and is subject to change.

Lecture
Date
Topic
Assignment
1
Aug. 31
Introduction Ch.1
2
Sept. 2
System Calls, Processes, Threads Ch.2.1-2.2, Assignment 1
3
Sept. 7
Interprocess Communication p.864-866, Ch.2.3
4
Sept. 9
Critical Section, Mutual Exclusion, Producer-Consumer Ch.2.3-2.4
5
Sept. 14
Hardware-enabled Locking, Semaphores, Mutexes Assignment 1 due Sept. 13
6
Sept. 16
Monitors, Message Passing, Remote Procedure Call (RPC) Ch.8.2.3-8.2.4
7
Sept. 21
Scheduling Ch.2.5, Assignment 2
8
Sept. 23
Deadlocks Ch.3
9
Sept. 28
Deadlocks
10
Sept. 30
Memory Management
11
Oct. 5
Swapping, Variable Partitions Ch.4.1-4.3, Assignment 2 due Oct. 6
12
Oct. 7
Virtual Memory, Paging, Review Ch.4.3
13
Oct. 12
NO CLASS
14
Oct. 14
Midterm Assignment 3
15
Oct. 19
Page Replacement Strategies Ch.4.4-4.5
16
Oct. 21
Page Replacement Strategies
17
Oct. 26
Page Allocation, Page Size, Page Faults, Backing Store Ch.4.6-4.7
18
Oct. 28
Memory Segmentation, I/O, Devices Ch.4.8, Assignment 3 due Oct. 29
19
Nov. 2
I/O, Devices Ch.5.1-5.4, 5.6, 5.8, Assignment 4
20
Nov. 4
Device Drivers, Plug-n-Play, Streams Ch.10.5.3-10.5.4, Ch.11.6.4
21
Nov. 9
Disks
22
Nov. 11
Network Terminals, File Systems Ch.5.8
23
Nov. 16
File Systems Ch.6.1-Ch.6.2, Assignment 4 due Nov. 17,
24
Nov. 18
File System Implementation Ch.6.3.1, 6.3.2, 6.3.5, 6.3.6 (file system consistency), 6.3.7
25
Nov. 23
NetBSD, OpenBSD & Security Issues Ch.6.4.2-6.4.5, Assignment 5
26
Nov. 25
NO CLASS
27
Nov. 30
Example File Systems Ch.10.6.3, Ch.11.7 (up to 11.7.3 File Compression)
28
Dec. 2
Mac OS 9 & X, OS for Multi-processor Systems
29
Dec. 7
Reiser 4 File System, Network File System Assignment 5 due Dec. 13
30
Dec. 9
Final Exam



Assignments

Programming Assignment #1 grades Partial Solution: parent.c child.c
Programming Assignment #2 grades
Programming Assignment #3 grades
Programming Assignment #4 grades
Programming Assignment #5 grades


Equipment and Facilities

You will be using C or C++ under Unix (netBSD machines or guinness). Burchard 127 has Unix terminals availabel for CS students. You may develop and debug all your code on any machine you like, but before you submit your homework make sure it compiles and runs on NetBSD. If you don't already have a computer account, make sure you get one, by contacting the CS system administrator.


Resources