CS 471 Operating Systems

Fall 2016

Time and Place: Monday, Wednesday 1:30~2:45pm at Innovation Hall, Room 204

Instructor: Dr. Xinyuan (Frank) Wang

Office: Room 5331, Engineering Building

Office phone: (703) 993-9461

Office hours: Monday 3:00~4:30PM or by appointment

Email: xwangc at gmu dot edu

Course Website: http://cs.gmu.edu/~xwangc/teaching/CS471


Teaching Assistant: Arda Gumusalan

Office hours: TBD at the Engineering Building Room 4456

Email: agumusal@gmu.edu

Course Description

This course introduces the basic concepts, design principles and implementation of modern operating systems. Specifically, it will cover process/thread management, concurrency and synchronization, memory organization and management, file system, I/O, and security issues.

Course Outcomes

  • Demonstrate knowledge about the role and purpose of the operating systems
  • Be able to explain the features of operating systems found in different types of computer systems (e.g. mainframe systems, personal computers, multiprocessor systems, handheld systems)
  • Demonstrate basic knowledge about the evolution of operating system concepts from early batch systems to today’s sophisticated multiuser/multiprocessor systems.
  • Demonstrate knowledge about different approaches to operating system design and the involved trade-offs
  • Be able to explain the main performance evaluation criteria for computer systems and how the operating system design can have an impact on these.
  • Show an understanding of the need for, and the potential run-time problems arising from, the concurrent operation of multiple tasks (processes/threads).
  • Be able to solve the basic process synchronization problems, by also making use of basic data structures and programming techniques covered in previous courses.
  • Demonstrate the knowledge about process scheduling, basic memory management and file system management techniques and their impact on the overall performance.
  • Demonstrate the basic knowledge about distributed systems and how the everincreasing networking features have affected (and are affecting) operating system design.
  • Be able to identify potential threats to operating systems and the security features designed to guard against them.
  • Be able to implement (in a high-level programming language such as C or Java) a suit of basic algorithms proposed for the main OS services such as memory management and process scheduling.
  • Be able to implement a simple client/server application using system calls and distributed programming.

Course Prerequisite

Grade of C or better in CS310 and (CS367 or ECE 445) or permission by the instructor.

The students are expected to have solid background in data structure and computer system internals. Proficiency in C programming is essential in order to be successful in the course projects.

Textbook and Readings

Text Book

Class Schedule (click to see)

Class schedule is tentative and subject to change. Please check frequently.


Homework and Programming Assignments


Midterm Exam


Final Exam


Class Participation


Late submissions will be have 10% penalty for each dat past due. There will be no early exams and make-up exams are strongly discouraged.

The final grade is computed according to the following rules:

·        A+: >= 95%; 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+: [56%, 60%); D:[53%, 56%); D-: [50%, 53%)

·        F: < 50%.

Academic Integrity

All students are required to follow all university, school and department policies regarding academic integrity. Violation of the Honor Code will result in a grade of F for the course, as well as any penalties imposed by the university and/or the CS department.

Disability Statement

If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with the Office of Disability Services (SUB I, Rm. 222; 703-993-2474; www.gmu.edu/student/drc) to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs. All academic accommodations must be arranged through the ODS.


This course contains materials provided by Dr. Hakan Aydin (GMU), Dr. Haining Wang (College of William and Mary)