UNIVERSITY OF WISCONSIN-MADISON
Computer Sciences Department
CS 537
Spring 1996
Bart Miller
CS 537: Introduction to Operating Systems

New Stuff

Class Staff

Instructor: Bart Miller
email: bart@cs.wisc.edu
Office: 6381 CS
Phone: 263-3378
Office hours: Wednesday/Friday 1030-noon or by appointment.

TA: Karuna Muthiah
email: muthiah@cs.wisc.edu
Office: 1343 CS
Phone: 262-5596
Office hours: Monday 1100-1300 and Wednesday 1400-1600.

TA: Jonathan Weyers
email: weyers@cs.wisc.edu
Office: 1304 CS
Phone: 262-6601
Office hours: Monday/Friday 1400-1530 and Wednesday 1600-1700.

Course Materials

The lecture notes are available now. You should read the first section before coming to class. Modern Operating Systems and Object-Oriented Programming Using C++ are available in the book store.

Lectures and Discussion Sections

Lecture times: Tuesday/Thursday 1300-1415
1221 Computer Sciences

Discussion section: Wednesday 1300-1350
168 Noland

Note that there is the extra (Wednesday at 1300) discussion section. This section will be used mainly as a recitation section to discuss material covered in lecture and for the weekly quizzes. On occasion, it will be used to discuss important details of the programming assignments and homeworks. Make sure that you leave room in your schedule to attend this section.

Exams/Quizzes

There will be no midterms. The final is optional.

Each week, starting the second week of classes, there will be a quiz in the Discussion Section. The quizzes will last 15-30 minutes. Following are the past quizzes with answers:

  1. Processes and concurrency, February 7.
  2. Semaphores, February 14.
  3. Monitors, February 21.
  4. Messages, February 28.
  5. Scheduling & Synchronization, March 6.
  6. Segmentation & Paging, March 27.
  7. TLB's, April 10
  8. Demand Paging, April 17
  9. File Systems, April 24
  10. File Systems and Recovery, May 1

Programming Assignments

There will be about four programming assignments during the semester. Details on these assignments will be given in class handouts. These assignments will be written in C++ and done on workstations running UNIX. It is unlikely that you will be able to do all these assignments on your personal computer.

Written Problem Sets

During the semester, I will hand out several written problem sets based on the lectures. These problem sets are for your use and do not need to be turned in. Though, you will find that you will do poorly on the weekely quizzes, if you don't do the problems Solution sets for the problem will be handed out about two weeks after the problem set. The TA and I will be happy to answer questions on these problems and look over your solutions.

Late Work

Assignments are due at 5 p.m. on the date listed on the handout. Over the entire semester, you have three late days of credit. You can use these late days on different assignments (e.g., one day on each of three assignments) or all three days on one assignment. Other than these three days, absolutely no late work will be accepted.

Late days cannot be used on any assignment that is due during the last week of classes.

Cheating

Programming assignments will be done with partners. Each group of two will work independently from other groups.

Cheaters will receive the maximum penalties, which include receiving an ``F'' grade for the course and having this marked on your transcript.

Computer Facilities

We will (probably) be using the Solaris (UNIX) workstations for this course. These are UNIX workstations, running the Sun Solaris operating systems and X windows. All students who have registered for this class should have an account.

Grading Policy

If you don't take the final:
If you take the final:
Programming assignments:40% Programming assignments:30%
Quizzes:60% Quizzes:45%
Final:0% Final:25%

Your lowest quiz grade will be dropped from the average; there will be no quiz during the first week nor during the week after Spring break. If you take the final exam, it will be counted as above. In the past, when I've taught this class, the class GPA has been in the range of 2.9-3.1.

Class Schedule

The following schedule is tentative and could (and probably will) change:

Week 1 January 23 & 25 Introduction and overview, processes
Week 2 January 30 & February 1 Dispatching, process creation
Week 3 February 6 & 8 Cooperating processes, synchronization
Week 4 February 13 & 15 Semaphores
Week 5 February 20 & 22 Semaphores, monitors
Week 6 February 27 & 29 Messages, deadlocks
Week 7 March 5 & 7 OS debugging strategies, dynamic memory allocation
March 12 & 14 Spring Break
Week 8 March 19 & 21 Relocation
Week 9 March 26 & 28 Segmentation, Paging, TLBs
Week 10 April 2 & 4 Virtual memory, page replacement, thrashing
Week 11 April 9 & Nov. 11 Working sets, I/O devices, files
Week 12 April 16 & 18 Disk allocation and scheduling, directories
Week 13 April 23 & 25 Protection
Week 14 April 30 & May 2 Security, advanced topics (readings)
Week 15 May 7 & 9 Advanced topics (readings)
Finals May 14 Final Exam (Tuesday, 5:05pm)


Last modified: Wed May 15 12:54:17 CDT 1996 by bart