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 |
|
|
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:
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: |
|
Grading |
Grades will be assigned as follows:
|
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
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.
This course is based on UIUC's CS423:Operating System Design, taught by Professor Adam Bates and Professor Tianyin Xu.