Spring 2007

Clay Shields


front | classes | research | personal | contact

COSC 374 -
Operating Systems

Tuesday/Thursday
4:15 - 5:30
ICC 107

Assignments, Projects, and Exams

  • Homework 1
    Examining Process State in Unix
    Due in class January 30th, 2007.
  • Project 1 - Part 1
    Writing a User Shell, Part 1
    Due before class, February 13th

  • Homework 1
    Textbook problems due February 27th:
    • Chapter 1: 11, 13
    • Chapter 3: 1, 2, 4
    • Chapter 5: 1, 4, 5, 7, 13
    • Chapter 6: 4, 11
    To submit, please type these up in a printable format (PDF preferred) and send them by email before the start of class.
  • Project 1 - Part 2
    Writing a User Shell, Part 2
    Due before class, March 29th

  • Project 2
    Paging Algorithm Simulation
    Due before class April 19th.
  • Homework 2
    Textbook problems due April 26th:
    • Chapter 7: 5, 11
    • Chapter 8: 3, 9, 12
    • Chapter 9: 5, 10, 13
    • Chapter 10: 6, 7
    • Chapter 12: 2
    To submit, please type these up in a printable format (PDF preferred) and send them by email before the start of class.

Readings

Textbook

The textbook for this course will be Operating Systems Concepts, 7th Edition, by Silbershatz, Galvin, and Gagne. It is a slightly newer edition that has lots in common with older editions; once I receive a copy I will see if older editions will work.

A highly recommended (though not required) book that will likely help with the projects will is:
Advanced Programming in the UNIX Environment (2nd Edition), by Stevens and Rago. This is just a good book to have if you ever do any Unix or Linux development.

Instructor

  • Instructor: Clay Shields
    Office Hours: Wednesday, 2:30 - 4:30 PM, or by appointment.
    Contact: Information here

Policies

All my courses are run under the same set of policies which are available here. Students are expected to read and understand these policies. You can also read the Honor Council site.

Resources

Description and Grading

  • 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, system modeling and performance evaluation, network communication and protocols, and computer and network security. A variety of example operating systems of different types will be examined and their characteristics compared. Prerequisites: COSC 175 and 251.

  • Grading:
    • Homeworks: 20%
    • Programming exercises: 35%
    • Midterm exam: 20%
      March 1st, 2007, in class
    • Final exam: 25%
      May 7th, 2007, 4 - 6 PM Final exam notes.