3. Počítačové systémy 3.1. Spolupráce s počítačem a řešení úloh 1. přímý přístup uživatele - neekonomické. Interakce při odlaďování programů (spusť., zastav.,krok, diagnostika) 2. dávkové zpracování (batch proc.) - shromažďování programů podle typu (ASM, PSC,..) a řešení stejných. a. vznik operačního systému - spouští dávky a obstarává styk s uživatelem (operátorem) b. vznik ladících programů - diagnostika chyb + výpisy 3. Fronty (job proc.) - požadavky se řadí do front, výběr požadavků z fronty se řídí: pořadím příchodu, důležitostí, nejdříve kratší progr. aj. Uživatel nemá přístup. 4. Sdílení času (time sharing) - požadavky řazené do front, operační systém přiřazuje podle kriteria důležitosti každému programu urč. čas. interval (dynamické přidělování). Při nedořešení zpět do fronty. Programy mohou běžet v interaktivním režimu. Musí se zajistit ochrana paměti uživatelů i oper. syst. Složitý operační systém. 84
3.2. Programové prostředky počítače Soubor základního programového vybavení: 1. absolutní zavaděč - (Loader) - základní styk s operátorem 2. programy pro obsluhu periferií (BIOS) - zákl. periferie většinou v ROM 3. Překladače - buď v ROM nebo ve vnější pam.- přesun do OP 4. Sestavovací program (Linker) - sestavení přeložených programů s knihovnou standardních podprogramů - vzniká relativní modul 5. Umístovací program (Loader) - přesné umístění v paměti pro spuštění - vzniká absolutní modul. Linker a loader bývají spojené. 6. Řídící program (SUPERVISOR - OS) - styk s operátorem, řízení periferií, zpracovává požadavky uživatelů - je to privilegovaný režim. Uživatelské programy jsou řešeny v uživatelském režimu. Paměť chráněna ochranou. OS - Řídící program může být realizován pro: 1. Monoprogramní režim - řešení uživ. programů v dávkách nebo jako fronty - vždy je řešen jeden program. 2. Multiprogramování - zpracovává se více programů proloženě a. spooling - simultánní činnost periferií, prostředníkem je disk b. sdílení času - supervizor uloží rozprac. program, data nahraje do OP nový - zmenšení výkonu. 85
3.3. Technické a organizační prostředky počítače 3.3.1. Technické prostředky Přerušení - automatická reakce techn. prostředků na asynchronní událost mimo i uvnitř procesoru - žádost o přerušení Příjem přerušení - přechod na obslužný program - obsluha přerušení. Příčiny přerušení: 1. chyba v programu (přetečení, dělení 0, chybný oper. znak, privilegovaná instr., porušení ochrany paměti, I/O operace, TRAP, soft INT aj.) 2. vnější příčiny (reál. čas z časovače, oper. panel, komunikační linky aj.) 3. přerušení z I/O (ukončení I/O operace nebo chyba) 4. technické (kontrolní obvody systému - napájení, chyba procesoru nebo paměti, chyba perifer.) Přerušovací systém - technické i programové vybavení počítače obsluhující žádosti o přerušení. Zajišťuje jednotlivé fáze průběhu přerušení. Uvažují se: (lze programově měnit) masky přerušení - udávají pro každý z požadavků, jestli se má daný požadavek uvažovat nebo ne (povolení/zákaz obsluhy) priority přerušení - udávají závažnost jednotlivých požadavků. Požadavek s vyšší prioritou může přerušit obsluhu s nižší prior. EI/DI - celková maska přerušení - zákaz/povolení všech - lze programově měnit 86
Technické prostředky přerušovacího systému Zajišťuje řadič přerušení Průběh: záznam přerušení, porovnání s maskou, výběr požadavku s největší prioritou, porovnání s úrovní (prioritou) programu, porovnání s obsahem KO EI/DI, pokud vše povoluje příjem, přerušuje řadič na konci instrukce běžný program. O průběhu přípravy na obslužný program se ukládá stavový blok programu - PC, STAV, registry (někdy jen soft.). Zahájením obsluhy se nuluje požadavek a provádí se zákaz dalšího přerušení. Povolení EI buď po 1 inst. v obsluze přerušení nebo programově. 87
Programové prostředky přerušovacího systému Přijmutý požadavek způsobí přechod na obslužný program. Přípravu před obsuhou INT může provádět řadič přerušení (hard) nebo vše soft. INT PROGRAM OBSLUHA INT Nutné akce: 1. detekovat zdroj INT 2. uchovat stav procesu 3. předat řízení PRG obsluhy 4. zabezpečit návrat Obsluha přerušení: 88
Způsob obsluhy požadavku 1. Všechny úrovně (požadavek) mají jedinou počáteční adresu, základní stav procesu (PC, PSW) se ukládá do zásobníku, - vše ostatní soft. - pooling (vyhledání) 2. Každá úroveň má pevnou poč. adresu obsluhy, základní stav procesu (PC, PSW) se ukládá do zásobníku, v rámci obsluhy se vyhledává zdroj INT - modifikuje adresu obsluhy - nevektorové 3. vektorové přerušení - zdroj přerušení vysílá typ (čísla - implic. adresu) nebo adresu vektoru přerušení, který se zavádí do PC a PSW. Základní stav programu do zásobníku. U různých systémů různé způsoby obsluhy. Typy přerušení: RESET - základní nulování a nastavení NMI - nemaskované přerušení INT - maskované přerušení - vektorové - nevektorové (pevná adr.) TRAP - synchronní přerušení (krokový režim) - na konci každé instrukce Obvody reálného času a hlídací obvody generátor RT času - údaj o reálném (astronomickém) čase časovač - vytvářet periodický časový signál (časový INT) hlídací obvody - hlídání softwarových a hardwarových výpadků systému včetně výpadku zdroje (watchdog, power fail) 89
CTRL RT ČAS ADR DATA ČASOVAČ INT INT sběr HLÍD. OBVODY NMI soft RESET Hlídací obvod MAX 690A 3.3.2. Organizační prostředky Přidělování a ochrana paměti V operační paměti jsou uloženy: supervizor (OS), aktivní programy, syst. tabulky, standardní podprogramy. Počátek paměti vyhrazen pro systémové prostředky. Od první volné adresy lze zbytek OP přidělovat uživatelům staticky/dynamicky. 90
1. Pevné přidělení paměti: každý uživatelský program má vyhraženu pevnou oblast OP. Jednoduché, ale část pam. nemusí být využita. 2. Dynamické přidělování paměti: - přiděluje prostor podle okamžité potřeby programu - tři způsoby (pro relativní moduly). a. Bázové registry - každý program má svoji bázovou adresu. Bázová adresa je v tabulce supervizoru. nevýhoda - spojitý blok paměti INSTRUKCE B Ar TAB Ab Ar Ab Σ ABS.ADR. b. Stránková organizace - v tab. má program vymezeny stránky, v instr. je číslo virtuální stránky a adresa uvnitř stránky. Převod na fyzickou adr. se provádí přes tabulku. INSTRUKCE virt.str. A TAB As A As As A ABS.ADR. Pro hledání se používá asociativní přístup. 91
c. segmentová organizace - v instrukci 3 pole: číslo segmentu, číslo stránky, adresa uvnitř stránky. pro složité programy INSTRUKCE Č. SEG Č. STR A TAB.SEG poč.adr TAB.STR Σ TAB.STR A fyz.adr. STR At As Σ ABS.ADR. Ochrana paměti: zabezpečuje informaci v paměti proti náhodnému přepsání. Charakter paměťových oblastí: 1. nepřístupné - systémové programy, řídící progr. 2. plně přístupné - i pro uživatele 3. s povoleným čtením - překladače, ladící programy Způsob ochrany: Kontrola adres v MMU - zajišťuje dělení paměti na systémovou a uživatelskou část. 1. ochrana mezními registry 2. příznakové bity buněk programu 3. ochrana zámek/klíč stránka obsahuje zámek program " klíč - > komparace 92