Winter Semester 2025
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/course/view.php?id=1834
Practical Lab: System and AI Security
Content
In this practical course, the students deal with different security aspects of artificial intelligence (AI) and systems. The project tasks comprise the following areas:
- Design and implementation of selected software attacks (ethical hacking)
- Design and implementation of secure user apps
- Modifications of the Android Middleware and Kernel to build security architectures
- System programming in general
- Applications of Machine Learning for Security
- Security and Privacy of Deep Neural Networks
Please check Moodle for full information:
https://moodle.informatik.tu-darmstadt.de/course/view.php?id=1832
Seminar: Real World Challenges of AI
Content
In today's rapidly evolving technological landscape, artificial intelligence, specifically deep learning, becomes able to solve increasingly complex tasks. Their increasing capabilities make them useful for real-world problems and deployed even for critical tasks such as making hiring decisions, medical diagnostics, or safety-critical operations. However, deep learning algorithms face new challenges, constraints, and threats when deployed outside well-controlled test environments to solve real-world problems.
In this seminar, students will summarize and critically analyze the recent literature on the assigned topic in the form of a report. Additionally, each student will present his work in front of the group at the end of the semester.
Possible topics include:
- Fair and non-biased deep learning
- Explainable and trustworthy decisions
- Privacy and the right to be forgotten for deep neural networks
- Robust and trustworthy deep learning for security-critical applications
- Distributed learning schemes
- Deep neural networks in environments with runtime constraints
- Detecting AI-generated content
- Responsible deep fake generation
Please check Moodle for full information:
https://moodle.informatik.tu-darmstadt.de/course/view.php?id=1833