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. In addition, the students should be fluent in all aspects of the C programming language in order to complete the course work, which includes substantial programming projects.
Meeting Time and Location: Tuesday 4:30 – 7:10 PM, Engineering Building Room 1103.
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" (5th Edition, Addison-Wesley 2012, ISBN 978013214301-1), by Coulouris, Dollimore and Kindberg.
Office Hours: Tuesday 7:20 – 8:20 PM; Friday 4:20 PM – 5:20 PM; and by appointment (Office:
Tentative Exam Dates:
Course Home Page: Throughout the term, the course material (lecture slides, assignments, and announcements) will be posted to the GMU Blackboard system which can be accessed at http://mymason.gmu.edu.
Teaching Assistant (TA): Arda Gumusalan (email@example.com)
TA Office Hours and Location: TBA
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
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 mason.gmu.edu and on IT&E Unix cluster zeus.vse.gmu.edu (Instructions and related links are here). Students can work in IT&E computer labs for programming projects during the specified hours.
Classroom Behavior: During the lectures, the students should avoid behavior that may distract others, including chatting, sleeping, playing games, surfing the web. All electronic communication devices (including laptops, PDAs, cell phones) should be either turned off or silenced during the lectures.
If you have a learning or physical difference that may affect your academic
work, you will need to furnish appropriate documentation to