Course Webpage Operating Systems (CS:\(3620\):\(0001\))


Omar Haider Chowdhury
Office: \(201\mathrm{G}\) MLH (MacLean Hall)
Phone: \(319\)-\(335\)-\(0745\)
Office hours:
  • Monday (\(10:00\) am - \(11:00\) am),
  • Tuesday (\(11:00\) am - \(12:00\) pm),
  • Thursday (\(2:00\) pm - \(3:00\) pm), or by email appointment

Teaching Assistant

Mitziu A. Echeverria
Office hours: 101N MLH (MacLean Hall)
  • Thursday (\(12:30\) pm - \(1:30\) pm),
  • Friday (\(11:30\) am - \(12:30\) pm),
  • Friday (\(1:30\) pm - \(2:30\) pm),


The class syllabus can be found here




Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.

The above book has a free online version available here. It is also possible to order a hardcover or paperback version of the book from the above website. I think this is an amazing and also easy-to-read book and will strongly suggest the students to obtain a hard-copy of the book, if possible. It has a lot of useful resources that may come in handy even after you graduate. I have learned several things from this book.

Additional reference

The textbook will be complemented by the Advanced Programming in the UNIX Environment (3rd Edition) by Stevens, Rago. You can retrieve a copy of the previous edition of the book through ICON. One of the main objectives of this class is to introduce the students to different Unix utilities (e.g., sed, awk, grep) which will enable the students to automate mundane tasks very efficiently.

Communication Policies:

Most of the emails regarding grades, homework, programming projects, and exams should be first directed to the Teaching Assistant. The teaching assistant will forward relevant emails to the instructor as needed. For other emails (e.g., scheduling one-on-one meetings) and also emails of personal nature containing sensitive information, should be directed to the instructor directly. The instructor leaves the decision of determining the sensitivity of an email to the students. All emails directed to the instructor should have the prefix ``[CS:\(3620\)]’’ (without the quotes) in the subject line. Complying with this requirement will enable the instructor to process emails faster. For any matter that requires the instructor’s immediate attention, do not hesitate to schedule a face-to-face meeting or call the instructor’s office phone number.

Grading policy

The following will contribute to the final grade of this class.

  • Homework assignments, including written and programming assignments, will contribute to the \(\mathbf{40\%}\) of the course grade.
  • Midterm examination 1 will contribute to the \(\mathbf{15\%}\) of the course grade.
  • Midterm examination 2 will contribute to the \(\mathbf{15\%}\) of the course grade.
  • Final examination will contribute to the \(\mathbf{30\%}\) of the course grade.

Class Schedule

Date Topics Notes
August 22nd, 2017 Introductions + Administrative Announcements + Assessment Test + Introduction to the concepts of OS, Compiler, Bootstrapping Reading: Chapter 2 of the textbook
August 24th, 2017 Gentle introduction to BASH and the C programming language Bring a computer.
August 29th, 2017 Continue with C programming language Bring a computer; Homework 1 out
August 31st, 2017 Continue with C programming language Bring a computer.
September 5th, 2017 Process Abstraction and Process API Readings: Chapters 4 & 5 of the textbook; Homework 1 due ; Homework 2 out
September 7th, 2017 Limited Direct Execution Reading: Chapter 6 of the textbook
September 12th, 2017 Process Scheduling and Multi-level Feedback Queue Readings: Chapters 7 & 8 of the textbook;
September 14th, 2017 Multi-level Feedback Queue & Proportional Share Readings: Chapter 8 & 9 of the textbook; Homework 2 due ; Homework 3 out
September 19th, 2017 Sample midterm + Review of CPU Virtualization Readings: Chapters 2, 4, 5, 6, 7, 8, and 9 of the textbook
September 21st, 2017 Midterm 1 on CPU Virtualization Test duration: 1 hour (at least)