Assignments, Exams, and Readings

Graded Assignments
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


  • Textbooks

  • There are two books for this course.
  • Accounts

  • You will be given an account on a server named 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.


All of my courses are conducted under the same set of policies, described on this page.