CS 471 Spring 2026 - Operating Systems

George Mason University

Department of Computer Science

Course Basics

Instructor: Hamza Mughal

Email: hmughal2@gmu.edu

Office: BUCHAN D217F

Office Hours:

Please note the syllabus is subject to change to enrich the student's learning experience. Feel free to email hmughal2@gmu.edu for questions and concerns.

Course Schedule

The planned course schedule can be found here

Course Description

CS 471 provides an introduction to the principles of operating systems theory and practice. Fundamental concepts such as processes, synchronization, scheduling, memory management, file systems, distributed systems, and security will be presented.

This course assumes you are comfortable with programming in C as a strong requirement.This course will prepare you for better understanding how programs can work with their systems in general. Follow-on studies in this area include CS 475 (Distributed Systems) and CS 455 (Networking), among others.

Prerequisites

Grade of C or better in (CS 310 or ECE 340), AND Grade of C or better in (CS 367 or ECE 445)

This course assumes you are comfortable with programming in C as a strong requirement.

All programming assignments will be programmed in C.

You will need to be able to read and assess existing C code as the starting point for your programming assignments.

All work will need to be done on our course Linux server (Zeus).

Textbook

In this class, the main resource for the material will be the lectures and slides delivered by the instructor. There are many, many different ways to approach these topics, and each operating system (and each different version or that code) may support completely different implementations. The lectures are the primary resource for the course.

Required Textbook: "Operating Systems: Three Easy Pieces" (Online Book, Arpaci-Dusseau Books) by R.H. Arpaci-Dusseau and A.C. Arpaci-Dusseau. Available Online for Free

Course Outcomes

The CS Department has identified these outcomes as ones that must be met throughout the semester:

Demonstrate knowledge of operating systems features, evolution, and design

Show an understanding of the need for concurrent operation of multiple tasks (processes/threads) and an ability to solve basic process synchronization problems that arise from concurrent operation settings.

Demonstrate knowledge of process scheduling, basic memory management, storage systems, and file system management techniques and their impact on performance.

Be able to implement basic algorithms for OS services such as memory management and process scheduling.

Demonstrate knowledge of security threats to an operating system from both processes and networked sources and show an understanding of protection techniques.

Demonstrate knowledge of how system calls work along with the mechanisms for interrupt handling.

Course Topics

Operating System Fundamentals

Processes and Threads

Concurrency and Synchronization

CPU Scheduling

Memory Management and Virtual Memory

File and Storage Systems

Security

Grading

30% Projects

10% Homeworks

15% Midterm 1

15% Midterm 2

30% Final (cumulative)

You must pass a significant exam threshold to receive a passing grade in this class regardless of your performance on other assignments. To receive a passing grade in this course, your final exam grade MUST be >= 50%

Grade Cutoffs

A+ [95-100] A [90-95) A- [85-90)

B+ [80-85) B [75-80) B- [70-75)

C+ [66-70) C [63-66) C- [60-63)

D [50-60)

F [0-50)

Exam Policy

There are no make-up exams.

There are no drops or replacements for exams.

Exams are in-person using pencil and paper.

In general, no computers, cell phones, books, calculators, or other such resources are allowed.

You can bring in one page (8.5"x11" US Letter) with handwritten notes (both sides of the paper are allowed) for each exam.

Project Policy

You may work with up to one partner from your lecture section. (This does not have to be the same as your Homework partner)

Programming Assignments take significantly longer than other courses

Homework Policy

You may work with up to one partner from your lecture section. (This does not have to be the same as your Project partner)

There are no make-up homework assignments.

Each homework will be posted on Canvas, but will be turn in in-class

Homework Assignments submitted after the deadline will get a Zero grade.

No Homework Assignment is Dropped, and No make-up assignments are provided.

Schedule

Planned Schedule and Timeline:

Office Hours

Office Hours Policies

Office Hours Locations and Maps

Professor's Office Hours (For Lecture Topics, Homework and Exam Assistance and Grading)

Professor Times Map
Prof. Mughal T/TR 1:30 pm - 2:30 pm, M/W 1:30 pm - 2:00 pm Location : Buchanan Hall D217F

GTA Office Hours (For Programming Assignment Assistance and Grading)

GTA Times Map
Yong Cheng Thursday 2:30 pm - 4:30 pm Location: BUCH D215
Ying Meng TTuesday 5:00 pm - 7:00 pm Location: ENGR 4456
Haoyang Zhang Wednesday 10:00 am - 12:00 pm Location: ENGR 5349

Canvas and Piazza

Canvas Link: https://canvas.gmu.edu

Important Notice: This course will be hosted on Canvas this semester. Please ensure you are familiar with accessing and navigating this platform. Resources and support are available at: https://lms.gmu.edu/getting-started-students/ to help you get started. If you have any questions, do not hesitate to reach out to me or contact the ITS Support Center (support@gmu.edu) for assistance.

CS 471 Canvas Page

Piazza

This term we will be using the Piazza discussion board for programming assignment discussions only.

Piazza Link: TBA

Piazza Policies

Grading

The course will have two midterms and a final. Much of the work during the semester will be completing programming assignments, as well as regular homework activities.

In general, all grades should be available about two weeks after submission.

Grade Contesting

  • For Exams and Homework Assignments: Contact Professor Mughal
  • For Programming Assignments: Contact Your Grader GTA
    • If you are unable to come to a resolution with your GTA, please contact your Professor.

AI / LLM and Academic Standards Course Policies

  • You are not allowed to use code from the Internet.
    • This includes Stackoverflow, Chegg, Github, ReplIt, TutorialPoint, or any other site with code.

  • You are not allowed to use code from Generative AI or LLMs.
    • All work submitted in this course must be your own original work.
      • The use of AI writing/programming tools, such as Copilot, ChatGPT, Gemini, Claude, Grok, and other similar models are prohibited in this course and will be considered a violation of academic integrity.
      • The use of AI-enhanced IDEs, such as VisualStudio Code, Cursor, Augment, Aider, Windsurf, Cline, or any other editor that has AI-features enabled will be considered a violation of academic integrity.
        • You can disable AI features in IDEs and then use those IDEs without any issues.
        • As an example, if you uninstall Copilot and select "Hide AI Features" in VS Code, you may use that IDE

  • You are not allowed to discuss any implementation (code) or design decisions with any other student.
    • This includes prior students and students from other sections.

  • You are not allowed to share or use any code from any other student (including past students)
    • This includes posting your code to a public GitHub repository.

To do the higher-level work in this field (CS 471, CS 475, CS 455, CS 440, CS 468)...

  • You need to understand/apply fundamental concepts and skills without the use of AI tools.
  • Practicing without the use of these tools are critical to the process of learning.

All suspected academic integrity violations are required to be reported to the office of Academic Standards.

Grading Policies

  • There are no make-up programming assignments, homeworks, or exams.
  • There are no additional extra-credit assignments.
  • There are no late-tokens for programming assignments.
  • There is no course-long curve at the end of the semester.

Programming Assignment Policies

  • Canvas Submission must be made by the Programming Assignment Due Date
    • Each Programming Assignment lists any Late Policies/Penalties on the Assignment Itself.
      • Any Programming Assignment submitted after the final deadline for late submissions will receive a zero on the assignment.
    • Your code must compile and run on the Zeus server to be graded.
      • Zeus is the official server on which OS/161 will be run.
    • Check your submission to make sure it is the correct tar file!
      • Turning in the wrong files will result in a zero.
    • Back up your work!
      • Catastrophic computer/file failure or corruption will not be cause for an extension.
      • Do not put your code in any public repository where others can find it.
      • You may use private repositories (the course GitLab server is the offical repository for your work.).

  • Programming Assignments take significantly longer than other courses:
    • You will be working on an OS Kernel. There will be hundreds of source files.
    • You will be designing and implementing new OS features for the Kernel.
    • You will be designing and implementing applications to use your new OS features.

    • Start your Programming Assignments early. You will need extra time for design!
      • You will need time to read and trace the existing code, design your solution, implement your solution, and test your solution.
        • Test cases will not be provided.
      • There is a significant design and code reading component to these programming assignments.

    • Submitting a Programming Assignment:
      • Each Project will contain detailed submission instructions.
      • Do not wait until the last minute as submission may take extra time at deadlines due to server loads.

    • Late Work:
      • Late submission policies are specified on each Programming Assignment directly.
      • No submission will be accepted after the listed deadline for late submissions.
      • Accommodations will extend the original deadline and allow for late submissions following this.
        • If you have pre-approved accommodations, you must contact Prof. Mughal prior to any deadlines.

    • Contesting Programming Assignment Grades:
      • You have One Week After Grades are Released to contact your grader GTA with a grading issue.
      • After this one week period, all grades will be fixed.

    Exam Policies

    • There are no make-up exams.
    • There are no drops or replacements for exams.
    • Exams are in-person using pencil and paper.
      • In general, no computers, cell phones, books, calculators, or other such resources are allowed.
      • You can bring in one page (8.5"x11" US Letter) with handwritten notes (both sides of the paper are allowed) for each exam.

    • Missing an Exam:
      • If you will miss an exam, let your Professor know immediately and we can coordinate alternate times.
        • The reason will be verified with documentation and an alternate time is not automatically granted.
      • If an exam is missed without excuse, a valid reason with documentation will be required.
        • This is not commonly granted, but would cover ER visits, accidents, etc.
        • With a valid excuse, we may elect to use your Final Exam to replace your Midterm in such a case.
      • Missing an exam without an excuse or valid reason will result in a 0 for the exam.
      • Do not miss the Final Exam. This requires College Dean's Approval to make-up.
      • Midterm Grades will be Posted via Gradescope and open for Grade Contesting through that Program.

    • Contesting Exam Grades:
      • You have One Week After Grades are Released to initiate a Grade Contest Request in Gradescope with a grading issue.
      • This lets you fill in information about the request and we can communicate directly on each contested question.
      • After this one week period, all exam grades will be fixed.
      • For the Final, the exam will not be returned, however, you can contact your Professor to get a summary of all missed questions, or to make an appointment to see the exam.

    Homework Policies

    • There are no make-up homework assignments.
    • Each homework will be linked on Canvas, but will be provided online via Gradescope.
    • Homework assignments are generally assigned following a major topic in the course.
    • You will generally have one week to complete and submit the homework assignment.
      • Submission is done on Gradescope with a button at the bottom of the page.
      • Only the last submission before the deadline will be seen.
        • Submission is how Gradescope saves progress.
        • Please submit often to make sure your work is saved.
        • There is no additional submission needed. We grade the last submitted copy from Gradescope directly.
    • Homework Assignments submitted after the deadline will get a Zero grade.
    • No Homework Assignment is Dropped, and No make-up assignments are provided.

    • Contesting Homework Grades:
      • You have One Week After Grades are Released to contact your Professor with a grading issue.
        • Please use the "Contest Grade" feature in Gradescope.
        • This alerts me to the question and allows you to enter a statement for me to read on the question itself.
      • After this one week period, all homework grades will be fixed.

Computer Accounts

This is a Systems Programming class. Unlike a general-purpose C courses for any computer system, this course is based on building programs for a specific system. For CS 471, that system is an emulated server that is running Zeus.

Zeus is a Linux computer running Red Hat Enterprise Linux and is administerd by the College of Engineering and Computing for our use. Some of our programs will involve libraries that have been pre-built on Zeus, and some programs will use system specific features that may only build properly on Zeus.

Connecting to Zeus

Zeus Policies

  • All Programming Assignments must Compile and Run on Zeus
  • All Programming Assignments will be Tested and Graded only on Zeus.
    • You may develop wherever and using whichever tools you like.
    • You will need to ensure your work builds and runs on Zeus before submission.
    • A programming assignment that will not compile on Zeus cannot be graded.
    • Remember, C has certain guarantees and others that are only 'system dependent'. It still needs to run properly on Zeus to be graded.
  • You will need to set up the Campus VPN to access Zeus from off-campus.

Getting Support with Zeus Issues

Accommodations

Disability Services at George Mason University is committed to upholding the letter and spirit of the laws that ensure equal treatment of people with disabilities. Under the administration of University Life, Disability Services implements and coordinates reasonable accommodations and disability-related services that afford equal access to university programs and activities. Students can begin the registration process with Disability Services at any time during their enrollment at George Mason University. If you are seeking accommodations, please visit https://ds.gmu.edu/ for detailed information about the Disability Services registration process. Disability Services is located in Student Union Building I (SUB I), Suite 2500. Email: ods@gmu.edu. Phone: (703) 993-2474.

Student responsibility: Students are responsible for registering with Disability Services and communicating about their approved accommodations with their instructor in advance of any relevant class meeting, assignment, or exam.

Course Accommodations Policies

  • Please email or hand your Contact Sheet to your Professor at the beginning of the semester.
  • Accommodations for Test Times will use the Proctoring Center.
  • Homework Times will be Extended in Accordance with the Contact Sheet Accommodations.
  • For Programming Assignments, Contact your Professor before the Original Deadline for an approved Extension.

Academic Standards (Honor Code)

Academic Standards exist to promote authentic scholarship, support the institution’s goal of maintaining high standards of academic excellence, and encourage continued ethical behavior of faculty and students to cultivate an educational community which values integrity and produces graduates who carry this commitment forward into professional practice. 

As members of the George Mason University community, we are committed to fostering an environment of trust, respect, and scholarly excellence. Our academic standards are the foundation of this commitment, guiding our behavior and interactions within this academic community. The practices for implementing these standards adapt to modern practices, disciplinary contexts, and technological advancements. Our standards are embodied in our courses, policies, and scholarship, and are upheld in the following principles: 

  • Honesty: Providing accurate information in all academic endeavors, including communications, assignments, and examinations.  
  • Acknowledgement: Giving proper credit for all contributions to one’s work. This involves the use of accurate citations and references for any ideas, words, or materials created by others in the style appropriate to the discipline. It also includes acknowledging shared authorship in group projects, co-authored pieces, and project reports.  
  • Uniqueness of Work: Ensuring that all submitted work is the result of one’s own effort and is original, including free from self-plagiarism. This principle extends to written assignments, code, presentations, exams, and all other forms of academic work. 

Violations of these standards—including but not limited to plagiarism, fabrication, and cheating—are taken seriously and will be addressed in accordance with university policies. The process for reporting, investigating, and adjudicating violations is outlined in the university’s procedures. Consequences of violations may include academic sanctions, disciplinary actions, and other measures necessary to uphold the integrity of our academic community. 

The principles outlined in these academic standards reflect our collective commitment to upholding the highest standards of honesty, acknowledgement, and uniqueness of work. By adhering to these principles, we ensure the continued excellence and integrity of George Mason University’s academic community. 

Student responsibility: Students are responsible for understanding how these general expectations regarding academic standards apply to each course, assignment, or exam they participate in; students should ask their instructor for clarification on any aspect that is not clear to them.

We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated.

As seductively simple as it may seem to just copy and paste work from a friend or online source, remember that it is just as easy to compare your work electronically, and discover the similarities. We use automated software to flag suspicious cases, and then review them by hand to find the cases that must be submitted to the Academic Standards Office. Repeat to yourself: it's not worth trying to cheat. We will catch it, and sadly but surely, we will turn it in.

The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance.

  • The usual Sanction applied is Level 2 (Failure in the course).
  • It's a pretty sure-fire way to lose a semester and lose some implicated friends; please don't put yourself through that experience!

Course Policies

Student Responsibilities

  • It is your responsibility to ...
    • lock your computers with a password,
    • not post your code to websites like Pastebin or ReplIt that are publicly accessible,
    • not post code to any public repositories,
    • (If you use services like Github/Gitlab) make sure your repo is set private.
    • guard your USB drives and computers,
    • not upload your files to someone else's computer, etc.
  • You will be liable for any access gained to your public or unprotected code.
    • If you are in a team with other students for another class, ensure CS 471 files are protected.
    • Make sure none of your work is possible to access by any other student.
  • GTAs are allowed to help you in your Programming Assignments! But there are some limitations.
    • TAs can help you with designing data structures, the overall algorithm used, C programming in general, and fixing any bugs.
    • TAs can not give you code, allow you to copy code from someone else, or help you write your code.

Academic Standards Links and Specifics

Sexual Harassment and Interpersonal Violence Policies

As a part of George Mason University’s commitment to providing a safe and non-discriminatory learning, living, and working environment for all members of the University community, the University does not discriminate on the basis of sex or gender in any of its education or employment programs and activities. Accordingly, all non-confidential employees, including your faculty member, have a legal requirement to report to the Title IX Coordinator, all relevant details obtained directly or indirectly about any incident of Prohibited Conduct (such as sexual harassment, sexual assault, gender-based stalking, dating/domestic violence). Upon notifying the Title IX Coordinator of possible Prohibited Conduct, the Title IX Coordinator will assess the report and determine if outreach is required. If outreach is required, the individual the report is about (the “Complainant”) will receive a communication, likely in the form of an email, offering that person the option to meet with a representative of the Title IX office.

For more information about non-confidential employees, resources, and Prohibited Conduct, please see University Policy 1202: Sexual and Gender-Based Misconduct and Other Forms of Interpersonal Violence. Questions regarding Title IX can be directed to the Title IX Coordinator via email to TitleIX@gmu.edu, by phone at 703-993-8730, or in person on the Fairfax campus in Aquia 373.  

Student opportunity:  If you prefer to speak to someone confidentially, please contact one of Mason’s confidential employees in Student Support and Advocacy (SSAC), Counseling and Psychological Services (CAPS), Student Health Services (SHS), and/or the Office of the University Ombudsperson.

Privacy

All course materials posted to Canvas or other course site are private; by federal law, any materials that identify specific students (via their name, voice, or image) must not be shared with anyone not enrolled in this class.

To protect your privacy, we also cannot list your GMU email address on any public forum or provide it to any other students. You may, of course, give your email address to any other students.

Video recordings of class meetings that are shared only with the instructors and students officially enrolled in a class do not violate FERPA or any other privacy expectation.

Personal Privacy Statements
  • If we ever do have to have an online session (eg. Snow Day), I will Never require anyone to have any cameras/webcams active.
  • I believe that requiring any video from you for an online lecture is an invasion of your personal privacy and of your space.
  • I will never require or even allow the use of any video cameras.
  • Others may have different policies, and that's for them to decide on the best policies for their own courses. This is simply my own personal policy.

FERPA and Email

The Family Educational Rights and Privacy Act (FERPA) governs the disclosure of education records for eligible students and is an essential aspect of any course. Students must use their GMU email account to receive important University information, including communications related to this class. Instructors will not respond to messages sent from or send messages regarding course content to a non-GMU email address.

Student responsibility: Students are responsible for checking their GMU email regularly for course-related information, and/or ensuring that GMU email messages are forwarded to an account they do check.

All course materials posted to Canvas or other course site are private; by federal law, any materials that identify specific students (via their name, voice, or image) must not be shared with anyone not enrolled in this class.

To protect your privacy, we also cannot list your GMU email address on any public forum or provide it to any other students. You may, of course, give your email address to any other students.

Video recordings of class meetings that are shared only with the instructors and students officially enrolled in a class do not violate FERPA or any other privacy expectation.

Personal Privacy Statements
  • If we ever do have to have an online session (eg. Snow Day), I will Never require anyone to have any cameras/webcams active.
  • I believe that requiring any video from you for an online lecture is an invasion of your personal privacy and of your space.
  • I will never require or even allow the use of any video cameras.
  • Others may have different policies, and that's for them to decide on the best policies for their own courses. This is simply my own personal policy.

Inclusion

Every student in this class is exactly where they belong and it is our honor to welcome each of you to join us in learning throughout this semester. Every student in this class, regardless of background, sex, gender, race, ethnicity, class, political affiliation, physical or mental ability, veteran status, nationality, or any other identity category, is an equal member of our class.

You have the right to be called by whatever name you wish, to be referred to by whatever pronoun you identify, and to adjust these at any point.

If you feel uncomfortable in any aspect of our instruction that results in any barrier to your inclusion in this course, please contact your professor directly.