Computer Sciences Department
CS 537
Fall 2013
Barton Miller
CS 537: Introduction to Operating Systems

New Stuff

Class Staff

Instructor: Barton Miller
email: email address
Office: 7363 CS
Phone: 263-3378
Office hours:
    Monday 10am-11am
    Thursday 10am-11am
Aldo hour:
    Friday 11am-noon
TA: Wei-Yu Shih
Office: 1306 Computer Sciences
Phone: (tba)
Office hours:
    Monday 3pm-4pm
    Tuesday 1pm-2pm
    Thursday 2pm-3pm

Course Materials

My lecture notes are available now. You should read the first section before coming to class.

Lectures and Discussion Sections

Lecture times: Tuesday/Thursday 11am-12:15pm
1325 Computer Sciences

Discussion section: Wednesday 11am-11:50am
121 Psychology

Note that there is the mandatory discussion section (Wednesday at 11am). This section will be used mainly to discuss material covered in lecture and for the weekly quizzes. It will be used also to discuss important details of the programming assignments and homework. Make sure that you leave room in your schedule to attend this section.

You must attend the discussion section associated with this lecture; you cannot attend one of the other discussion sections.

Exams and Quizzes

There will be no midterms. The final is optional. An old final exam is available for you to review.

Most weeks, there will be a quiz in the Discussion Section; see the class schedule for details as to when are the quizzes. The quizzes will last 15-45 minutes. Following are the past quizzes with answers:

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 Linux. It is unlikely that you will be able to do all these assignments on your personal computer unless you have loaded a recent version of Linux.

Written Problems 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. However, you will find that you will do poorly on the weekly quizzes, if you don't do the problems The TA and I will be happy to answer questions on these problems and look over your solutions.

Late Work

Assignments are due at the start of class 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 (or serious personal emergencies), absolutely no late work will be accepted.

Late days are 24-hour days.

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


Programming assignments will be done with partners. Each group of two will work independently from other groups; there should be no collaborations between groups. Quizzes and exams are individual work; there should be no communication between students during an exam.

If you have any questions about what is a permissible activity, talk with me first.

The penalty for cheating will include receiving an "F" grade for the course and having an academic misconduct notation marked on your transcript.

Cells Phones

Please make sure to turn off your cell phone during class time. If your cell phone or beeper rings audibly during class, you will be asked to leave and not return until you meet with me in my office.

Computer Facilities

We will be using the Linux workstations for this course. All students who have registered for this class should have an account.

If your personal computer has the proper compilers and libraries, you are welcome to use it for the programming assignments.

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 quizzes during the first two weeks. 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 around 3.0.

Class Schedule

The following schedule is tentative and could (and probably will) change. If you are planning on being out of town, make sure to talk with Bart before you make your plans.

Date Lectures Discussion
Week 1 September 3 & 5 Introduction and overview, processes
No class Thursday
Intro to C
Week 2 September 10 & 12 Dispatching, process creation Intro to C and I/O libraries
Week 3 September 17 & 19 Cooperating processes, synchronization.
Guest lecturer Thursday: Emily Jacobson
Intro to gdb, Makefiles, CVS
Week 4 September 24 & 26 Semaphores Quiz 1: Processes
Week 5 October 1 & 3 Monitors, message passing Quiz 2: Synchronization with Semaphores
Week 6 October 8 & 10 Implementing synchronization, CPU scheduling Quiz 3: Once again with Semaphores
Week 7 October 15 & 17 Deadlock, dynamic memory allocation Quiz 4: Synchronization with Monitors
Week 8 October 22 & 24 Relocation Quiz 5: Synchronization with Messages
Week 9 October 29 & 31 Segmentation, Paging Quiz 6: Scheduling and Deadlock
Week 10 November 5 & 7 TLBs, Virtual memory, page replacement, thrashing. Quiz 7: Segmentation
Week 11 November 12 & 14 Working sets, I/O devices, files Quiz 8: Multi-Level Paging
Week 12 November 19 & 21 Disk allocation and scheduling, directories
Guest lecturer Tues and Thurs: Emily Jacobson
Quiz 9: TLB's
Week 13 November 26 & 28 Protection, file systems
No class Thursday: Thanksgiving
No class Wednesday
Week 14 December 3 & 5 File systems Quiz 10: Page Replacement
Week 15 December 10 & 12 Security, reliability "ARIANE 5 Flight 501 Failure: Report by the Inquiry Board" Quiz 11: File systems
Finals December 17 Optional Final Exam: 12:25pm-2:25p, Location TBA

Last modified: Wed Dec 11 16:22:15 CST 2013 by bart