Semester: | Fall 2012 |
Room: | Science Center A154 |
Class Time: | Mon/Wed/Fri 1:30pm-2:30pm |
Office Hours: | Tuesday, 11:00am-12:00pm Wednesday, 2:30-3:30pm or by appointment |
Professor: | Cynthia Taylor |
email: |
ctaylor AT oberlin edu Please include "cs341" in the subject. |
Office: | King 229 |
Phone: | x58424 |
WEEK | DAY | ANNOUNCEMENTS | READING | HW |
---|---|---|---|---|
1 | Sep 03 | Labor Day [No Class] | ||
Sep 05 | Course Overview | Lab 1 | ||
Sep 07 | The Kernel (Read Sections 2.1, 2.7, 2.11) | |||
2 | Sep 10 | Processes (Read Sections 3.0-3.1,3.2.3) | ||
Sep 12 | System Calls and Interrupts (Read Sections 1.5, 2.3, 2.4.0-2.4.1) | |||
Sep 14 | Fork, Wait, Exit and Exec System Calls (Read Section 3.3, man pages for getpid, fork, execv, waitpid, _exit) | |||
3 | Sep 17 | Scheduling (Read Sections 3.2-3.2.2, 5.0-5.2, 5.3.1-5.3.2, 5.3.4) | Lab 2 | |
Sep 19 | More Scheduling (Read Sections 5.3.3, 5.3.5 - 5.3.6) | |||
Sep 21 | Threads (Read Sections 4.0-4.2, 4.4.4) | |||
4 | Sep 24 | Synchronization Intro (Read Sections 6.0-6.2) | ||
Sep 26 | Yom Kippur [No Class] | |||
Sep 28 | Semaphores (Read Sections 6.3-6.5.2) | |||
5 | Oct 01 | Classic Synchronization Problems (Read Section 6.6) | Lab 3 | |
Oct 03 | Monitors and Condition Variables (Read Section 6.7) | |||
Oct 05 | Interprocess Communication (Read Section 3.4, 15.9.2) | |||
6 | Oct 08 | Pipes/Deadlock Intro (Man pages for pipe, read, write, select, mkfifo, 7th/8th Edition: 7.0 - 7.4) | ||
Oct 10 | Deadlock Solutions (7th/8th Edition: 7.5 - 7.7) | |||
Oct 12 | On the Duality of Operating System Structures Lauer & Needham paper | |||
7 | Oct 15 | Intro to Assigment 3 | ||
Oct 17 | Midterm Review | |||
Oct 19 | Midterm Exam | |||
Oct 22 | October Break (Oct 20-28) | |||
Oct 24 | ||||
Oct 26 | ||||
8 | Oct 29 | Midterm Overview | ||
Oct 31 | Memory Management Paperback: sections 7.1-7.3, 8.8.1 Hardcover: sections 8.1-8.3, 9.8.1 |
|||
Nov 02 | Segments Paperback: section 7.6 Hardcover: section 8.6 |
|||
9 | Nov 05 | Pages Paperback: sections 7.4-7.5 Hardcover: section 8.4-8.5 |
Lab 4 A | |
Nov 07 | Virtual Memory Paperback: sections 8.0-8.2, 8.4.0-8.4.4 Hardcover: sections 9.0-9.2, 9.4.0-9.4.4 |
|||
Nov 09 | Resident Set Paperback: section 8.4.5, 8.6 Hardcover: section 9.4.5, 9.6 |
|||
10 | Nov 12 | Intro to Assigment 4 Assignment Description and code man pages for setjmp & longjmp |
Lab 4 B | |
Nov 14 | File System Design (Paperback): 9.0-9.1, 9.3.2, 9.3.5 (Hardcover): 10.0-10.1, 10.3.2, 10.3.5 |
|||
Nov 16 | File System Implementation (Paperback): 8.7.0-8.7.1, 10.0-10.2.1, 10.4 (Hardcover): 9.7.0-9.7.1, 11.0-11.2.1, 11.4 |
|||
11 | Nov 19 | File System Wrapup (Paperback): 10.6 (Hardcover): 11.6 Wikipedia on Cache |
Lab 4 C | |
Nov 21 | Paper: The Multics Virtual Memory: Concepts and Design | |||
Nov 23 | Thanksgiving Break (Nov 22-25) | |||
12 | Nov 26 | Input/Output Devices (Paperback): 12.0-12.1, 12.2.1-12.2.4, 12.3.1, 12.4.2-12.4.3 (Hardcover): 13.0-13.1, 13.2.1-13.2.4, 13.3.1, 13.4.2-13.4.3 |
||
Nov 28 | Protection: ACL vs Capabilities (Paperback): 13.0-13.7 (skip 13.3.2-13.3.3, 13.6) (Hardcover): 14.0-14.7 (skip 14.3.2-14.3.3, 14.6) |
|||
Nov 30 | Protection: SetUID & Multics (Paperback): 13.3.2-13.3.2 (Hardcover): 14.3.2-14.3.3 |
|||
13 | Dec 03 | Networks Network Topology Communications Protocol ("Introduction" through "Basic requirements of protocols" only.) OSI Model ("History" through "Description of OSI Layers" only.) |
Lab 4 | |
Dec 05 | Distributed Systems Distributed Computing (Skip "Theoretical Foundations" section) | |||
Dec 07 | Security (Paperback): 14.1, 14.2.2-14.2.4 (Hardcover): 15.1, 15.2.2 - 15.2.4 |
|||
14 | Dec 10 | Paper: 17 Mistakes Microsoft Made in the Xbox Security System | ||
Dec 12 | Class Wrap-up & Final Review | |||
Dec 14 | Final Review | |||
Dec 20 | Final Exam |
My goals and objectives for students taking this course are as follows:
The text for the course is Operating System Concepts Essentials by Silberschatz, Galvin and Gagne. You may also use Operating Systems Concepts 8th Edition. It is absolutely required that you have one of these books, as there will be daily quizzes based on the required readings.
Operating Systems Concepts Essentials by Silberschatz, Galvin and Gagne |
Course grades will be calculated based on the following distribution:
We will be using Peer Instruction, a teaching model which places stronger emphasis on classroom discussion and student interaction. As part of this, you will be assigned an iClicker, which you will need to register. You will be expected to attend all lectures, having completed the assigned reading and ready to discuss with your classmates.
I allow for three missed classes by dropping the three lowest quiz scores. If you attend all the classes, you will be rewarded by having your low grades dropped!
There are four labs for the class, each worth succesively more points. They are worth 3%, 6%, 9%, and 12% of your grade, respectively. You are expected to complete these labs on your own. However, you are free to discuss them with your fellow students, and encouraged to post questions about them on Blackboard. A good rule of thumb is discuss with your classmates away from your computer, and to wait fifteen or twenty minutes between the discussion and when you make changes to your code. Labs will be due on Sunday at 8 pm.
All lab work will be done on a Solaris server, located at cs341.cs.oberlin.edu. You can access this machine from within the cse subnet. On campus, this means you can access it from the CS labs. Off campus/outside the labs, you can ssh to occs and then ssh to the server. If you use linux or a mac, ssh will already be installed - just type "ssh username@cs341.cs.oberlin.edu" in the terminal. SSH will give you terminal/command line access. I recommend using either emacs or vim in the terminal.
According to college policy, every assignment must include the following signed statement:
Please include this statement in your lab headers, along with your name."I have adhered to the Honor Code in this assignment."
No late work will be accepted.
There is a forum for this class on Blackboard. You are encouraged to use this forum as a vehicle to ask questions about the class and the labs, and to answer each other's questions. If you have a question that is at all general, please ask it on Blackboard rather than via email, as this will allow your fellow students to also benefit from the answer.
If you have a disability that might impact your performance in this course, or requires special accommodation, please contact me as soon as possible so that appropriate arrangements can be made. Support is available through Student Academic Services, specifically Jane Boomer. You will need to contact them to get your disability documented before accommodations can be made.