Operating SystemsFall 2021

This course introduces the fundamental concepts of operating system design and implementation. The course aims at providing an understanding of how the operating system enables interaction between user-level applications and the underlying system hardware. The concepts in this course are not limited to any particular operating systems or hardware platform. However, we will mostly discuss examples from Unix/Linux operating system in this class. The course lectures will be accompanied by several programming assignments that form or depend on much of the core functionality in modern operating systems. These projects will provide students practical exposure to topics such as processes/threads, file systems, and memory management.



Professor Wajih Ul Hassan
Office hours: Friday 3:00-4:00PM
Teaching Assistants
  • Abdul Monum (22100026) -- Office hours: Tuesday 6:00-7:00PM
  • Hamza Shahzad (22100027) -- Office hours: Thursday 5:00-6:00PM
  • Muhammad Shahpar Nafees Khan (22100130) -- Office hours: Monday 10:00-11:00AM
  • Mati Ur Rehman (22100173) -- Office hours: Thursday 6:00-7:00PM
  • Syeda Mashal Abbas Zaidi (22100008) -- Office hours: Wednesday 11:00-12:00PM
  • Zafir Ansari (22100040) -- Office hours: Thursday 5:00-6:00PM
Lectures MW 12:30PM-1:45PM Online Zoom Classroom
Format This class will be 100% online, with both synchronous and asynchronous lectures.
Required Text Book

Optional Reading:

  • Virtual Machines, James E. Smith and Ravi Nair, Elsevier / Morgan Kaufmann, 2005
  • Linux Kernel Development (3rd Edition), Robert Love, 2010

You may find the Linux Kernel Development book to be helpful when completing your programming assignments.

Communications We will make use of the following communication methods during this course:

  • Lectures, Discussions, Office Hours: Zoom
  • Lecture Slides: LMS
  • Class Discussion/Organization: Slack
  • Lecture Recordings, Quizzes, and Grades: LMS
Grading

Grades will be assigned as follows:

  • Programming Assignments: The four programming assignments (PAs) will be worth 40% of your grade. All PAs should be solved individually. No late submissions are allowed.
  • Midterm: The midterm will be worth 20% of your grade.
  • Final: A final exam will be worth 30% of your grade.
  • Participation: Accounts for 10%. Includes quizzes, HWs, and discussion on Slack

Course Expectations

The expectations for the course are that students will attend every class, do any readings assigned for class, and actively and constructively participate in class discussions. Class participation will be a measure of contributing to the discourse both in class, through discussion and questions, and outside of class through contributing and responding to the discussion forum.

More information about course requirements will be made available leading up to the start of classes

Ethics Statement

This course will include topics related to computer security and privacy. As part of this investigation, we may cover technologies whose abuse could infringe on the rights of others. As computer scientists, we rely on the ethical use of these technologies. Unethical use includes circumvention of an existing security or privacy mechanisms for any purpose, or the dissemination, promotion, or exploitation of vulnerabilities of these services. Any activity outside the letter or spirit of these guidelines will be reported to the proper authorities and may result in dismissal from the class and possibly more severe academic and legal sanctions.

Credits

This course is based on UIUC's CS423:Operating System Design, taught by Professor Adam Bates and Professor Tianyin Xu.