CO 432 Syllabus of Record                                      

 

 

  I. Catalog Description

 

     CO 432    Introduction to Operating Systems  3c-0l-3sh

 

     Prerequisites:  CO 300 and CO 310

 

     Introduction to the principles of operating system design and

     implementation.  Topics include interrupt service, process

     states and transitions, spooling, management of memory and

     disk space, virtual storage, scheduling processes and devices,

     and file systems.

 

 

 II. Course Objectives.

 

     Upon successful completion of this course, the student will be

     able to

 

     A.   Write a simple operating system that performs

          1.  interrupt processing

          2.  spooling and unspooling

          3.  multiprogramming

          4.  storage management

 

     B.   Compare several schemes for

          1.  memory management

          2.  storage (disk) management

          3.  file management

          4.  processor management

 

     C.   Describe various problems related to concurrent

          operations and their solutions.

 

     D.   Explain in detail virtual address translation and

          distinguish it from the use of cache.

 

     E.   Discuss various file system organizations and their

          interaction with the rest of the operating system.

 

     F.   Describe techniques for process synchronization on single

          and on distributed systems.

 

     G.   Explain the interaction between an operating system and

          a computer system's devices.

 

     H. Describe operating system support for users.

 

 

III. Detailed Course Outline

 

     A. History of Operating Systems                                (2 hrs)

          1. Single user systems

          2. Batch systems

          3. Timesharing systems

          4. Distributed systems

 

     B. Interrupt Systems and Device Programming

          1. Hardware support                                       (3 hrs)

               a. Channels

               b. Device actions

               c. Priorities

               d. Masking

               e. Vectoring

          2. Software support                                       (3 hrs)

               a. Interrupt service

               b. Context switching

               c. Buffering

               d. Simultaneous operatings (spooling)

 

     C. Concurrency Problems and Solutions                          (7 hrs)

          1. Mutual exclusion

          2. Process synchronization

          3. Semaphores

          4. Monitors

          5. Programming language support for synchronization

          6. Interprocess communications

          7. Deadlock

               (Prevention, avoidance, detection, recovery)

 

     D. Processes and Jobs                                          (2 hrs)

          1. Job structure and system accounting

          2. Process creation and termination

          3. Process states and state transitions

          4. Threads

 

     E. Memory Management                                           (4 hrs)

          1. Fixed and variable partitions

          2. Relocation adjustment and address translation

          3. Paging

          4. Segmentation

          5. Paging with segmentation

          6. Cache

 

     F. Storage Management and Virtual Storage                      (8 hrs)

          1. Storage hierarchy

          2. Mapping

          3. Associative memory

          4. Residency

          5. Replacement strategies

          6. Demand paging

          7. Working sets

          8. Page fault frequency

 

     G. Scheduling                                                  (5 hrs)

          1. Job entry and process selection

               a. Priorities and deadlines

               b. Time slicing

               c. Scheduling algorithms

                    (Round robin, SJF, multi-level queues)

          2. Disk access

               a. Seek algorithms

                    (FCFS, SSTF, SCAN, CSCAN)

               b. Rotational algorithm

               c. Reliability considerations

               d. Configurations considerations

 

     H. File System Organization                                    (4 hrs)

          1. Managing disk space

          2. Where a volume starts

          3. Directory organization

          4. File descriptors

          5. Access control

          6. Access conflict (files and databases)

          7. Backup

 

     I. Multiprocessing                                              (1 hr)

          1. Master/slave

          2. Symmetric organizations

          3. Distributed systems

 

 

 IV. Evaluation Methods.

 

     50%  Examinations.  Two mid-term exams and the final exam each

          count equally toward the 50%.  Examinations consist of

          short-answer, analysis, and what-if questions.

 

     50%  Project.  The project to write an operating system is

          arranged three stages:  communications - development of

          the terminal/operating system interface, design -

          specification of the remainder of the system with

          communications as a base, and implementation - writing

          the remainder of the operating system.  The project is

          worked on in teams of two.