George Mason University
Department of Computer Science

CS 471-001 Operating Systems

Spring 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.

Meeting Times and Location: Monday and Wednesday, 12:00 PM - 1:15 PM, Lecture Hall 3.

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 2:30 - 3:30 PM and by appointment (Office: Engineering Building, Rm. 5308)

Graduate Teaching Assistant (GTA): Jixuan Zhi (
GTA Office Hours: Monday 2 - 4 PM; Thursday 10 AM - 12 noon (ENGR 4456)

Undergraduate Teaching Assistant (UTA): Chris Gallarno (


Grading: Grading components will be as follows.

The students must achieve a total score of at least 90 (out of 100) to be considered for an A. 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). A total score less than 50 or a final exam score less than 50 will result in F.

All exams are closed book. The final exam will be cumulative; that is, it will include all topics discussed during the term.

During the semester there will be several in-class quizzes. The timing of the quizzes will not be announced in advance, and there will not be make-up opportunities for the missed quizzes. However, the quiz with the lowest score will not be considered when determining the overall score.

Completed programming assignments must be submitted to 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 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. Violations of the Honor Code will result in an F. Those violations will be also reported to the GMU Honor Council.

The students, if they feel that their work is not accurately graded, must initiate contact with the grader within a week of receiving the grade (either in the lecture during which it was first handed out or on the Blackboard). Grade contesting beyond this time window will not be allowed.

Class Home Page: Throughout the term, all course material (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.

Classroom Behavior: During the lectures, the students should avoid behavior that may distract others, including chatting, sleeping, playing games. The use of electronic devices (including laptops, tablets, cell phones, smartphones, etc.) is not allowed in this class. If you feel that your learning will be hampered by not having access to your tablet/laptop computer for note-taking or other course-related purpose, you should speak to the instructor at the beginning of the term.

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 talk to the instructor during the first week of the term about the issue.