Course Outline
Warning:
This is the originally approved course outline.
However, I expect we may go through some of it faster than other parts of it.
In many ways, this outline is an experiment. Let's see how well it works.
However, I expect we may go through some of it faster than other parts of it.
In many ways, this outline is an experiment. Let's see how well it works.
Topic Outline:
- Week 1: Overview
- Introduction and History
- Operating-System Structures
- Processes and Threads with Unix examples
- Week 2: Process Management
- Process Scheduling
- Interprocess Communication
- Threads and Scheduling
- Examples in Unix (ps, pid)
- Week 3: Process Management, continued
- Process Synchronization and Examples
- Examples in Unix (fork, exec, wait)
- Deadlocks
- Week 4: Memory Management
- Main Memory, Cache
- Paging and Segmentation
- Virtual Memory
- Related Unix System Functions (cmap)
- Week 5: Storage Management with Input/Output
- File System Interface and Implementation
- Input/Output Systems
- Week 6: Unix File Systems
- Unix Memory Layout
- Passing Parameters in Unix
- Unix File Systems, including permissions
- File directories (inodes, links)
- Week 7: Unix File Systems, continued
- Unix I/O (read, write, select, poll)
- File Redirection
- Unix pipes
- Week 8: Protection and Security
- Goals and Principles of Protection
- Implementation, with Examples from Unix
- Security Threats
- Authentication
- Firewalls
- Week 9: Distributed System Design and Structure
- Types of Distributed Operating Systems
- Networks: Structure and Topology
- Communication: Structure and Protocols
- Week 10: Distributed System Design and Structure
- Communication: Structure and Protocols, continued
- Design Issues
- Examples of Unix in Distributed Systems
- Week 11: Distributed File Systems
- Naming and Transparency
- Remote File Access
- Stateless versus Stateful Service
- Examples: AFS and NFS
- Week 12: Distributed Coordination
- Event Ordering and Mutual Exclusion
- Atomicity and Concurrency Control
- Deadlock Handling
- Election and Agreement Algorithms
- Week 13: Unix (BSD): History and Case Study
- Design Principles
- Programmer and User Interface
- Processes versus Threads in Unix
- Interprocess Communication
- Unix Shell Script Examples
- Week 14: Unix Synchronization and Interprocess Communication
- Signals: sending, blocking, catching, ignoring
- Semaphores
- Message Queues
- Sockets (IPC)
- More Unix Shell Script Examples
- Week 15: Linux: History and Case Study
- History and Design Principles
- Kernel Modules
- Process Management and Scheduling
- File Systems and Input/Output
- Week 16: Final Exam