OBSAH // 1 lívod 8 // 1.1 Základní po my... 8 // 1.2 Charakteristika základních typô operačních // systému ...10 // 1.2.1 Univerzálni operační systémy .. ... 10 // 1.2.2 Specializovaná operační systámy ... 13 // 2 Použitá jazyková prostředky ... 22 // 2.1 Základní charakteristika ... 22 // 2.1.1 Volba podmnožiny jazyka Ada ... 22 // 2.1.2 Struktura jednoducháho programu ... ... 22 // 2.1.3 Knihovní jednotky ... 23 // 2.2 Typy ...23 // 2.2.1 Strukturovaná typy ...27 // 2.3 Příkazy...31 // 2.3.1 Jednoduchá příkazy ... 31 // 2.3.2 Složená příkazy...32 // 2.4 Podprogramy...34 // 2.4.1 Procedury a funkce ... 34 // 2.4.2 Parametrizace programu ... 33 // 2.5 Moduly a implementace abstraktních datových // typu ...36 // 2.6 Paralelismus ...38 // ’2.7 Specifikace reprezentací ... 38 // 3 Technická prostředky počítačů ... 41 // 3.1 Úvod ... // 3.2 Středisková počítače ... 41 // 3.3 Minipočítače ...47 // 3.4 Mikropočítače ... 53 // 4 Architektura operačních systámů ... 60 // 4.1 Všeobecná o architektuře ... 60 // 4.2 Jednoduchý mcnouživatelaký operační systám ... 60 // 4.3 Monouživatelský operační systám a paralelním // zpracováním . ... ... .65 // 4.3.1 Triviální paralelismus ... . 65 // 4.3.2 Uživatelem řízená přepínání kontextu ... .70 // 4.3.3 Automatizovaná přepínání kontextu ... 74 // 4.4 Víceuživatelská operační systámy ... 94 // 5 Paralelní procesy ...112 // 5.1 Základní pojmy paralelních
procesu ... ...112 // 5.1.1 Proces ...112 // 5.1.2 Jazyková prostředky pro vyjádření // - 3 - paralel! emu ...>113 // 5.1.3 Časová závislost ...115 // 5.? Obecná otázky synchronizace ... 121 // 5.2.1 Co je synchronizace a jak ji modelujeme ...121 // 5.2.2 Přehled klasických synchronizačních úloh ... 125 // 5.2.3 Uváznutí a stárnutí ...131 // 5.3 Jak synchronizovat ... .133 // 5.3.1 Pasivní čekání ...134 // 5.3.2 Aktivní Čekání ...138 // 5.3.3 Synchronizace kritických sekcí aktivním // čekáním ...141 // 5.3.4 Technická prostředky usnadňující aktivní // čekání ... 146 // 5.3.5 Rozdělení synchronizačních nástrojů ... 14tí // 5.4 Univerzální synchronizační nástroje nižší // úrovně ...149 // 5.4.1 Semafory ... 149 // 5.4.2 Zasílání zpráv ...153 // 5.5 Synchronizační nástroje vyšší úrovně pro // společnou paměŽ ...1 64 // 5.5.1 Monitory ...164 // 5.5.2 Jazyková vyjádření kritických sekcí .. ... ...174 // 5.6 Synchron!začni nástroje vyšší úrovně pro // distribuovaná prostředí 175 // 5.6.1 DP - distribuovaná procesy ... 17b // 5.6.2 CSP - komunikující sekvenční procesy ... 178 // 5.6.3 Souběh - rendezvous - Ada ... .130 // 5.7 fiešení prakticky důležitých případů uváznutí ... 131 // 5.7.1 Uváznutí při přidělování prostředků ... 132 // 5.7.2 Uváznutí při komunikaci procesů pomocí // zasílání zpráv ...136 // 6 Přidělování procesoru, operace s procesy ...137
6.1 Procesor a proces ...187 // 6.2 Příklad realizace modulu jádra souvisejících // se změnami stavu procesů ... 188 // 6.3 Techniky přidělování procesoru ... 138 // 6.3.1 Cílová kritária ...13tí // 6.3.2 Cyklická plánování ... 190 // 6.3.3 Prioritní strategie plánování ... 193 // 6.3.4 Kombinovaná plánovací strategie ... 194 // 7 Přidělování paměti ...195 // 7.1 Funkce operační paměti ...195 // 7.2 Základní principy přidělování paměti ...195 // 7.3 Metody dynamická transformace adres ...197 // 7.3.1 Identická zobrazení ...197 // 7.3.2 Zobrazení pomocí mapovacího registru ... 197 // 7.3.3 Zobrazení pomocí tabulek ... 197 // 7.4 Jediný souvislý úsek ... // - 4 - ft // 7.4.1 Priacip ...19У // 7.4.2 Ochrana paměti ...199 // 7.4.3 Výmena obsahu úseku ... 201 // 7.4.4 Prekrývaní segmentu ... 202 // 7.4.3 Hodnocení ...203 // 7.3 Statickú souvislé úseky ... 203 // 7.3.1 Princip ...203 // 7.3.2 Ochrana pamlti ...206 // 7.3.3 Fragmentace paměti ... 20 7 // 7.3.4 Otázky implementace ...207 // 7.3.3 Hodnocení ...208 // 7.6 Dynamicky tvorené souvislé úseky ... 208 // 7.6.1 Princip... . 208 // 7.6.2 Dynamické preraisíování úseku ... 209 // 7.6.3 Otázky implementace ... 210 // 7.6.4 Hodnocení ...212 // 7.7 Stránkování ...212 // 7.7.1 Princip ...212 // 7.7.2 Dynamická transformace adres při // stránkování ... 213 // 7.7.3 Ochrana paměti ... 213 // 7.7.4 Sdílení adresových prostorů ... 216 // 7.7.5 Techniky
implementace ... 217 // 7.7.6 Hodnocení ...221 // 7.8 Segmentace ...221 // 7.8.1 Princip ...221 // 7.8.2 Dynamická transformace adres při segmentaci ... . 222 // 7.8.3 Sdílení adresových prostorů ... 2 22 // 7.8.4 Hodnocení ...223 // 7.9 Virtualizace paměti stránkováním na žádost ... 223 // 7.9.1 Princip ...223 // 7.9.2 Techniky implementace ... 227 // 7.9.3 Nahrezovací algoritmy ... 229 // 7.9.4 Vliv paralelního zpracování na výběr oběti . ... 233 // 7.9.5 Zamykání stránek ... 234 // 7.9.6 Hodnocení ...235 // 7.10 Virtualizace paměti segmentováním na žádost ... 236 // 7.10.1 Princip ...236 // 7.10.2 Příklady řešení ... 236 // 7.10.3 Dynamické sestavování ... 239 // 7.11 Kombinované virtualizačni techniky ... 239 // 7.11.1 Segmentace logického adresového prostoru ... ... 239 // 7.11.2 Segmentace tabulky stránek... ... 240 // 7.11.3 Kombinace segmentace LAP a tabulky stránek ... 241 // 8 Ovládání periférií ...243 // 8.1 Ovladače ... ... . ...243 // 8.2 Ovladače z hlediska uživatelského vzhledu ... 246 // 8.2.1 Rozdělení ovladačů podle uživatelského // vzhledu ... .246 // - 5 V. 8.2.2 Uživatelsky synchronní ovladač ... 248 // 8.2.3 Uživatelsky asynchronní ovladač ... 249 // 8.3 Ovladače z hlediska implementace ... 251 // 8.3.1 Cekání na dokončení periferní operace ... 251 // 8.3.2 Implementace uživatelsky synchronních // ovladačů ... 253 // 9 Systémy ovládání souboru ... ... 260 // 9.1 Fyzická organizace
dat na V/V médiích ...260 // 9.1.1 Blok ...260 // 9.1.2 Charakteristika periférií ... 260 // 9.1.3 Svazek ...261 // 9.2 Soubor ...261 // 9.2.1 Struktura souboru ... 261 // 9.2.2 Soubory na magnetické pásce ... 262 // 9.2.3 Organizace dat na discích ... 262 // 9.2.4 Typ souboru ... 263 // 9.2.5 Soubor a svazek ...263 // 9.2.6 Záznam a blok ... 263 // 9.2.7 Přístupová práva, ochrana souboru ... 264 // 9.2.8 flídicí blok souboru ...265 // 9.3 Adresáře souboru ... 265 // 9.3.1 Adresář ...265 // 9.3.2 Jednoúrovňové adresáře ... ... 266 // 9.3.3 Dvouúrovňové adresáře ... 268 // 9.3.4 Stromová struktura adresářů ... 269 // 9.3.5 Acyklická struktura adresářů ... 270 // 9.3.6 Cyklická struktura adresářů ... 272 // 9.4 Operace nad soubory ...273 // 9.4.1 Přehled základních operací ... 273 // 9.4.2 Implementace operací GET a PUT ...274 // 9.5 Přístupové metody к záznamům souborů ... 275 // 9.5.1 Klasifikace přístupových metod ... 275 // 9.5.2 Sekvenční přístup ...276 // 9.5.3 Přímý přístup ...277 // 9.5.4 Index-sekvenční přístup ... 278 // 9.5.5 Virtuální přístupové metody ...279 // 9.6 Přidělování prostoru souborům na diskových // pamětech ... 279 // 9.6.1 tfvod do problému ...279 // 9.6.2 Správa volné paměti ... 280 // 9.6.3 Přidělování souvislých oblastí ... 280 // 9.6.4 Přidělování nesouvislých oblastí ... 282 // 10 jádro operačního systému ... ... 267 // 10.1 Základní funkce jádra
... 287 // 10.2 Přidělování procesoru, operace se semafory ... 290 // 10.3 Přidělování paměti ... 294 // 10.4 Operace pro výměnu zpráv ...297 // 10.5 Vytváření a rušení procesu ... // - 6 - 10.6 Ovládaní periférií // 301 // 11 flídicí jazyky ... ... ... 303 // 11.1 Charakteristika řídicího jazyka ... . 303 // 11.2 Ridici jazyk operačního systému OS/SC ... ... 306 // 11.3 Ridici jazyk operačního eyetému Unix ... ..310 // 11.3.1 Charakter operačního systému Unix ...310 // 11.3.2 Systém ovládaní souboru v operačním // systému Unix ... ...311 // 11.3.3 Prístupová práva ... . 313 // 11.3.4 Vytvorení relace uživatel - systém ... ... 314 // 11.3.3 Struktura příkazu řídicího jazyka ... 313 // 11.3.6 Operace se soubory dat na úrovni řídicího // jazyka shell ... ...317 // 11.3.7 Režimy zpracování přikazfi, sekvence // příkazu ... 319 // 11.3.3 Složené příkazy řídicího jazyka shell ... 322 // 11.3.9 Ostatní konstrukce řídicího jazyka shell ... 323 // 11.3.10 Standardní proměnné řídicího jazyka shell ... 324 // 11.3.11 Uživatelem definované proměnné řídicího // jazyka shell ... 323 // 11.3.12 Systémové programy vytvářející uživatelské // rozhraní ...326 // 11.3.13 Vytváření a rušení procesů interpretem // řídicího jazyka shell ... 327 // 11.4 Grafické řídicí jazyky ... 328 // 11.4.1 Uživatelé grafických řídicích jazyků ... ... 328 // 11.4.2 Grafický řídicí jazyk G£M ...
328 // 11.4.3 Uživatelské rozhraní vytvářené interpretem // řídicího jazyka GSM ... .329 // LITERATURA ...333 // PfilLOHY // A Volání jádra operačního systému Cř/M ... 339 // В Volání jádra operačního systému MS-DOS .. ... 348 // С Volání jádra operačního systému Unix ... . 368 // - 7