12. Operační systémy a jejich architektury. Systémová volání, vlákna, procesy. Správa virtuální a fyzické paměti, souborové systémy. Bezpečnost, virtualizace.
Vkládám jen výtažky z prezentací, které mi přijdou důležité.
Bližší vysvětlení najdete tam.

Operační systémy a jejich architektury

Úkoly OS: 
  • Spouštět a dohlížet uživatelské programy 
  • Efektivní využití HW 
  • Usnadnit řešení uživatelských problémů 
  • Učinit počítač (snáze) použitelný

Multitasking - Zdánlivé spuštění více procesů současně je nejčastěji implementováno metodou sdílení času tzv. Time-Sharing Systems (TSS) - rozšiřuje plánovací pravidla o rychlé (spravedlivé, cyklické ) přepínání mezi procesy řešícími zakázky interaktivních uživatelů

Architektura - viz APO (Assembly, cyklus CPU, výjimky a přerušení)

Zdroje přerušení:
  • Vnitřní přerušení – 
  • problém při zpracování strojové instrukce 
  • instrukce nebo data nejsou v paměti - chyba stránky, chyba segmentu instrukci nelze provést - dělení nulou, ochrana paměti, nelegální instrukce 
  • nutno reagovat okamžitě, nelze dokončit instrukci, někdy nelze ani načíst instrukci 
  • Vnější přerušení – 
  • vstupně/výstupní zařízení asynchronní s během procesoru 
  • signalizace potřeby reagovat na vstup/výstup 
  • reakce po dokončení vykonávané instrukce 
  • Programové přerušení – strojová instrukce proveď přerušení 
  • využívá se k ochraně jádra OS 
  • obsluha přerušení může používat privilegované instrukce 
  • lze spustit pouze kód připravený OS

Systémová volání, vlákna, procesy


Program:
  •  je soubor (např. na disku) přesně definovaného formátu obsahující instrukce, data, údaje potřebné k zavedení do paměti a inicializaci procesu 
Proces: 
  • je spuštěný program – objekt jádra operačního systému provádějící výpočet podle programu
  • je charakterizovaný svým paměťovým prostorem a kontextem (prostor v RAM se přiděluje procesům – nikoli programům!) 
  • může vlastnit (kontext obsahuje položky pro) otevřené soubory, I/O zařízení a komunikační kanály, které vedou k jiným procesům, ... 
  • obsahuje jedno či více vláken 
Vlákno:
  •  je sekvence instrukcí vykonávaných procesorem sdílí s ostatními vlákny procesu paměťový prostor a další atributy procesu (soubory, ... ) 
  • má vlastní hodnoty registrů CPU

Proces
= spuštěný program 
Proces je identifikovatelný jednoznačným číslem v každém okamžiku své existence  - PID (Process IDentifier)
 Co tvoří proces: 
  •  Obsahy registrů procesoru (čítač instrukcí, ukazatel zásobníku, příznaky FLAGS, uživatelské registry, FPU registry)
  •  Otevřené soubory