CS 325 -- Spring 2012  
PRINCIPLES OF OPERATING SYSTEMS

Instructor

Mr. David P.Duggan - dduggan@sandia.gov
Office Hours: By Appointment Only.
Phone: 505-845-8100

Teaching Assistant

Carl Tucker - ctucker@nmt.edu
Office Hours: Tuesday & Thursday 2-4:00pm, CRAMER 213

Class Hours:

Lecture: 4-5:15pm Tuesday & Thursday, CRAMER 203
Lab: 6-9:00pm Tuesday, CRAMER 213

Textbook

Reference Books

Course Description

The goals of this course are to:

Course Outline

Grading

Plagiarism Policy

Lecture Notes

Lecture 0: Basic Queues
Lecture 1: Introduction
Lecture 2: Computer System
Lecture 3: OS Service
Lecture 4: OS Structure
Lecture 5: Processes
Lecture 6: Processes II
Lecture 7: Processes III
Lecture 8: Threads
Lecture 9: CPU Scheduling
Lecture 10: Sychronization
Lecture 11: Synchronization II
Lecture 12: Deadlock
Lecture 13: Memory
Lecture 14: Virtual Memory
Lecture 15: Virtual Memory II
Lecture 16: Filesystems
Lecture 17: Mass Storage
Lecture 18: I/O Management
Lecture 19: Security

Guest Lecture

Assignments

#    Read    Study code/Assignments/Homework    Due Date
1 Lecture 1 Find and turn in one recent (published within 2 years) paper or article that
compares/outlines/discusses some aspect of operating system architecture.
Include a short ( < 1 page ) summary of the paper in regards to OS design.
Be prepared to discuss your find with respect to implications in OS design.
January 17
2 Each group needs to submit a report (max 1 page) on how they would have
liked the labs to have been distributed. The choices are either all at once or
piecewise (like it was done this semester). Additionally you may discuss
changes in the order of the lab assignment. Please include your reasoning
and not just a list of items.
April 30

Labs

Writing Tips for Lab Documentation
Lab Grading Rubric (Updated 1/24/2013)
Guidelines and Submission Requirements
Makefile Tutorial 1
Makefile Tutorial 2
Lab 1: Queue Manager:
Lab 2: Process Manager
Lab 3: Scheduler
Lab 4: Inter-Process Communication
Lab 5: Memory Manager
Lab 6: Page Replacement Algorithm
Lab 7: System Calls
Lab 8: File System

Helpful Resources