Course Outline
Topic Outline:
- Week 1: Overview
- Introduction and History of OS
- Using Unix
- Operating-System Structures
- Unix: fork, exec, wait
- Processes and Threads with Unix examples
- Week 2: Process Management
- Processes and Threads, continued
- Process Scheduling
- Interprocess Communication
- Threads and Scheduling
- Examples in Unix: ps, pid
- Week 3: Process Management, continued
- Process Synchronization and Examples
- More Examples in Unix: fork, exec, wait, signal,
- Deadlocks: Avoidance, Prevention, Detection, Recovery
- Week 4: Memory Management
- Main Memory, Cache
- Paging and Segmentation
- Virtual Memory
- Unix System Library Commands and Arguments
- Related Unix System Functions: ls, cmap,
- Week 5: Storage Management with Input/Output
- Input/Output Systems
- Devices: Input, Output
- Unix: select, poll, cat
- File System Interface and Implementation
- Directories, Links, and File Types
- 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
- Linux
- Unix I/O: read, write, select, poll, stty
- File Redirection
- Unix pipes, shells
- 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
- Unix: Signals, Shells, Timing
- 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; Real-Time Systems
- 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 Week