Lecture: Operating Systems
Content
- Introduction to Operating Systems (OS) – Role, purpose and design issues
- Processes and Threads – OS structures, process control, abstractions, kernel/user modes and operations, context switching, interrupts
- Inter-Process Communication – Message passing IPC, RPC, layers, interfaces, hierarchies
- Coordination: Deadlocks – Process coordination, critical sections, deadlock characterization, deadlock detection and recovery, deadlock avoidance
- Scheduling/Resource Management – Task ordering, preemptive and non-preemptive scheduling, schedulers and policies, OS implementations
- Concurrency: Races, Mutual Exclusions – Critical sections, races, spin locks, synchronization
- Programming Abstractions: Semaphores – Semaphores, Monitors
- Memory Management – Storage structures, management/replacements approaches, virtual memory, paging, caching, segmentation
- I/O – Device management, drivers, segmentation, interrupt handling, DMA
- File systems – File systems requirements, design and implementation, file structures, directories, naming, partitions, virtual file systems
- Fault Tolerance/Resilience – Fault types, fault handling approaches, reliable message delivery, OS reliability and availability, security issues
- Embedded/RT OS – Memory/disk/performance management, recovery, fault-tolerances, real-time aspects
- Distributed OS – Distributed computation and communication abstractions, synchronization, coordination, consistency
- Virtual Machines – Purpose and types of virtualization, virtual file systems, Hypervisors
Literature
Operating Systems: Three Easy Pieces (v0.92); Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau; Arpaci-Dusseau Books
Modern Operating Systems, 4th Edition; Andrew S. Tanenbaum & Herbert Bos; Pearson; ISBN-13: 978-0133591620
Operating System Concepts, 9th Edition; Abraham Silberschatz, Peter B. Galvin, Greg Gagne; John Wiley & Sons; ISBN-13: 978-1118093757
Please check Moodle for more information:
https://moodle.informatik.tu-darmstadt.de/enrol/index.php?id=968
Practical Lab: System and IoT Security