George Mason University
DEPARTMENT OF COMPUTER SCIENCE

CS471 - Operating Systems - Spring, 2004

Section 1: Tu 4:30 - 7:10 p.m., ST 122


Dr. Beverly Jamison
bjamison@cs.gmu.edu
Office: ST2-435
Office Hours: Tu 3:30-4:20 p.m.



COURSE RESOURCES AND MATERIALS

Slides

COURSE DESCRIPTION

CS 471 is a 3-credit course with prerequisites C or better in CS330 (formal methods and models), CS 365 (computer architecture), and either OR481 (numerical methods in engineering) or MATH446 (numerical analysis I).

The text covers the classic Operating Systems issues of scheduling, allocation, and concurrency. The concepts are applied to centralized systems as they apply to process scheduling, user program execution, memory management, device management, and file management. Then they are also applied to distributed systems which do not share memory or a clock.

The text uses the Java programming language for code examples and projects. Operating system case studies include UNIX, Linux, Windows 2000, and WindowsXP.


GRADING

The course grade will be based on quizzes, one midterm, projects, and a concluding case study. Because the majority of the Pencil and Paper portion of the class occurs before the midterm, the case study and final project will be used in place of a Final Exam to summarize the material at the end of the semester. The exact weighting of each of these four components will depend on the number of quizzes and projects that the course schedule permits.

Approximate Schedule


  Week  Chapters    		Topic
  ====  ========                =====
    1	1, 2		Development of Operating Systems, Computer Structures
    2   3		Operating System Structures
  3,4   4,5,6		Processes and CPU Scheduling
  5,6   7,8		Concurrency: Synchronization and Deadlocks
    7	9,10		Memory Management
    8  			MIDTERM
  9,10  11,12,13	Device and Storage Management
 11,12  14-19		Selected topics in Distributed Systems and Security
 13,14  20-22		Case Studies 



All testing is closed book unless otherwise specified in advance, but you may use one sheet of notes (both sides, 8.5 x 11 inches) on the midterm. NO COPYING is allowed. That means no photocopying of anything, even the textbook, though you may write out material from it verbatim. It also means no copying of anyone else's notes, even by hand. Creating these notes is part of the exam process and these rules about it are subject to the GMU Honor Code .

Unless a project is specifically assigned as a group project, the programs in this course are assigned to you as an individual. You are encouraged to study with others and to assist each other in understanding the subject matter. You may also discuss problems and programs, but in the end, the work you submit must be your own. There is no point to submitting things you have copied and don't understand. Moreover, it is in violation of the GMU Honor Code and the Computer Science Department Honor Code Policy for Programming Projects to do so.

Submit work on the due date. If you must be away, but can email your work to the TA in a form convenient for the TA, do so. If you inform me beforehand that you will be late, it may possible to be graded on the basis of full credit. Otherwise, lateness will be penalized. Work will generally be collected at the start of class, so please do not miss class or arrive very late on the day that programs are due.