Operating Systems
Student Originated Software
Fall Quarter, 2009-2010
Tue, Thu 10:00 am-12:00 pm, ACC
Web site: Academic Program Page
 
 
Professor: Neal Nelson
Office: Lab 1 2010
Phone: 867-6738
Email: nealn@evergreen.edu
Office Hours: By arrangement
 
Kernel Programming Consultant:                  
Sherri Shulman: sherri@evergreen.edu; 
 
Textbooks:
Operating Systems by William Stallings
 Kernel Projects for Linux, by Gary Nutt

Course Description
This component of the program covers operating system principles and concepts along with hands-on laboratory projects working with the Linux kernel.

By the end of this class you should understand fundamental operating system structures and algorithms and be able to investigate, read, and modify a code in a large body of code such as the Linux kernel.

References and Handouts  

Course Requirements
 
 
Course Calendar and Readings
 
 
Date
Topics Covered
Reading & Review Questions Due for Tue
Assignment due the following Tue
Week 1
Computer Architecture Review
Stallings Chapter 1
plus Appendix 1B
Problem set 1
Week 2
Operating System Overview
Stallings Chapter 2
Intro to C for Java Programmers
Lab Handin Guide
Problem set 2
Lab 1 - C programming
Week 3
Process Management Stallings Chapter 3
Nutt pp 1-29, 67-82
Problem set 3
Lab 2 - shell
Week 4
Threads, SMP, Microkernels
Stallings Chapter 4 Problem set 4
Week 5
Concurrency: Mutual Exclusion and Synchronization
Stallings Chapter 5
Nutt pp 29-65
Problem set 5
Lab 3: Nutt lab 1 - proc filesystem
Week 6
Concurrency: Deadlock and Starvation
Stallings Chapter 6
Problem set 5 (cont)
Week 7
Concurrency: Deadlock and Starvation
Stallings Chapter 6
Nutt pp 83-96
Problem set 6
Lab 4: Nutt lab 3 - kernel timers
Week 8
Memory Management
Stallings Chapter 7
Problem set 7
Exam 1 in class Ch 1-6
Thursday
Week 9
Virtual Memory
Stallings Chapter 8
Nutt pp 97-106
Problem set 8
Lab 5 - Kernel Module
Week 10
Completion of lab work

Completion of lab work