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.