George Mason University


CS 571 Operating Systems - Spring 2011

Instructor: Dr. Hakan Aydin



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

Prerequisites: CS 310 (Data Structures), CS 367 (Computer Systems and Programming), and CS 465 (Computer Architecture), or equivalent. A solid background in Computer Architecture (including Assembly Language) is required. The course material will include material that requires the knowledge of C programming language. In order to work on the substantial programming projects of the course, the students must have working knowledge of  C or Java  programming languages.


Meeting Time and Locations:  Wednesday  4:30 – 7:10 PM  Blue Ridge Hall Room 129


Required Textbook: "Operating System Concepts", by Silberschatz, Galvin and Gagne (8th Edition, John Wiley & Sons 2008, ISBN 978-0-470-12872-5).
"Modern Operating Systems" (3rd edition, Prentice Hall 2008, ISBN: 0-13-600663-9) by A. S. Tanenbaum, is another good book on the principles of operating systems.
As additional reference on distributed systems, the following book can be recommended: "Distributed Systems: Concept and Design" (4th Edition, Addison-Wesley 2005, ISBN 0321263545), by Coulouris, Dollimore and Kindberg.

Office Hours: Monday 4:30 – 5:30 PM; Wednesday 7:20 PM – 8:20 PM; and by appointment (Office: Engineering Building, Room 5308)



  • Introduction, Threads and Processes
  • Interprocess Communication, Synchronization
  • CPU Scheduling
  • Memory Management
  • File and I/0 Systems
  • Protection and Security
  • Distributed System Structures
  • Distributed Coordination
  • Fault Tolerance,  Real-time Computing


Tentative Exam Dates:


  • Midterm: March 23
  • Final:  May 11


Course Web Page:


Teaching Assistant: Fengwei Zhang (
TA Office Hours: Wednesday 3-4 PM; Friday 4-5 PM; and by appointment

TA Office: Engineering Building, Room 4456




  • Midterm 30%
  • Final 35%
  • Programming Projects 35%


The students must achieve a total score of at least 85 (out of 100) to be considered for an A. No early exams will be given and make-up exams are strongly discouraged.  A student should present an official and verifiable excuse to miss an exam (such as a doctor's note).  Each project will have a soft copy and hard copy component that must be submitted by the date specified on the project handouts. All students will be required to give the demo of the last programming project in person, in the instructor’s office.

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/projects. Collaboration will be allowed only for the group projects, within each group. We reserve the right to use automated tools such as MOSS to detect plagiarism. Violations of the Honor Code or a total score of 49 (or less) will result in an F.

Computer Accounts: All students should have accounts on the central Mason Unix system  and  on IT&E Unix cluster (Instructions and related links are here). Students can  work in  IT&E computer labs  for programming projects during the specified hours.


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