2. Procesy

Požadavek na spuštení pěti dávkových úloh A až E přijde téměř ve stejný okamžik.
Odhad na jejich dobu výpočtu je 10, 6, 2, 4 a 8 minut. Jejich statická
priorita je 3, 5, 2, 1 a 4 (nejvyšší priorita je 5). Pro každou úlohu určete
dobu odezvy (turnaround time) pokud použijete
a) Round robin alg. ve více úlohovém systému 
b) Round robin alg. v jednoúlohovém systému (příchod úloh je A,B,C,D,E)
c) Prioritní plánování v jednoúlohovém systému
d) SJF v jednoúlohovém systému.    
Zanedbejte režii na přepínání kontextu.

Předpokládejte, že v daném okamžiku je v systému přihlášeno n uživatelů.
Pro každého uživatele si systém udržuje informace: celkovou dobu přihlášení Tp, 
celkovou dobu užívání CPU Tu. Navrhněte plánovací prioritní alg., 
který garantuje každému uživateli 1/n času CPU.   

4. Správa paměti

Systém  umožnuje spustit 20 procesů v hlavní paměti.
Tyto procesy stráví čekáním na V/V 80% času. Jaké je využití CPU?  

Systém přiděluje procesům bloky paměti proměnné velikosti.
Předpokládejme, že hlavní pamět má 2MB, OS i každý uživatelský proces
vyžaduje 512KB paměti, a každý proces straví čekáním na V/V 60% času.
Jak se změní využití CPU když přidáme další 2MB paměti?
   
Systém přiděluje procesům bloky paměti proměnné velikosti.
V paměti jsou různě veliké díry v tomto pořadí: 10KB, 4KB, 20KB, 18KB, 7KB, 9KB, 12KB a 15KB.  
Kterou díru přidělí algoritmus "first fit" procesu požadujícímu 18KB.

OS používá pro správu paměti "buddy systém". Na začátku obsahuje 1 díru 
velikosti 256KB na adese 0. Předpokládejme, že požadavky na pamět byly 
v tomto pořadí: 5KB, 25KB, 35KB a 20KB. Kolik děr systém obsahuje, jaká je jejich 
velikost a počáteční adresa v paměti?  

Předpokládejme, že instrukce trvá 1 mikrosekundu a výpadek stranky n mikrosekund.
Jaká je průměrná doba instrukce, když k výpadku stránky dojde při každé k té instrukci? 

Počítač má 32 bitovou adr. sběrnici a 8KB vir. stranky. Tabulka stránek je celá 
uložená v HW a jedna její položka zabírá 32 bitové slovo. Když je procesu přiřazeno CPU 
tabulka stránek se kopíruje z paměti do HW (jedno slovo za 100ns). Když proces má 
přiděleno CPU po 100ms (včetně nahrání tabulky stránek). Jaká část času CPU je 
spotřebována na hrání tabulky stránek?

32 bitový počítač používá dvoúrovňovou tabulku stránek. Virtuální adresa se skládá
z ukazatele do tabulky 1. úrovně (9 bitů), ukazatele do tabulky 2. úrovně (11 bitů)
a offsetu. Jak je veliká stránka a kolik stránek je ve virtuálním adr. prosroru?

Počítač má 48 bitovou virtuální adresu a 32 bitovou fyz. adresu, velikost stránek je 8KB.
Kolik položek ma tabulka stránek? Kolik položek by měla invertovnaná tabulka stránek?
 
Počítač má 4 rámce stránek. Vir. stránky mají čas nahrání N, 
čas posledního přístupu P, referenced bit R a modified bit M následující:
stránka  N    P    R M
0        126  279  0 0 
1        230  260  1 0
2        120  272  1 1
3        160  280  1 1
Která stranka bude nahrazena algoritmem FIFO, LRU, Clock, NRU?

Počítač má 4 rámce stránek a proces používá 8 vir. stránek.
Na počatku je pamět prázdná a proces přistupuje ke stránkám 
v tomto pořadí: 0172327103. Kolikrát dojde k výpadku stránky,
když použijeme algoritmus optimální alg., FIFO, LRU? 

5. Systém souborů

Informaci o volném dikovém prostoru si mužeme udržovat pomocí
zřetězeného seznamu nebo pomocí bitové mapy. 
Adresa diskového bloku má D bitů. Disk s B bloky má F bloků volných.
Jaká musí platit podmínka, aby zřetězený seznam zabíral méně paměti než 
bitová mapa?

Uvažujme Unixový systém souborů, kde soubor je reprezentován inodem. 
Inode obsahuje 12 přímých blokových ukazatelů a po jednom jednonásobném, 
dvojnásobném a trojnásobném nepřímém blokovém ukazateli. Předpokládejme,
že velikost bloku i sektoru je 8KB a ukazatel na diskový blok má 32 bitů,
kde 8 bitů identifikuje fyzický disk a 24 bitů identifikuje fyzický blok.   
a) Jaká je maximální velikost souboru v tomto systému?
b) Jaká je maximální velikost diskové oblasti (disku) v tomto systému?
c) Předpokládejme, že v paměti je pouze inode daného souboru,
   kolik diskových přístupů musíme udělat, abychom přečetli byte na 
   pozici 13 423 956?