Operating Systems WiSe 2020-21

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