COP4610/CGS5765: Principles of Operating Systems

Course Syllabus

program examples

Lecture 1
Introduction and History
Reading: Chapter 1

Lecture 2
Lecture 1 review
Concurrency, process, and system call
Reading: Chapter 2
Homework 0, due before next class, getid.c.

Lecture 3
Lecture 2 review
OS interface: Process Control

Announcement: Please submit your homework to in the future.

Lecture 4
Lecture 3 review
OS interface: File operations
Homework 1, due before next class (send your code to the, sample executable

Lecture 5
Lecture 4 review
OS interface: I/O Redirection
Homework 2: Add three lines of code (with no loop) to hw2.c so that it will display all files specified in the command line arguments. Due before next class (send your code to

Lecture 6
Lecture 5 review
Inter-process communication with pipe

Lecture 7
Lecture 6 review
Inter-process communication with signal
Homework 3, due before the next class.

Lecture 8
Lecture 7 review
Process Management
Reading: Chapter 3

Lecture 9
Lecture 8 review
CPU Scheduling
Reading: Chapter 5

Lecture 10
Lecture 9 review
Genesis: From raw hardware to process

Announcement: Midterm No.1 (close book) to be held on Feb. 15. You are allowed to bring one piece of 11"x8.5" "cheat sheet" to the exam. reading list for the exam, a sample exam

Lecture 11
Lecture 10 review
Memory allocation

Lecture 12
Lecture 11 review
Memory protection
Reading: Chapter 8

Please participate in the ACM programming contest this Saturday. Your will get 1 (final overal grade) point for showing up, 2 points for solving one problem, and 3 points for winning the contest (top 3 finishing).

Lecture 13
Lecture 12 review
Address Translation

Lecture 14
Lecture 13 review
Virtual Memory
Reading: Chapter 9
Homework 4: Problems 8.20 and 8.23 in the book (page 353). Due next class.

Lecture 15
Lecture 14 review
Device Management

Lecture 16
Lecture 15 review
File System
Homework 5: Problem 12.16 in page 548. Here is the problem in a txt file. Due next class.

Lecture 17
Lecture 16 review
Naming and Directories

Midterm No. 2 to be held on March 21 (Wednesday). Here is the reading list for midterm 2. You are allowed to bring one piece of 11"x8.5" "cheat sheet" to the exam.

March 19 class will be a question-answer section.

Lecture 18

Lecture 19
Lecture 18 review
Protection and Security

Lecture 20
Lecture 19 review
Homework 6: write a threaded PI program that can achieve a speed up of a factor of 3 for certain precision (e.g N=100000000) on linprog (compiled with -O3 -lpthread). Due Monday before the class (send your code to Samidh).

Lecture 21
Lecture 20 review
Lock implementation

Lecture 22
Lecture 21 review
Homework 7: Use disable interrupt to implement semaphore with no busy-waiting. Due next class (Monday April 9).

Lecture 23
Lecture 22 review

Lecture 24
Lecture 23 review

Lecture 25
Lecture 24 review
Synchronization mechanism in pthread

Final exam to be held on April 24 (Tuesday), 5:30pm - 7:30pm. You are allowed to bring one piece of 11"x8.5" cheat sheet to the exam.

Here is the reading list for materials after midterm 2. You will also need to read the materials in Midterm 1 and Midterm 2.