CS 3204: OPERATING SYSTEMS
FALL SEMESTER 2002
CHRONOLOGICAL
OUTLINE
Week Topics and
Beginning (Assignments in [ ] are to be read prior
to class.)
----------- ----------------------------------------------------------------
26 Aug Course policies and procedures. Text organization. Models and
abstractions. Systems software and the OS. Historical development.
OS philosophies. The modern OS. [1, pp. 1 - 27]
2 Sept Computational model: processes, resources, threads and objects.
Computing environments. From philosophy to design: influencing factors
and issues. Basic functions and the realization in implementations. [1,
pp.
29 - 69] Homework 1. Programming
Assignment 1.
9 Sept The von Neumann architecture: CPU operations, memory, I/O devices,
communication paths, interfaces. Interrupts. [1, pp. 71 -117]
16 Sept The process abstraction. Process management: creation, status, execution,
removal. Resource management. State transition model. Process
hierarchy and process relationships. [pp. 161 - 188] Homework 2.
23 Sept Process scheduling. Scheduler functions. Conditions for CPU sharing.
Scheduling strategies. Seeking “optimal” scheduling algorithms. Preemp-
tive versus non-preemptive scheduling. Schedule evaluation. [1, pp. 189 -
216] Programming
Assignment 2.
30 Sept Scheduling continued. Examination and comparison of scheduling algorithms. Process interaction. Basic synchronization and communication
techniques: shared variables and critical sections, fork and join. [1, pp. 217
- 228] Homework 3.
7 Oct Process interaction continued. Levels of abstraction. Semaphores.
Illustrative problems. Implementation concerns. [1, pp. 228 - 247] Homework 4.
14 Oct Midterm Examination on 15 October. Deadlock (or “the deadly
embrace”). Conditions permitting deadlock. Deadlock management
strategies. System deadlock. Deadlock prevention. [1, pp. 291 - 303]
Homework 5.
21 Oct Deadlock continued. Deadlock avoidance: the banker’s algorithm. Dead-
lock detection and resolution. Resource categories. Graphical models.
[1,
pp. 304 - 323] Programming
Assignment 3.
28 Oct Memory management. Address space and primary memory. Mappings to
create run-time system. Dynamic memory management. [1, pp. 325 - 347]
4 Nov Memory management continued. Memory management strategies. Memory
sharing with multiple processors. Program segmentation. Paging organi- zation. Virtual memory. Address translation. [1, pp. 348- 371]
Homework 6.
11 Nov Virtual memory continued. Page replacement strategies: static algorithms
and dynamic algorithms. Working set algorithm. Implementation concerns. Segmentation. [1, pp. 371 - 404] Homework 7.
18 Nov Advanced synchronization and communications mechanisms. State condi-
tions versus timing signals. Multiple forms of synchronization. Event
queues. Conditional critical
sections. Monitors.
[1, pp. 257 - 279] Programming Assignment 4.
25 Nov Thanksgiving break: no classes.
2 Dec Continuation of advanced
synchronization techniques. Implementation concerns. Prescribed ordering. File management, file abstractions [1, pp.
279 – 290; 405 - 419] Homework 8.
9 Dec Review for final examination.
Final Examination: Friday, December 13,
Reference
1. Gary Nutt, Operating Systems: A Modern Perspective, Second Edition, Lab Update, Addison Wesley Longman, 2002
Thanks to Dr. Osman Balci for permission to use slides developed by him for this course.