Lecture | OWEN 102 MWF 13:00 - 13:50 |
Instructor | Paul D. Paulson (contact info) |
Office Hours | MW 2:30 - 4:30 pm TR by appointment in Dearborn 303E |
Teaching Assistants | Daniel Moffitt (programming projects) Office hours (Hovland 108): M W 3:00 - 6:00 pm T R 12:00 noon - 6:00 pm Vasumathi Lakshmanan (homework / theory) Office hours (Hovland 108): M T W R F 9:00 am - 12:00 noon |
Prerequisites | CS 311, ECE 375 or CS 271 |
Textbook | Silberschatz, A., Galvin, P., & Gagne, G., "Operating System Concepts", 6th edition, Wiley, 2003 ISBN # 0-471-25060-0 |
| Course Learning Objectives | - Given a description of a concurrent problem, choose appropriately between processes, user threads, or kernel threads and explain their reasoning.
- Given a description of a concurrent processes scenario, determine if synchronization is necessary, and explain why or why not.
- Solve the producer/consumer, reader/writers, dining philosophers as well as any simple synchronization problem using both semaphores and monitors.
- Given descriptions of two different simple CPU scheduling algorithms, compare the strengths and weaknesses of each with respect to waiting time, turnaround time, throughput, and implementation challenges.
- Given the contents of memory and the TLB, accurately map paged or segmented virtual addresses to physical addresses.
- Explain what impact paged virtual memory has on system performance, and recognize program memory access patterns that may seriously degrade the performance of a system.
- Given code for short concurrent programs, identify if there is a potential for deadlock, and provide alternative code that will not deadlock.
- Compute file sizes, fragmentation, and access times for simple disk block allocation mechanisms.
- Given well defined requirements, implement and test algorithms for operating system functions within a reasonably large and complex code base.
- Explain similarities and differences of CPU scheduling and of memory management for real-time operating systems with those of non-real-time operating systems.
|
Schedule | Check here every week; the schedule is subject to "adjustments" |
Grades | - 5 Homework assignments
- 3 Programming projects
- 3 Quizzes
- Midterm exam
- Final exam (Tuesday, Dec. 7, 9:30 am, OWEN 102)
You must earn at least a 60% average on quizzes and exams to pass the course. You must also earn at least a 60% average on the projects to pass the course. Final grades are based on the accumulated percentage. See the evaluation criteria and grading scale. Quiz, exam, and final grades may be adjusted linearly if it seems appropriate. | |