- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Zjednodušená ukázka:
Stáhnout celý tento materiálOtázky do předmětu PB152 – Operační systémy
Neoficiální materiál vypracovaný na základě otázek, které jsem našel na fimuni.org a nějakých navíc z minulých písemek. Nebijte mě za chyby a nedostatky (pravopisné i odborné), radši je opravte a doplňte a pošlete mi prosím výsledek na mail ().
1) Vyjádřete instrukční cyklus procesoru s přerušením a vysvětlete kroky obsluhy přerušení podporované mikroprogramy procesoru.
Reference: 02 - Hardwarová podpora OS, str.5-12, skripta str. 9,10
2) Vysvětlete konceptuální rozdíl mezi architekturou OS s jádrem a s mikrojádrem.
OS s jádrem:
procesy - jen uživatelské programy,
OS je prováděn jako samostatná entita v privilegovaném režimu,
služba se provádí jako součást jádra nebo v rámci procesů,
program a data OS jsou ve sdíleném adresovém prostoru a sdílí je všechny uživatelské procesy
složité testování, opravy…
OS s mikrojádrem:
OS je kolekcí systémových procesů
malé jádro OS plnící pouze několik málo nezbytných funkcí
minimum funkcí je potřeba dělat v privilegovaném režimu
služby jsou dostupné přes výměnu zpráv
primitivní správa paměti (adresový prostor)
většina funkcí z jádra se přesouvá do „uživatelské“ oblasti (drivery, služby systému souborů, virtualizace paměti…)
jednodušší přenositelnost, opravy, rozšiřování,…
podpora distribuovanosti a OOP
zvýšená (přijatelně) režie díky tomu, že volání služeb je nahrazeno výměnou zpráv mezi procesy
Reference: 04 - Zásady a principy výstavby OS, str.8-12, skripta str. 21,22
3) Ilustrujte a vysvětlete princip přepínání kontextu procesu.
vyžádá se služba, akceptuje se některé asynchronní přesušení, obslouží se a nové se vybere jako běžící proces
když OS přepojuje CPU z jednoho procesu na jiný proces musí:
nejprve uchovat (uložit v program control blocku PCBi) stav původně běžícího procesu i
zavést stav nově běžícího procesu j (z PCBj)
přepnutí kontextu představuje režijní ztrátu – během přepnutí systém nedělá nic efektivního
efektivita závisí na rozsahu podpory hardwaru – minimem je uložení PC (program counter) do vektoru přerušení a jeho opětovného zavedení zé vstupního bodu vektoru přerušení
Reference: 05 - Procesy, str.16, skripta str. 28
4) Vysvětlete rozdíl mezi pojmy program, proces a vlákno.
program – soubor přesně definovaného formátu obsahující instrukce, data a služební údaje potřebné k provedení daného úkolu
proces – systémový objekt charakterizovaný svým paměťovým prostorem a kontextem (paměť je přidělována procesům ne programům)
vlákno – „podproces“ procesu (také sled či thread) – systémový objekt, vzniká v rámci procesu, je viditelný jen uvnitř něj, sdílí jeho prostředky společně s ostatními vlákny daného procesu
Reference: 06 - Vlákna, str.2,3, skripta str. 30
5) Charakterizujte vlastnosti cyklického plánování a uveďte důsledky zkracování a prodlužování časových dílu přidělovaných procesům.
Round Robin
každý proces dostává CPU na malou jednotku času – časové kvantum, po uplynutí této doby je běžící proces předběhnut nejstarším procesem ve frontě připravených procesů a zařazuje se na konec této fronty
je-li ve frontě n připravených procesů a časové kvantum je q, pak každý proces získává 1/n-tinu doby CPU, najednou nejvýše po q časových jednotkách.
žádný proces nečeká na přidělení CPU déle než (n–1)q časových jednotek
Výkonnostní hodnocení
q velké → podobné jako FIFO (dlouhá doba čekání)
q malé → nevýhodné kvůli režii přepínání kontextu
Reference: 07 – Plánování činnosti procesoru, str.17, skripta str. 39
6) Vyjádřete a vysvětlete Petersonův algoritmus řešení problému kritické sekce a uveďte, zda splňuje či nesplňuje základní podmínky správného řešení problému kritické sekce.
Proces Pi
do {
flag[i] = true;
turn = j;
while (flag[j] and turn == j) ;
…kritická sekce…
flag[i] = false;
…zbytek…
} while (1);
Proces „jede“ až ke KS nainicializuje se (flag [i] = true; turn = j) a pokud je flag[j]==true a zároveň turn==j tak cyklí, dokud se jedna z těchto hodnot nezmění („busy waiting“), poté provede kritickou sekci. Po jejím skončení se provede přiřazení flag[i]=false, které ostatním procesům oznámí, že proces Pi už provedl KS.
Petersonův algoritmus splňuje všechny tři podmínky (podm. vzájemného vyloučení, podm. trvalosti postupu, podm. konečnosti doby čekání) správnosti řešení problému kritické sekce.
Reference: 08 – Synchronizace procesů, str.10, skripta str. 42
7) Jak se liší počáteční nastavení semaforu při použití semaforu jako synchronizátoru běhu procesu a při použití jako nástroje řešícího problém kritické sekce.
procedure wait(var s:integer);
begin
while s žádný další proces nemůže začít s KS
po skončení provádění KS procesem Pi se
Vloženo: 28.05.2009
Velikost: 705,31 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Copyright 2024 unium.cz