Class Information

Professor: Lorenzo Alvisi

Office: Taylor Hall 4.122
Phone: 471-9792
Email: lorenzo@cs.utexas.edu
Office Hours: Thursday 11:15-12:15.
Help Sessions: 8:00-9:00AM Monday and Friday, in Welch 3.402.

Teaching Assistant: Rupert Tang Lap Poon

Office: UA9 4.108e
Phone: 471-9755
Email: rupert@cs.utexas.edu
Help Sessions: 7:15-8:15PM Thursday and Friday, in Garison 301
(one more help session to be decided)

Course Objectives

An operating system (OS) is the software that allows (and sometimes prevents) a computer user to take full advantage of the capabilities of the underlying hardware. As users, we have all observed the power and limitations of operating systems; in this course we will to move beyond our role of observers to understand the design and engineering issues that are associated with operating systems. This course has at least two goals:

  1. To understand and learn the general techniques and abstractions that, developed over the years to master the complexity of OS design, have proven to be valuable conceptual tools applicable to other areas of Computer Science.
  2. To apply these techniques in the design and implementation of an operating system kernel that supports multiprogramming, virtual memory, and various input-output devices.
Topics that will be covered include:

Course Prerequisites

You should feel comfortable programming in C (the programming language used in the project) and understanding assembly language. Knowledge of the fundamentals of computer organization, as covered in CS352, is assumed.

Required Testbook

The textbook for the course is:

A. Silberschatz and P.B. Galvin. Operating Systems Concepts. Fourth Edition. Addison Wesley, Mass. 1995
If you need a good reference for the C programming language, the following is a classic:
B.W. Kernighan and D.M. Ritchie. The C Programming Language. Second Edition. Prentice Hall, N.J. 1988.

Lectures

Lectures will often complement, rather than replicate, the material in the textbook. Lecture attendance is therefore strongly recommended.
12:30 - 2:00PM Tuesday and Thursday, in Taylor 2.106

Newsgroup

We have the newsgroup utexas.class.cs372. You should feel free to use the newsgroup to discuss with the course staff and among yourselves any doubt or question regarding either the material discussed in class or the project.

Help Sessions

We will offer 4 weekly 1-hour Help Sessions. These sessions give you an opportunity to ask questions about the material discussed in class and about the project, and at the same time to listen and learn from the questions asked by your colleagues. In the weeks in which a new phase of the project is assigned, the Help Sessions will be devoted to introducing the new phase, and to providing you with hints and suggestions for your work. Help Sessions will typically be scheduled in the late afternoon or in the early morning in order to avoid conflicts with your schedules. To minimize the chances of conflict, the exact times and places of the Help Sessions will be decided during the second week of classes, when you should have a better idea of your other commitments.

Help Session Schedule:

Monday 8:00-9:00 AM in Welch 3.402
Thursday 7:00-8:00 PM in Garrison 301
Friday 8:00-9:00 AM in Welch 3.402

Grading



4 Written Homeworks (6% each): 24%
Project:
  • Phase 1 [Due Sept. 19]: 10%
  • Phase 2 [Due Oct. 29]: 10%
  • Phase 3 [Due Dec. 9]: 10%
  • Group skills [throughout]: 6%
36%
Midterm [Evening Oct. 23]: 20%
Final:[Evening Dec. 5] 20%
Total: 100%

A course average of 90% guarantees an A, 80% guarantees a B, and 70% guarantees a C. The instructor reserves the right to lower, but not raise, the cutoffs. Homeworks should be handed in at the beginning of class. No late homework will be accepted. Rupert (your TA) will grade the homeworks and project. If you want an assignment or exam to be considered for regrade, you should present your case in a written explanation that should be submitted with the assignment. No regrade request will be considered if submitted more than one week after your assignment has been returned. A regrade request can cause your grade to go up or down. The grader will explain in writing the regrade's outcome.

Collaboration

You are expected to maintain the utmost level of academic integrity in all your academic endeavors. ``I didn't know it wasn't allowed'' is not a valid excuse; if you are in doubt, ask.

In CS372, you may discuss homework problems and solutions with up to two other students (in fact we encourage you to do so), but you must write up the solutions yourself to hand in. You may not work from written notes taken during collaborative sessions; this amounts to handing in the work of someone else as your own. If your solutions have been the result of discussions with other students, you should explicitly credit them when submitting your assignment.

Exam Attendance

A missed exam will count as zero without verifiable medical excuse. No make-up exams will be given. If you notify your instructor immediately when a personal problem is interfering with your work, special arrangements might be possible. However, once an exam date has passed, no exceptions will be made.