CMSC 412 - Operating Systems
Sections 0201 and 0202
General Course Information
V. Williams Building
||Wednesday, 10:00 a.m. -- 12:00 p.m.
||E-mail is the easiest and fastest way to contact me.
||Please put the string "CMSC 412: " somewhere in the subject line of
|Room and Time:
||1122 Computer Science Instruction Center
||Tuesdays and Thursdays, 11:00a.m. -- 12:15 p.m.
||Sri Parthasarathi (firstname.lastname@example.org)|
| Aram Khalili (email@example.com)|
| David Greenfieldboyce (firstname.lastname@example.org)|
We will cover the basic principles of Operating Systems with a focus
on trying to understand how these concepts are applied in modern
systems. We will learn about process, I/O, and scheduling in
classical and modern Operating Systems. Specifically, we will cover
different process management schemes, inter-process communication
models, scheduling policies, synchronization primitives, and storage
structures. We will selectively implement a number of different parts
of an OS using a platform specifically developed for this course.
This course will have a significant programming component.
CMSC 311 (or ENEE 350) and CMSC 330.
Experience with some flavor of Unix and programming in C or C++.
Reading The textbook for the course is:
Operating System Concepts, Sixth Edition
You do not have to buy any of the books in this list, but you may want
to look for them in the library. Also, it should be clear that this
course is going to be somewhat biased towards Unix and Unix-like
systems such as Linux.
by Abraham Silberschatz and Peter Baer Galvin,
John Wiley & Sons. The Wiley corporate link is
Here is a list of other books you may find useful:
The grading criteria is subject to change during the semester.
Handouts and Assignments
Newsgroup Please keep up with and participate in the class
newsgroup. I will use the newsgroup for broadcast
announcements and to answer questions that may be interesting to more
than one of you. Further, the newsgroup is the best medium for
asking questions about homeworks, for debugging your programming
environment, and for posting the latest OS rumor. Thus, unless
it is private, post to the newsgroup before writing e-mail.
Attendance, Group Interactions, and Class Participation
This is a
senior-level course; I will not mandate you to come to class (you are
still responsible for all the material covered in class). The
class project is a major part of this course, and please be aware that
you will be working in groups of four. Lastly, note that 5% of your
grade is based upon class participation. This is to
encourage you to voice your ideas in class and to post them to the
newsgroup. Minimally, I must know your name by the end of the
term in order for you to get any points for class participation.