CS550 (Section 02) - Operating Systems

Prof. Kartik Gopalan

[Syllabus] [Lectures] [Assignments] [Policies]


This course will cover classical and advanced concepts in Operating Systems. Topics include:

We will cover a mix of background material and advanced topics. Assignments and course projects will help you get your hands dirty with Linux kernel.

Course Information
Time: Mon and Wed 12:30PM
Location: EB G-7 (Engineering Building - Main campus)

Credit hours and course expectations: This course is a 3-credit course, which means that students are expected to do at least 9 to 9.5 hours of course-related work or activity each week during the semester. This includes scheduled class lecture/discussion meeting times as well as time spent completing assigned readings, studying for tests and examinations, participating in lab sessions, preparing written assignments, and other course-related tasks.


Evaluation Criteria:

Instructor: Kartik Gopalan.
Office Hours: Mon and Wed 2:10-3:10pm in EB G-7 or EB Q-17

Teaching Assistant: Spoorti Doddamani
Office Hours: Mon and Fri 10-11.30am in EB G-7

Contact email oscourse@binghamton.edu : Please use this address to reach both the intructor and the TA. One of us will respond to you.


The primary textbook will be Modern Operating Systems, by Andrew Tanenbaum, Prentice Hall; 4th edition. We will also cover various research papers that will be available online.

Other Recommended Material:

[Syllabus] [Lectures] [Assignments] [Policies]

Lecture Slides

Please clear your browser's cache and reload this page to see the latest listing of slides below.

  1. Course Information
  2. Introduction
  3. Processes
  4. Inter Process Communication
  5. Threads
  6. Race Conditions and Deadlocks
  7. Semaphores and Condition Variables
  8. Events vs Threads
  9. Kernel Modules
  10. System Calls
  11. Virtual Memory Management
  12. TLB Coverage and Superpages
  13. "The UNIX time-sharing system", Dennis M. Ritchie and Ken Thompson, 1974
  14. Introduction to Virtual Machines
  15. Operating-System-Level Virtualization (Containers)
  16. System Security
  17. Live Migration
  18. RAID
  19. I/O Models
  20. Principles of System Design

[Syllabus] [Lectures] [Assignments] [Policies]


Assignment Submission: Submit your assignment on mycourses.binghamton.edu as one zipped compressed file. Include all your code, a README file, and a Makefile. If you do not know how to do this, please contact us for help. DO NOT submit each file individually. DO NOT include the entire linux kernel (for kernel programming assignments) -- include only the files you change. DO NOT include object files (.o) or any executable files.

[Syllabus] [Lectures] [Assignments] [Policies]