Charles Explorer logo
🇨🇿

Pokročilé operační systémy

Předmět na Matematicko-fyzikální fakulta |
NSWI161

Sylabus

A. Pohled na implementace operačních systémů (1) Programovací jazyky, běhová prostředí a další prostředky pro implementaci operačních systémů. Proces bootování a další aspekty vyžadující méně obvyklé programátorské postupy. (2) Rozhraní a interakce operačních systémů s hardware, firmware a aplikačními programy. Problematika zpětné kompatibility. Přenositelnost. Reprezentace hardwarových prostředků a abstrakce. (3) Funkční a výkonnostní ladění operačních systémů. Observabilita. Post mortem analýza. (4) Interakce s paměťovou hierarchií a pokročilá správa paměti. Moderní prostředky pro permanentní ukládání dat. Podpora permanentní paměti s přímým přístupem. (5) Aspekty implementace moderních souborových systémů. Správa datových úložišť, redundance a zálohování. (6) Implementace meziprocesové komunikace. Synchronicita a asynchronicita. Implementace síťových protokolů a síťových rozhraní. Počítání v blízkosti dat. Podpora operačních systémů pro distribuované počítání. (7) Pokročilé metody synchronizace přístupu ke sdíleným datům. Paměťově-konzistenční modely. Mechanismy pro efektivní využití paralelismů, vysoce paralelní hardware. (8) Bezpečnost a spolehlivost. Zranitelnosti v hardwaru a v softwaru. Implementace metod a mechanismů pro zvýšení bezpečnosti a spolehlivosti běhu operačních systémů. Vysoká dostupnost. Certifikace a verifikace. (9) Případná další témata: Virtualizace, softwarové virtuální stroje, správa prostředků, správa služeb, sebemodifikace operačních systémů, real-time atd. B. Pohled na architektury operačních systémů (1) Motivace, kritéria a požadavky ovlivňující architekturu operačních systémů. Konfigurace operačních systémů při překladu a při běhu. (2) Principy návrhu operačních systémů. Vlivy architektury hardwaru na architekturu operačních systémů a opačně. Capabilities. Softwarové komponenty. (3) Návrhové vzory architektur operačních systémů a jejich reprezentanti (monolithic kernel, microkernel, separation kernel, exokernel, unikernel, hypervisor, disaggregated kernel atd.). Architektura uživatelského prostoru. Témata nejsou nutně probírána v uvedeném pořadí. Konkrétní náplň semestru může být ovlivněna také aktuálními trendy a případně výběrem hostů z praxe.

Anotace

Předmět tematicky navazuje na základní kurz NSWI004 Operační systémy. Jeho obsahem je podrobnější pohled na pokročilé funkce reálných operačních systémů a technické přiblížení jejich implementace, spolu s širším pohledem na diverzitu architektur operačních systémů a požadavků, které jsou na ně v různých kontextech kladeny.

Předmět může být doplněn také zvanými příspěvky odborníků z praxe.