CS 471 Operating Systems

Spring 2013

Time and Place: Tuesday, Thursday 3:00~4:15pm at Innovation Hall, Room 134

Instructor: Dr. Xinyuan (Frank) Wang

Office: Room 5331, Engineering Building

Office phone: (703) 993-9461

Office hours: Tuesday 4:30~6:00PM or by appointment

Email: xwangc at gmu dot edu

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

 

Teaching Assistant: Abhishek Roy

Office hours: Monday 3:00-5:00PM and Friday 1:00-2:00PM at the Engineering Building Room TBD

Email: aroy6@masonlive.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 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.

Grading

Homework

30%

Programming Assignments

20%

Midterm Exam

25%

Final Exam

25%

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.

Acknowledgement

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