George Mason University
Department of Computer Science

CS 471-001 Operating Systems

Fall 2020

Instructor: Dr. Hakan Aydin

Description: This course covers the principles of operating systems theory and practice. Fundamental concepts such as processes, synchronization, scheduling, memory management, file systems, and security will be presented.

Prerequisites: (Grade of C or better in CS 310) and (grade of C or better in CS 367 or ECE 445). The students should be fluent in C programming language in order to complete the course work, which includes substantial programming projects. Prerequisites will be strictly enforced.

Course Format: This is an online course with both asynchronous and synchronous components. The course lectures will be delivered in asynchronous format: lecture videos will be made available on Blackboard on a weekly basis. In addition, there will be synchronous online meetings held every Wednesday from 6:00 - 7:15 PM on Blackboard Collaborate Ultra. The synchronous online meetings will be for weekly review/discussion of the asynchronous course material and assessments (such as midterm exams). The students must plan for their semester schedule to attend online weekly synchronous meetings (Wednesday 6:00 - 7:15 PM).

Course Outcomes: Upon completion of this course, the students should be able to:

The main resource for this class is the lectures delivered by the instructor, supported by the course slides. There is no required textbook. As additional reading, the following textbooks are suggested:
Operating System Concepts by Silberschatz, Galvin and Gagne (9th or 10th Edition, John Wiley & Sons)
Operating Systems - Principles and Practice (2nd Edition, Recursive Books) by Anderson and Dahlin
Modern Operating Systems (4th Edition, Pearson) by A. S. Tanenbaum
Operating Systems: Three Easy Pieces (Online Book v1.00, Arpaci-Dusseau Books) by R. H. Arpaci-Dusseau and A. C. Arpaci-Dusseau

Instructor Office Hours: Wednesday 4:30 - 5:30 PM and by appointment (on Blackboard Collaborate Ultra).

Graduate Teaching Assistant (GTA): Abhishek Roy (
GTA Office Hours: Monday 10:30 AM - 12:00 noon and Thursday 2:00 PM - 3:30 PM on Blackboard Collaborate Ultra (Virtual).


Grading: Grading components will be as follows.

Exam dates (Tentative):

Grading Scale: The grades will be based on the following scale.

A+ 95%
A 90%
A- 88%
B+ 85%
B 80%
B- 78%
C+ 73%
C 68%
D 50%
F 0%

The final exam will be cumulative; that is, it will include all topics discussed during the term. A total score less than 50 or a final exam score less than 40 will result in F. No early midterm/final exams will be given and make-up exams are strongly discouraged.  A student should present an official and verifiable excuse to miss a midterm/final exam (such as a doctor's note).

Completed programming assignments must be submitted on the Blackboard. For group programming assignments, each member of the group must make a separate submission. If a student makes multiple submissions, only the last submission will be graded. It is critical that the students double check the files they are submitting, as submitting a wrong, corrupt, or empty file is very likely to result in a score of 0 for that assignment. Students are responsible for keeping back-ups of their work while they are working on a programming assignment.

All students must abide by the GMU Honor Code and CS Department's Honor Code and Academic Integrity Policies during the semester. The students are supposed to work individually on the assignments. Collaboration will be allowed only for the group assignments, within each group. We reserve the right to use automated tools such as MOSS to detect plagiarism. The violations of Honor Code will be reported to GMU Honor Council with the recommended sanction of F in the course (at a minimum).

The students, if they feel that their work is not accurately graded, must initiate contact with the grader within seven days that follows the availability of the grade on Blackboard. Grade contesting beyond this time window will not be allowed.

Class Home Page: Throughout the term, all course material (lecture videos, announcements, slides, handouts, etc.) will be available on the GMU Blackboard system. Important announcements will be also sent by e-mail to the students' GMU e-mail addresses.

Computer Accounts: All students should have accounts on VSE Unix cluster (aka Information can be found here. Your programs will be tested and graded on the VSE Unix Cluster. If you develop your programs on systems other than zeus, it will be your responsibility to port them to zeus before the submission deadlines.

Disability Statement: If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center (DRC). If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must contact the instructor during the first week of the term about the issue.