otazky2 - 4

* musí se dodržet při používání opakovaně dostupných zdrojů

* ne postupná alokace

* musí se zaručit, aby proces žádající nějaký zdroj žádný
jiný zdroj nevlastnil

* proces musí požádat o zdroje a obdržet je dříve než se
spustí jeho běh nebo o ně smí žádat pouze tehdy, když
žádné zdroje nevlastní

* důsledek: nízká efektivita využití zdrojů, možnost
stárnutí

* ne předbíhání

* jestliže proces držící nějaké zdroje a požaduje přidělení
dalsího zdroje, která mu nelze přidělit okamžitě, pak se
uvolní vsechny, tímto procesem držené zdroje v tomto okamžiku

* "odebrané" zdroje se zapísí do seznamu zdrojů, na které proces
čeká

* proces bude obnoven pouze když může získat jak jím původně
držené zdroje, tak jím požadované zdroje

* ne zacyklení pořadí

* zavede se úplné uspořádání typů zdrojů a každý proces
požaduje prostředky v pořadí daném vzrůstajícím pořadí
vyčtu

Reference: 09 - Uváznutí, str.16,17, skripta str. 49,50

18) Vysvětlete princip zobrazování logické adresy na fyzickou adresu
tabulkovou metodou na bázi stránkovaného segmentování.

* STBR - registr s odkazem na umístění ST (Segment Table) v paměti

* Toto se skládá ze dvou částí. Jedna je popsána v otázce č. 27
(Vysvětlete princip zobrazování logické adresy na fyzickou adresu
tabulkovou metodou na bázi segmentování) a druha je vysvětlena
v otázce č. 9 (Vysvětlete princip zobrazování logické adresy na
fyzickou adresu tabulkovou metodou na bázi stránkování). Prostě
každý segment je jestě rozdělen na stránky, tj. každý segment
má svou vlastní page table.

Reference: 10 - Správa paměti, str.34, skripta str. 60

19) Charakterizujte privilegovaný a uživatelský režim činnosti
procesu a zdůvodněte používaní dvou režimů.

* uživatelský režim - připoustí se provádění omezeného
repertoáru instrukcí (např. ne I/O instrukce)

* privilegovaný režim - připoustí se provádění plného
repertoáru instrukcí

* důvod: sdílení systémových zdrojů požaduje, aby OS měl
záruku, že nesprávný program negativně neovlivní běh ostatních
programů. Z pravomoci (a odpovědnosti) uživatelských programů se
vyjímají např. I/O operace, operace ovlivňující stav
systémových zdrojů (registry ochrany, ...)

Reference: 02 - Hardwarová podpora OS, str.20,21, skripta str. 12

20) Nakreslete stavový diagram procesu s odkládáním procesu a
stručně charakterizujte jednotlivé stavy a přechody mezi stavy.

Stavy:

* odložený čekající

* odložený připravený

* dalsí stavy popsány v otázce č. 11

* odložené stavy vznikají, když je RAM plná a OS si potřebuje
některé procesy "odswapnout" na disk

Přechody mezi stavy:

* čekající → odložený čekající - vsechny procesy jsou
čekající a OS dělá prostor pro přidělení běžícímu procesu

* odložený čekající → odložený připravený - stala se nějaká
očekávaná událost

* odložený připravený → připravený - fronta připravených se
vyprázdnila (skoro)

* připravený → odložený připravený - (nepravděpod.) nejsou
čekající procesy a je potřeba uvolnit RAM

* o tom které procesy se stanou odloženými a které odložené se
stanou připravenými rozhoduje střednědobý plánovač

Reference: 05 - Hardwarová podpora, str.14,15, skripta str. 28

21) Zdůvodněte používání odkládání (swapping) procesu.

* každý proces se alespoň jednou musí dostat do RAM, ta ale není
dost velká, i když se použije virtualizace paměti, přílis mnoho
procesů v RAM snižuje výkonnost

* odložené stavy vznikají, když je RAM plná a OS si potřebuje
některé procesy "odswapnout" na disk

Reference: 05 - Procesy, str.12, skripta str. 27

22) Vysvětlete heuristiku odhadování časových dílů přidělovaných
plánovačem procesu na bázi exponenciálního průměrkování.

* délku přístí dávky CPU procesu lze pouze odhadnout, to se učiní
na základě znalosti historie

* musí se znát délky předchozích dávek CPU

* použije se exponenciální průměrování: τ[n+1] = α t[n] +(1-
α) τ[n

]* Kde: τ[n+1] - odhadnutá hodnota přístí dávky CPU

* t[n] - skutečná délka n-té dávky CPU

* α, 0 ≤ α ≤ 1 - když α=0 tak se historie ignoruje; když
α=1 tak τ[n+1]=t[n

]* když formuli rozvineme dostáváme τ[n+1] = α t[n] +(1- α) α
τ[n-1]+(1- α)^2 α τ[n-2]+(1- α)^3 α τ[n-3]+...

* míra ovlivnění odhadu dávkou n-x klesá exponenciálně s x

Reference: 05 - Plánování činnosti procesoru, str.14,15, skripta str.
38

23) Vysvětlete princip řesení problému kritické sekce pomocí
instrukce typu SWAP.

+------------------------------------------------------------------------+
| | Proces P[i]: |
| | |
| Instrukce swap atomicky vymění obsah dvou | do { |
| proměnných: | |
| | key = true; |
| void Swap (boolean &a, boolean &b){ | |
| | while (key == true) |
| boolean temp = a; | |
| | Swap(lock,key); |
| a = b; | |

Ještě nehodnoceno. Buďte první :-)

(c)2011 Edgehunt Corporation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .