CSE422S: Operating Systems Organization (Spring 2006)

Department of Computer Science
School of Engineering and Applied Science
Washington University in St. Louis
Meeting Time/Place: 230-400 (Mon, Wed), Eliot 213

Instructor

Dr. Ken Wong
Office Hours: By appointment, Bryan 508

Grader/Consultants


Quick Links



Course Description

Exploration of operatings systems as resource managers. Using UNIX as a conceptual framework, students study algorithms and data structures that support essential operating systems services. Concepts are reinforced through programming exercises and comparative studies. Topics include: process scheduling, file systems organization, memory management, virtual memory, device management, concurrent processes, and security.

Prerequisites


Books


Grading

The relative weighting of the components of the grades is:

Exams

There will be two exams: a mid-term and a final. Each exam will be worth 20% of your grade.

Programming Projects

There will be some number of small programming (lab) assignments and two or three programming projects that will involve substantial design and programming. Students are assumed to be competent in C or C++ and familiar with the UNIX operating system.

The criteria for the grading of the projects and the penalty for late submissions will be elaborated at the time that each project is assigned.

Homework, Quizzes, and Class Attendance

There will be 5-7 homework assignments and some number of short graded quizzes (announced and unannounced). Therefore, it is essential that you attend class in order to prepare for the quizzes and exams. There will be no makeup quizzes.

Late Submissions

Late submissions of program and homework solutions are NOT allowed unless stated explicitly in the assignment description or announced by me (either by email or in class). Occassionally, in special situations, arrangements for a late submission can be made if it is made in advance.

Tentative Syllabus (Subject to Change)

Date Class # Topic Text
Chapter
1/18 1 Introduction
1/23 2 Computer Architecture (1/2) 1
1/25 3 Computer Architecture (2/2) 1
1/30 4 Using an OS (1/2) 10.1-3
2/1 5 Using an OS (2/2) 10.1-3
2/6 6 Classic Processes (1/2) 2.1-2
2/8 7 Classic Processes (2/2) 2.1-2
2/13 8 A Simple Shell
2/15 9 Open
2/20 10 Synchronization (1/2) 2.3
2/22 11 Synchronization (2/2) 2.3
2/27 12 Open
3/1 13 Unix Pipes
3/3 14 High-Level Synchronization
3/6 15 Scheduling 2.5
3/8 16 Open
3/13
Spring Break
3/15
Spring Break
3/20 17 Deadlock (1/2) 3
3/22 18 Deadlock (2/2) 3
3/27 17 Message-Passing
3/29 18 Exam 1
4/3 20 Open
4/5 21 Unix Signals
4/10 22 Memory Management 4.1-2
4/12 23 Virtual Memory (1/3) 4.3-4.8
4/17 24 Virtual Memory (2/3) 10.4
4/19 25 Virtual Memory (3/3)
4/24 26 Basic I/O 5, 10.5
4/26 28 File Management (1/2) 6, 10.6
5/1 29 File Management (2/2) 6, 10.6
TBA
Exam 2 (Fri, May 5, 730-930PM, Classroom)


Online Notes and Tutorials