The course provides information on the operating system architecture and the features of process management, memory management, device drivers, file systems, networking, security. All features are shown on contemporary operating systems, implementation of selected features is practiced while creating an educational operating system.
Note for combined study programs: the course requires activity during semester.
Last update: Hnětynka Petr, doc. RNDr., Ph.D. (04.01.2023)
Předmět poskytuje informace o architektuře operačních systémů a funkcích správy procesů, správy paměti, ovladačů periferií, systémů souborů, sítí, bezpečnosti. Všechny funkce jsou ilustrovány na současných operačních systémech, implementace vybraných funkcí je procvičována tvorbou výukového operačního systému.
Upozornění pro studenty kombinovaného studia: předmět vyžaduje práci během semestru.
Last update: Hnětynka Petr, doc. RNDr., Ph.D. (04.01.2023)
Aim of the course -
Introduce operating system abstractions, architectures and mechanisms for resource management and protection.
Explain processes, threads, context switching and scheduling mechanics.
Explain heap organization and garbage collection, analyze the associated overheads.
Connect binary program representation and in memory data structure organization to process execution.
Apply techniques for concurrent programming using atomics and synchronization primitives, with awareness of memory ordering.
Explain virtual memory mechanisms, paging applications and replacement policies across the memory hierarchy.
Connect interrupt processing, hardware and system interfaces to device driver organization and device operation.
Explain storage layout techniques used to implement file system abstractions.
Develop practical skills in inspecting, implementing and debugging system code.
Last update: Tůma Petr, prof. Ing., Dr. (30.10.2026)
Představit abstrakce a architektury operačních systémů a mechanismy správy a ochrany zdrojů.
Vysvětlit koncepty procesů a vláken, přepínání kontextu a mechanismy plánování.
Vysvětlit organizaci heapu a garbage collection, analyzovat související režii.
Propojit binární reprezentaci programu a uspořádání datových struktur v paměti s během procesů.
Používat techniky psaní paralelního kódu s atomickými operacemi a synchronizačními primitivy, včetně znalosti memory modelů.
Vysvětlit mechanismy virtualizace paměti a využití stránkování, popsat strategie výběru oběti napříč paměťovou hierarchií.
Vysvětlit organizaci ovladačů a fungování zařízení v kontextu obsluhy přerušení a hardwarových a systémových rozhraní.
Vysvětlit způsoby uspořádání diskových dat pro implementaci abstrakcí souborových systémů.
Rozvíjet praktické dovednosti při čtení, implementaci a ladění systémového kódu.
Last update: Tůma Petr, prof. Ing., Dr. (30.10.2026)
Course completion requirements -
The course includes tests and practical assignments, graded on a point scale. The grading reflects activity and for practical assignments correctness and additional evaluation criteria (documentation, design, style). Course credit requires solving the basic variant of all practical assignments and presenting the solution, the overall grade is determined from the point total. All practical assignments may be revised an unlimited number of times after the initial submission, up until the final assignment assessment deadline.
Last update: Tůma Petr, prof. Ing., Dr. (31.08.2026)
Během semestru se řeší testy a praktické úlohy, které jsou hodnoceny na bodové stupnici. Hodnocení odráží u testů účast a u praktických úloh správnost a další vlastnosti řešení (dokumentace, kvalita návrhu, styl). K úspěšnému zakončení předmětu je nutné splnit základní varianty všech praktických úloh a řešení prezentovat, výsledná známka je pak určena podle celkového počtu získaných bodů. Všechny praktické úlohy lze po odevzdání opravovat bez omezení počtu pokusů až do data závěrečného hodnocení úloh.
Last update: Tůma Petr, prof. Ing., Dr. (31.08.2026)
Literature -
Materials and Main Textbook
Operating Systems Self-Study Modules. https://d3s.mff.cuni.cz/teaching/operating-systems
Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces. http://www.ostep.org
Additional Textbooks
Anderson et al.: Operating Systems Principles and Practice
Silberschatz et al.: Operating System Concepts
Tanenbaum et al.: Modern Operating Systems
References
RISC-V Instruction Set Manual Volume I: Unprivileged ISA
RISC-V Instruction Set Manual Volume II: Privileged Architecture
Intel 64 and IA-32 Architectures Software Developer's Manual
Last update: Tůma Petr, prof. Ing., Dr. (30.10.2026)
Materiály a hlavní učebnice
Operating Systems Self-Study Modules. https://d3s.mff.cuni.cz/teaching/operating-systems
Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces. http://www.ostep.org
Další učebnice
Anderson et al.: Operating Systems Principles and Practice
Silberschatz et al.: Operating System Concepts
Tanenbaum et al.: Modern Operating Systems
Reference
RISC-V Instruction Set Manual Volume I: Unprivileged ISA
RISC-V Instruction Set Manual Volume II: Privileged Architecture
Intel 64 and IA-32 Architectures Software Developer's Manual
Last update: Tůma Petr, prof. Ing., Dr. (30.10.2026)
Syllabus -
1. Operating system architecture - resource management, abstractions, architectures, privileged operations. Machine program representation.
2. Process code and stack - process memory layout, linking, relocation, addressing, stack frames.