Operating Systems
Clay Shields, Department of Computer Science, Georgetown University
Assignments, Exams, and Readings
Assignment | Due Date |
---|---|
Homework 1: Familiarization with Unix | January 23, 2012 |
Project: Writing a User Shell, Part 1 | February 6th, 2012 |
Project: Writing a User Shell, Part 2 | February 22nd, 2012 |
Homework 2: Textbook problems | February 29th, 2012 |
Midterm Exam | In class, March 14, 2012 |
Project: Paging Algorithm Simulation | April 16th, 2012 |
Homework 3: Textbook problems | April 30th, 2012 |
Final Exam | 4:00 - 6:00, Friday, May 4, 2012 |
Resources
Textbooks
There are two books for this course.
- Required text:
Operating System Concepts, 8th edition. The bookstore has it new at an absolutely incredible price. You can find it elsewhere for much, much less. - Recommended text:
Advanced Programming in the UNIX Environment: Second Edition, available online for GU students via the Safari Bookshelf, but only 10 people can access this service at any time from GU. You do not have to purchase it, but it is a valuable programming reference. Accounts
You will be given an account on a server named mclovin.cs.georgetown.edu. This will be the
official machine for programming assignments. You can work on your
own computer, but your code must work on and be readable on
mclovin. Please note: mclovin is not always backed up properly, so you must
make sure to keep copies of your code in a safe place.
Instructor and Course Information
Instructor
Clay Shields
Office: 323 St Mary's Hall
Office Hours: Monday 3:30-5:00 PM
Contact information here.Course Description
This course studies the software systems that provide the interface between the computer system hardware resources and the users of the system. This interface is composed of a large collection of programs that provide simplified and uniform access to information storage (data and programs on tape, disk, and in memory), processing elements (CPUs and remote computers), input/output devices (telecommunications, keyboards, mice, video displays, printers, etc.), and data acquisition and equipment control devices. Topics include processes and threads of execution, concurrent process synchronization, concurrent access to hardware resources, file systems, memory management and virtual memory, job scheduling, and system modeling and performance evaluation. A variety of example operating systems of different types will be examined and their characteristics compared.
Policies
All of my courses are conducted under the same set of policies, described on this page.