- (6b) Uveď te, proč je operace přepisu dat na SSD problematická a to i v případě, když neuvažujeme omezení na počet přepisů jednotlivých stránek SSD. Dále uveďte tři způsoby, které používá SSD k minimalizaci dopadu evedeného problému. (limity: cca 4 věty či souvětí)
- (7b) Jaký je maximální počet výpadků stránek v systému se stránkami o velikosti L KiB (L >= 2). N-úrovňovou tabulkou stránek (N >= 2), u které pouze dílčí tabulka nejvyšší úrovně je chráněná proti výpadku, při provádění předem nenačtené instrukce o délce 64 bitů, která posouvá v paměti RAM o jednu stránku blok o velikosti M bajtů. Uvedený posun lze chápat jako čtení a následný zápis na adresu vyšší o jednu stránku (neboli o právě L KiB). Předpokládejte M >= 2, ale M je současně menší než polovina počtu položek v každé z dílčích tabulek stránek. Odvozený vztah zdůvodněte. (limity: 1 vztah a cca 7 rozvitých vět [vztah bez zdůvodnení: 8b])
- (7b) Uvažujme hypotetickou výpočetní architekturu se šířkou slova 256 bitů, která používa stránkovaný přístup do paměti. Předpokládejme, že stránky mají velikost 232 bajtů. Předpokládejme dále, že daná architektura používá hierarchickou tabulku stránek, ve které dílčí tabulky stránek různých úrovní (tj. včetně adresářů stránek, adresářů adresářů stránek atd.) mají velikost vždy právě jedné stránky v paměti a jejich položky (tj. jednotlivé řádky) mají velikost 256 bitů (pozor: bitů, ne bajtů!). Kolika úrovňovou tabulku stránek může systém používat, vyžadujeme-li to, že stránky paměti jsou plně využitelné, v tabulkách stránek nejsou žádné nevyužitelné řádky, a připustíme-li, že nanejvýše horních 16 bitů adresy není použito pro adresování (podobně jako u adresování na 64-bitových architekturách Intel či AMD). Zdůvodněte. (limity: 1 čislo [samo o sobě: 0b]a cca 5 rozvitých vět).
- (12b) Nadeklarujte strukturu reprezentující semafor, rozšířenou o položku
locked
typu vhodného pro synchonizaci s využitím atomické instrukce typuswap
. V pseudokódu zapište konceptuální implementaci opreracelock
nad semafory, patřičně upravenou a rozšířenou o využití synchronizace typu spinlock založené na instrukci typuswap
nad položkoulocked
pro zajištění potřebné atomicity operacelock
. (limity: 1 deklarace a 1 úsek preudokódu [popis volným textem je za 0 bodů])
- (13b) Jak funguje nepreemtipvní plánování? Jak funguje plánování preemptivní? Popište princip plánování FCFS, round-robin, obecný princip víceúrovňového plánování, princi více-úrovňového plánování se zpětnou vazbou (základní variante i její věžně užívaná varianta, včetně její motivace).
- (15b) Definujte pojem uváznutí (deadlock) při práci se sdílenými zdroji a uveďte 4 nutné (tzv. Coffmanovy podmínky) jeho vzniku. Uveďte základní princip prevence uváznutí a popište co nejdetailněji různé přístupy, které se k tomuto účelu používají. Uveďte základní princip vyhýbání se uváznutí a zvláštní pozornost pak věnujte pečlivému popisu grafu alokace zdrojů a jeho použití pro vyhýbání se uváznutí. Jaký další klasický mechanismus řešení problému uváznutí se používá (neuvažujeme-li využití verifikace k ověření, že uváznutí nemůže nastat)M Stručně charakterizujte.