Courses
CS 452: Principles of Operating Systems
| Objective |
- To teach the basics of uniprocessor operating systems.
|
| Pre-Conditions |
- [CS127b/CS227] Simple
data structures: linked lists, stacks, queues, hash tables
- [CS127b/CS227]
Recursion
- [CS340] Basic machine organization
- [CS340] Basic virtual memory mechanisms
- [CS340] Interrupts and traps
- [CS340] Unix execution model
- [CS340] Heap allocation
- [CS340] Facility with ~500 line C programs
- [CS318] UNIX tools: make, gdb, rcs, etc.
|
Post-Conditions
(Topics) |
- [1 week] OS overview, process abstraction
- [2 weeks] Process synchronization, semaphores
- [1 week] Monitors and messages
- [1 week] Process scheduling & I/O devices
- [1 week] Deadlock
- [1 week] Memory allocation: stack, heap,
- [2 weeks] Virtual Memory - segmentation, paging, replacement policies,
thrashing
- [1 week] File systems
- [1 week] Protection and security; encryption
- [1 week] Multiprocessor OS; threads
- [2 weeks] Advanced topics: networks, distributed OS, network file
systems
- Large (>1000 lines) project in C.
|
Last revised on 29 April 1997 by
John H. Hartman.