UNIVERSITY OF WISCONSIN
Computer Sciences Department
CS 537
Fall 2012
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:
    Tuesday/Wednesday 9:30am-10:30am
Aldo hour:
    Friday 10am-11am
TA: Kumaresh Murugan
email: mvisakan@cs.wisc.edu
Office: 1301 CS
Phone: 262-6600
Office hours:
    Monday 11am - noon
    Thursday 1pm - 2pm
    Friday 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
1221 Computer Sciences

Discussion section: Wednesday 11am-11:50am
107 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.


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-30 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.

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.


Cheating

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:

Date Lectures Discussion
Week 1 September 4 & 6 Introduction and overview, processes Intro to C
Week 2 September 11 & 13 Dispatching, process creation Intro to C and I/O libraries
Week 3 September 18 & 20 Cooperating processes, synchronization.
No class Tuesday
Intro to gdb, Makefiles, CVS
Week 4 September 25 & 27 Semaphores
Quiz 1: Processes (in lecture)
No discussion
Week 5 October 2 & 4 Monitors, message passing
Guest lecturer Tuesday: Drew Bernat
Quiz 2: Synchronization with Semaphores
Week 6 October 9 & 11 Implementing synchronization, CPU scheduling Quiz 3: Once again with Semaphores
Week 7 October 16 & 18 Deadlock, dynamic memory allocation
Guest lecturer Tues and Thurs: Emily Jacobson
Quiz 4: Synchronization with Monitors
Week 8 October 23 & 25 Relocation Quiz 5: Synchronization with Messages
Week 9 October 30 & November 1 Segmentation, Paging
Guest lecturer Tues and Thurs: Drew Bernat
Quiz 6: Scheduling and Deadlock
Week 10 November 6 & 8 TLBs, Virtual memory, page replacement, thrashing.
No class Thurs
Quiz 7: Segmentation
Week 11 November 13 & 15 Working sets, I/O devices, files
Lecture Tues and Thurs: via Skype!
Quiz 8: Multi-Level Paging
Week 12 November 20 & 22 Disk allocation and scheduling, directories
No class Thursday, Thanksgiving
Quiz 9: TLB's
Week 13 November 27 & 29 Protection, file systems Quiz 10: Page Replacement
Week 14 December 4 & 6 File systems No quiz
Week 15 December 11 & 13 Security, "ARIANE 5 Flight 501 Failure: Report by the Inquiry Board" Quiz 11: File systems
Finals December 19 Optional Final Exam: 5:05pm-7:05p, 1221 Computer Sciences


Last modified: Thu Dec 13 12:34:30 CST 2012 by bart