CS471 Operating Systems

CS471 Operating Systems

Meets: asynchronously (with synchronous exams and class activities)
Instructor: Dr. Songqing Chen
E-mail: sqchen AT gmu dot edu
Office Hours: Friday 4:30 to 6:00 PM (on Blackboard Collaborate Ultra), or by appointment


This course covers the basic principles of operating systems. Major concepts to be discussed include processes and threads, concurrency and synchronization, CPU scheduling, memory management, storage, and file systems.


(Undergraduate level CS 310 Minimum Grade of C) and (Undergraduate level CS 367 Minimum Grade of C or Undergraduate level ECE 445 Minimum Grade of C). In order to succeed in the class you must be comfortable programming in C.


The required textbooks for this class is:
Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Arpaci-Dusseau (Version 1.00) (free PDF for each chapter available online)
The recommended textbooks are
1. Operating System Concepts by Silberschatz, Galvin and Gagne, 10th Edition, John Wiley & Sons 2018, ISBN: 978-1-118-06333-0.
2. Operating Systems Principles and Practice, by Thomas Anderson and Michael Dahlin, Second Edition. ISBN: 978-0-9856735-2-9, Recursive Books, Ltd.


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



All class materials, including lecture notes and recordings, are available through your Blackboard accounts. The lecture notes and recordings will be made available on Blackboard on a weekly basis.


There will be several programming projects in using the Operating System OS/161. All projects will be programmed using the C language. Submission of the projects and homeworks is via the Blackboard.

Please NOTE


Your grade will be calcuated as follows:

Tentative dates for midterm exams and the final exam are Oct. 2, Oct. 30, and Dec. 11, 1:30-4:15 pm.

No credit if your project does not compile. Late homeworks/projects will have a penalty (specified in each assignment) and will not be accepted 3 days after the due date. There is no make-up for missed exams. The students are responsible for keeping back-ups of their work while they are working on an assignment. 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.

If you think your work is not correctly graded then you must initiate contact with the grader within a week of receiving the grade (either email or on the Blackboard). Grade contesting beyond this time window will not be allowed.



You are expected to abide by the University's honor code and the CS Department's Honor Code and Academic Integrity Policies during the semester, i.e., collaboration between students in different groups on an assignment is unacceptable. Any violation of the honor code will result in referral to the honor council.


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


GMU Academic Calendar

Honor Code

Disability Resource Center

University Catalog

University Policies