Operating Systems Syllabus

Professor

Dr. Jonathan Geisler

Contact Info

Office

NS-008B

Phone

8-5269

email

me: jgeisler <at> css <dot> tayloru <dot> edu

web page

http://www.css.tayloru.edu/~jgeisler/cos421

Office Hours

1-3 M-F

I'm quite busy this semester and won't be in my office as often as I have been in the past. Feel free to stop by and see if I can meet with you outside these posted hours. I'll also be happy to work with you to schedule an appointment that fits both of our schedules.

Course Outcomes

By the end of the course, the student should be able to...

Texts

  1. Operating System Concepts by Silberschatz, Galvin, and Gagne, sixth edition, John Wiley & Sons, ISBN 0-471-69466-5.

Content

This course covers the foundations of how operating systems are designed. We will look at popular OS designs to drive our understanding of important issues; we will NOT look at research OSes that never leave the laboratory since the book covers topics at a general level to begin with. It is assumed the student has taken Computer Organization and Architecture (COS 381) and has a firm grasp on how the hardware provides a specific ISA to the software. We will procede to develop how the OS provides a specific API to this ISA to ensure ideas like protection, portability, and virtual memory are accessible to all user level applications.

Other Materials

The course will use the Linux platform using the 2.6.11 or later kernel. You are required to find a non-CSS system to install Linux on. This may be your main machine, an old cast off, or a virtual machine such as Virtual PC, VMWare, or bochs. This requirement begins with the third lab due, so you have a couple of weeks to ensure you obtain the proper system. This requirement is due to the fact that the labs require root priviledge to install new kernels.

The kernel is written in C (not C++), so you will have to use this language when implementing kernel code. For user-level code, you may use any appropriate language.

Assessment

Exams (3 total) 30 %
Final 15 %
Labs (7 total) 55 %
Total 100 %

The final grade will be assigned on the following scale:

>= 93A >= 90A-
>= 87B+ >= 83B >= 80B-
>= 77C+ >= 73C >= 70C-
>= 67D+ >= 63D >= 60D-
< 60F

Attendance

Attendance is expected and can alter the course grade. Taylor policy regarding excused absences is followed. It is the student's responsibility to verify that the professor has been notified of excused absences for any reason, including official university functions. The due date of an assignment will NOT be automatically extended as a result of an excused absence.

Three unexcused absences will be permitted without penalty. A penalty of 3% will be deducted from the final grade for each additional unexcused absence. Excessive tardiness may be counted as absence.

Late Work

All assignments are due before class starts. They will be submitted via the electronic submission system that leaves a timestamp that you cannot modify. No late work will be accepted. If you know you will miss a test due to an excused absence, you must contact me ahead of time to schedule a make-up session.

Labs

The labs come heavily modified from Gary Nutt's Kernel Projects for Linux book. They are geared for the 2.2 kernel and I have changed them to make sense for the modern 2.6 kernel.

Exams

Tests

The tests will be a mixture of multiple choice, essay, pseudocode, design, or other appropriate question format. You should be able to demonstrate your knowledge of the subject using terminology and techniques covered in class and/or the textbook.

There is not enough time in class to cover everything in the books. The tests will cover more material than we go over in class; all the assigned readings will be fodder for questions on the test.

Final

The final exam will be similar to the other tests, but will be longer and comprehensive; however, the final exam will emphasize the material covered since the last test.

Cheating

The standard departmental cheating policy is expected to be followed.

Computer Use

In order to complete this course, access to the CSS computer labs is necessary. Students, therefore, must sign the computer use agreements applicable for PC lab access and for the establishment of a UNIX account. The policies will be enforced. Serious violations may result in the loss of computer privileges, which could result in failure in the course.

Laptops in the Classroom

Laptops will be permitted in the classroom provided that they are not a distraction to you or other students. The purpose of the laptop should be to enhance your learning. This means you should be taking notes, searching for information related to class, or doing example programming assignments that I have asked you to look at. It also means that you shouldn't be on IM, sending email to friends, or working on homework in other classes.