http://www.cs.umd.edu/~keleher/412.html
Fall, 2002
This web page will be updated as the course goes along. Please check
it regularly, and don't forget to reload.
Announcements:
| Name | Office Hours | ||
|---|---|---|---|
| Instructor: | Pete Keleher | Wednesday 9:30-11:30, and by appt. | keleher @ cs.umd.edu |
| TA 1: | Sasan Dashtinezhad | Monday 2:00-3:30, Thursday 3:30-5:00 | sasan@cs.umd.edu |
| TA 2: | Iulien Neamtiu | Tuesday 1:00 - 2:30, Wednesday 1:00 - 2:30 | neamtiu@cs.umd.edu |
| Class: | Tuesday/Thursday, 9:30am - 10:45am, CSI 2117 | ||
| Recitation for 0101 | Monday, noon, CSI 1121 | ||
| Recitation for 0102 | Monday, 1pm, CSI 1121 | ||
| Textbook: | Operating System Concepts, 6th Edition, by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne | ||
This class is a hands-on introduction to operating systems, including topics in: multiprogramming, communication and synchronization, memory management, IO subsystems, and resource scheduling polices. The laboratory component consists of constructing a small kernel, including functions for device IO, multi-tasking, and memory management.
The objective is an in-depth understanding of how an operating system manages resources in a computer and provides programmers with a machine and device independent interface. The emphasis of this class will be on operating system concepts. Running examples will be drawn from contemporary OS's including UNIX and Windows (NT and 95).
Topics Covered (in approximately the order we will cover them):
Late Policy: No credit will be given for
late projects!
Please read the statement on academic integrity.
Class Newsgroup:
There may be a newsgroup for the class
csd.cmsc412.
You should read this group on a regular basis since it will contain
answers to commonly asked questions about the project.
The course will consist two lectures weekly,
plus two weekly TA reciatation sections. There will be one midterm, a final,
homeworks, and an ongoing project. Grades will be roughly apportioned as
follows. I reserve the right to make individual adjustments as the semester
goes along.
You are responsible for all material in reading assignments, whether or not
they are covered in class.
Understanding operating system concepts is a hands-on activity.
This class will include several substantial programming projects
that will require students to read and understand provided code,
write new modules, and debug the resulting system. The programming
assignments will be time consuming and students taking this class
should plan their class schedules accordingly.
Projects are to be submitted via the submit page.
No credit will be given for
late projects!
Please note that the postscript files below may not be viewable w/ the version
of 'ghostview' installed on most local unix boxes. However, they will
print, and can be viewed w/ 'gs', or the latest version of ghostview tools
on PC's.
Note that this list is subject to change.
Requirements
Final: 25%
Midterm: 25%
Homeworks: 20%
Project: 30%
Reading Assignments:
9/5 Chapter 1
9/10 Chapter 2
9/17 Chapters 3-5
10/1 Chapter 6
10/8 Chapters 7,8
Programming Projects:
Project Page Due Date
#0 project description page -
#1 project description 10/21, 10:00am
Homework
There will be at least four homeworks required for this class.
The content of tests will
not be limited to the coverage of these problems. However, being
able to solve these problems is likely to be useful.
Problems Due Date
2.4, 2.8, 2.9, 5.3, 5.4 Sept 30, in recitation
6.3, 6.4, 6.8, 7.3, 7.4 Oct 7, in recitation
Lecture Notes
The notes I use for class will be available here after they have been
delivered. Most of what I cover will be at least mentioned here, but
not necessarily in the same depth or detail. I suggest you use these notes
as a study aid, and not as a substitute for coming to class.
9/3 Intro 9/5 Motivation
9/10 9/12
9/17 9/19 System Calls
9/24 Process Handling 9/26 Scheduling
10/1 Communication 10/3 Synchronization
10/8 More synchronization 10/10 Deadlocks
10/15 Virtual Memory 10/17 Replacement Algorithms
10/22 10/24 Mid-term
10/29 10/31
11/5 11/7
11/12 11/14
11/19 11/21
11/26 11/28 Thanksgiving Holiday
12/3 12/5
12/10 12/12 Course Review