Computer Science 372
Operating Systems


Denison
CS372 Home Page
Computer Science 372
Operating Systems
Fall 2009
 
Professor: Thomas C. Bressoud Phone: 587-5630
Office: Olin 207 E-mail: bressoud@denison.edu
Office Hours: See Bressoud Fall Schedule Mailbox: Olin 201
Meeting Times: MWRF, 1:30pm-2:20pm, Olin 220 or Olin 213 or Olin 119
Final Exam: F: Friday Dec 18, 2-4pm

Description

CS-372 is a one-semester course on the systems topic of operating systems.

In this course, we will study the principles of modern operating systems, whose fundamental charter is to manage a collection of concurrent processes. Generally speaking, an operating system provides a set of abstractions (e.g., files, memory, console I/O) to an application programmer so that the programmer need not worry about low level details of the underlying hardware. Programs themselves are abstractly viewed as a collection of concurrent processes. The operating system must correctly and efficiently manage these processes (or threads) as well as other computer resources. Therefore, we will spend a lot of time studying how to correctly handle concurrency and how resources such as memory and files are managed by the operating system.

There will be two (relatively independent) lines of work in this class. First, the lectures, assigned reading, and written homework assignments will primarily focus on fundamental operating system concepts, including process synchronization and scheduling, resource management, memory management and virtual memory, and file systems. Second, through a sequence of programming assignments (the OS/161 projects), you will apply these concepts to the construction of your own operating system capable of supporting the execution of user-level C programs.

Textbook

The following textbook is required for the course.

bullet Operating System Concepts, 8th ed. by Silberschatz, Galvin, and Gagne, 2009, John Wiley & Sons, ISBN 978-0-470-12872-5.

Grade Determination

OS/161 Projects: 40%
Midterm Exams: 30% (for 2)
Homeworks 10%
Final Exam: 20%

Course Web Page

A web page will be maintained for this course.  The web page will include the schedule for the course, all reading assignments, programming assignments, example programs, and other useful information, including announcements to the class.  I expect you to check the web page regularly.

http://www.denison.edu/~bressoud/cs372-f09/

Course Work

The Project:
Over the course of the semester, you will implement a significant portion of an operating system called OS/161.  This requires both a large volume of code and a very good understanding of the underlying hardware architecture and the design of the operating system.  For the first couple of project deliverables with OS/161 will be individual. However, due to the high level of programming and relatively steep learning curve, subsequent project deliverables will be worked on in teams of two people. 

These programming projects presuppose that you are comfortable with Linux and C. You should expect to spend 20 hours a week and sometimes even more on these projects.

Homework:
There will be a number of homework assignments given during the semester.  The purpose of the homework is generally intended to reinforce the conceptual material from the book and will cover a wide variety of topics.  Many questions will be of the variety that could also appear on exams.  Homeworks are due in class on the date specified.  I will accept late homeworks, but with a 20% late penalty enforced from the moment the homework is overdue for up to 48 hours after the due date/time, and a 50% penalty thereafter.

You may discuss conceptual approaches to solve homework problems with other students in the class, but written work must be your own.  You may not get help on homework from students outside the class. Of course, you are always welcome to come see me for help.

Homework solutions must be typed in a word processor of your choice.  I would recommend that you learn and use LaTeX, a markup based typesetting program that is widely used in the research community.  Let me know if you need help getting started.

 
Exams:
There will be two midterm exams.  Each midterm will cover its respective section of the course material. Note that this means the second midterm exam is not cumulative, and is weighted equally with the first exam.  All exams will be closed book, closed notes.  Tentative dates for the midterms are given in the class schedule, but these may change (later or earlier), depending on our rate of progress.  The final exam is cumulative and will also be closed-book, closed-note.
 

Course Topics

Here is an approximation of the specific topics which we will study this semester.

  1. Concurrency
  2. Memory Management
  3. File Systems
  4. Other topics (time permitting)

Policies and Student Responsibilities

Participation and Attendance
In general, we would like everyone to do their part to make this an enjoyable interactive experience. Hence in addition to attending class, we would like you to actively participate by asking questions, joining in our discussions, etc. Any day that you do not attend class, you (by definition) do not participate, and so be very careful about missing class, as it will affect your grade.

Your attendance is expected at each class meeting. I reserve the right to use participation/attendence to resolve borderline grading cases.  Up to 3 excused absences will be tolerated without affecting your grade. Such absences should be communicated to me in advance.

Readings and In-class Material

You are responsible for the content of reading assignments, lectures and handouts, as well as announcements and schedule changes made in class, whether or not you are present. If you must miss a class, you are responsible to get what you missed.

It is very important that you keep up with the assigned reading. Read your book on a daily basis. Be especially sure to read the material in the appropriate chapter before coming to class so you will be ready to ask questions. All reading assignments are listed on the class web page. The material in the course is, by necessity, cumulative. Be warned that if you fall behind, you will not be able to catch up easily.

Exam Policy

Exams will be given in class on the day scheduled and may not be made up. On rare occasions, and with a Univeristy sanctioned excuse, I may allow an exam to be taken in advance. See me as early as possible to discuss this.

Disability Accomodation

Any student who thinks he or she may need an accommodation based on the impact of a disability should contact me privately as soon as possible to discuss his or her specific needs. I rely on the Academic Support & Enrichment Center in 102 Doane to verify the need for reasonable accommodations based on documentation on file in that office.

Academic Integrity

Proposed and developed by Denison students, passed unanimously by DCGA and Denison’s faculty, the Code of Academic Integrity requires that instructors notify the Associate Provost of cases of academic dishonesty, and it requires that cases be heard by the Academic Integrity Board. Further, the code makes students responsible for promoting a culture of integrity on campus and acting in instances in which integrity is violated.

Academic honesty, the cornerstone of teaching and learning, lays the foundation for lifelong integrity. Academic dishonesty is intellectual theft. It includes, but is not limited to, providing or receiving assistance in a manner not authorized by the instructor in the creation of work to be submitted for evaluation. This standard applies to all work ranging from daily homework assignments to major exams. Students must clearly cite any sources consulted—not only for quoted phrases but also for ideas and information that are not common knowledge. Neither ignorance nor carelessness is an acceptable defense in cases of plagiarism. It is the student’s responsibility to follow the appropriate format for citations. Students should ask their instructors for assistance in determining what sorts of materials and assistance are appropriate for assignments and for guidance in citing such materials clearly.

For further information about the Code of Academic Integrity see http://www.denison.edu/about/integrity.html