Poslední úprava: doc. RNDr. Petr Hnětynka, 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.
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
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.
Podmínky zakončení předmětu -
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
Během semestru se řeší testy a praktické úlohy, které jsou hodnoceny na procentuální stupnici. Hodnocení odráží správnost a u praktických úloh další vlastnosti řešení (dokumentace, kvalita návrhu, styl). K získání zápočtu je nutné získat alespoň 50 procentních bodů v jednotlivých aspektech hodnocení, výsledná známka je pak určena z průměru přidělených bodů (minimum 50 na "dobře", 70 na "velmi dobře", 85 na "výborně"). Vzhledem k tomu, že základní podmínkou získání zápočtu je systematická práce během semestru, jsou vyloučeny opravné termíny zápočtu.
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
The course includes tests and practical assignments, graded on a percentage scale. The grading reflects correctness and for practical assignments additional evaluation criteria (documentation, design, style). Course credit requires getting at least 50 percent points in all graded aspects, the overall grade is determined from the point average (minimum 50 for "good", 70 for "very good", 85 for "excellent"). Given that an essential course credit requirement is systematic work during the semester, retakes are not possible.
Literatura -
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces. http://www.ostep.org
Anderson et al.: Operating Systems Principles and Practice
Silberschatz et al.: Operating System Concepts
Tanenbaum et al.: Modern Operating Systems
MIPS R4000 Microprocessor User’s Manual
Intel 64 and IA-32 Architectures Software Developer's Manual
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces. http://www.ostep.org
Anderson et al.: Operating Systems Principles and Practice
Silberschatz et al.: Operating System Concepts
Tanenbaum et al.: Modern Operating Systems
MIPS R4000 Microprocessor User’s Manual
Intel 64 and IA-32 Architectures Software Developer's Manual
Sylabus -
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
Role operačních systémů, základní architektura, základní koncepty.
Správa procesů. Procesy a vlákna, životní cyklus. Paralelismus, plánování, přepínání kontextu. Komunikace, sdílení paměti, zasílání zpráv. Synchronizace, synchronizační problémy, uváznutí, stárnutí, typy čekání, synchronizační nástroje.
Správa paměti. Virtualizace, stránkování, segmentace, algoritmy výměny stránek. Správa paměti v rámci procesu, kód, halda, zásobník, garbage collection.
Periferie. Architektura ovladačů, synchronní a asynchronní rozhraní. Ovladače konkrétních zařízení.
Systémy souborů. Uživatelské rozhraní, abstrakce, operace. Implementace, principy.
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (04.01.2023)
The roles of an operating system. Operating system architecture. Basic operating system concepts.
Process management. Processes and threads, lifecycle. Concurrency, scheduling, context switching. Communication, shared memory, message passing. Synchronization, synchronization problems, deadlock, starvation, types of waiting, synchronization tools.
Memory management. Virtualization, paging, segmentation, page replacement algorithms. Memory management within a process, code, heap, stack, garbage collection.
Devices. Device driver architecture, synchronous and asynchronous interfaces. Device drivers for specific devices.
File systems. User interface, abstractions, operations. Implementation, principles.