CS 3204: OPERATING SYSTEMS

FALL SEMESTER 2002

 

CHRONOLOGICAL OUTLINE

 

 

Week              Topics and Reading Assignments

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, 10:05 a.m. – 12:05 p.m.

 

Reference

 

1.      Gary Nutt, Operating Systems: A Modern Perspective, Second Edition, Lab Update, Addison Wesley Longman, 2002

 

 

Acknowledgment

 

Thanks to Dr. Osman Balci for permission to use slides developed by him for this course.