Advanced Single Semester Course
The following syllabus is designed for an undergraduate course where students
have already had some exposure to many operating systems concepts.
We further encourage you to
examine our notes on integrating Java within this
suggested curriculum.
- Chapter 1: Introduction
This chapter can be skipped.
- Chapter 2: Computer System Structures
This chapter can be skipped if students are familiar with
computer organization.
- Chapter 3: Operating System Structures
This chapter can be skipped.
- Chapter 4: Processes
This chapter can be skipped.
- Chapter 5: Threads
- Chapter 6: CPU Scheduling
- Chapter 7: Process Synchronization
Section 7.7 (Monitors) may be omitted.
- Chapter 8: Deadlocks
You may only want to cover Sections 8.1 through 8.3.
- Chapter 9: Memory Management
Section 9.5 and 9.6 may also be omitted if you do not wish to cover
segmented architectures.
- Chapter 10: Virtual Memory
- Chapter 11: File-System Interface
Sections 11.3.1 and 11.3.2 may be omitted (Single-Level and
Two-Level Directories).
- Chapter 12: File-System Implementation
- Chapter 13: I/O Systems
Section 13.1 and 13.2 may be omitted if students have an
understanding of I/O hardware.
- Chapter 14: Mass-Storage Structure
Coverage of Section
14.8 (Tertiary-Storage Structure) may depend upon the amount
of time remaining. Disk scheduling algorithms (Section 14.2) make
nice Java exercises.
- Chapter 15: Distributed System Structures
This chapter can be skipped in students have a basic understanding
of networks.
- Chapter 16: Distributed File Systems
- Chapter 17: Distributed Coordination
Section 17.5 (Deadlock Handling) can be skipped.
- Chapter 18: Protection
Sections 18.5 (Revocation of Access Rights), 18.6
(Capability-Based Systems), and 18.7 (Language-Based Systems)
can be skipped.
- Chapter 19: Security
Sections 19.4 (System Threats), 19.7 (Cryptography), and
19.8 (Computer-Security Classifications) can be omitted.
the text.