Zos – zadání 2



Yüklə 25,93 Kb.
tarix08.04.2018
ölçüsü25,93 Kb.
#36599

ZOS – zadání 2. zápočtovky z minulých let

1)

mate díry v paměti v pořadí a velikosti



100, 500, 200, 300, 600 K
umístěte programy v následujícím pořadí o velikosti

212, 465, 112, 235 (tyhle čísla jsem si vymyslel)


umístit programy do paměti a) metodou best fit

b) first fit


2) převod VA na FA podle

{segment, báze, limit, platnost-> 3 adresy, určit logickou adresu.}

3) co je Page Fault (výpadek stránky)

{Baladyho anomálie}

4) vysvětlete pojmy diskových operaci

open/create, read, write, lseek, close

getcvd

5) mate na disku soubor o velikosti 100 bloku



kolik diskových operací vám zabere vložení 1 bloku doprostřed souboru

a) pro alokaci pres jednosměrný spojový seznam

b) kontinuální alokace (už si přesně nepamatuju ten výraz)

1.

S využitím operací P a V nad semaforem ošetřete následující úsek kódu tak, aby při zachování maximálního paralelismu nenastal časový souběh
Program par;

Const n=50;

Var tally: integer;
Procedure total;

Var count: integer;

Begin

For count :=1 to n do tally:=tally+1



End;
Begin (* hlavni program *)

Tally:=0;

Cobegin total || total coend;

Write(tally)

End.
[2 body]
2.

Synchronizacni primitivum „citac udalosti“ lze popsat jako celociselnou promennou, nad kterou jsou definovany


Dve operace ADVANCE a AWAIT s nasledujicim vyznamem:
Advance(E): atomicky zvysi hodnotu citace udalosti E o 1,

Await(E,v): je-li E=v.


Implementujte citac udalosti pomoci monitoruuu. [3 body]

(Poznamka: Implementaci napiste napr. V syntaxi BACI.)


3.

Predpokladejte nasledujici reseni problemu vecericich filosofu. Hladovy filosof nejprve zvedne levou vidlicku. Pokud je dostupna prava vidlicka, zvedne ji a zacne jist, jinak polozi levou vidlicku a opakuje algoritmus od zacatku.

  1. Muze nastat uviznuti?

  2. Muze nastat vyhladoveni?

Sve odpovedi zduvodnete!

[2 body]
4. Vysvětlete rozdíl mezi aktivním čekáním a blokováním procesu. Které z nich bude efektivnější z hlediska využití času procesoru, je-li čekání dlouhé? [1 bod]


5. Do dávkového operačního systému je přibližně ve stejnou dobu zadáno pět úloh A až E (v tomto pořadí). Jejich očekávaná doba běhu je 10, 6, 2, 4 a 8 minut. Pro každý z následujících plánovacích algoritmů určete průměrnou dobu obrátky.


  1. FCFS.

  2. B)SJF(nejkratší úloha první)

[2 body]

( Poznamka : Vyrazi nemusite zjednodusovat.)

1.

Mejme dva procesy – proces čtečka_řádků čte ze souboru jednotlivé řádky textu a proces tisk_na_tiskárnu je vytiskne na tiskárnu. Řádky jsou předávány pomocí pole buffer. Ošetřete následující kód pomocí semaforů tak, aby předávání dat proběhlo správně.
Program p;
Var buffer: array [0..N-1] of line;
Process ctecka_radku;

Var radek: line;

Begin

While true do



Begin

Precti radek ze souboru;

Vloz radek do pole buffer

End


End;
Process tisk_na_tiskarnu;

Var radek:line;

Begin

While true do



Begin

Prevezmi radek z pole buffer;

Vytiskni radek na tiskarnu

End


End;
[2 body]
2.

Binarni semafor lze popsat jako promennou, ktera muze nabyvat pouze hodnot 0 a 1.

Nad binarnimi semafory jsou definovany dve operace, Pb a Vb s nasledujicim vyznamem:


Pb (s): je-li s=0, operace Pb se zablokuje, jinak S:=0

Vb (s): je-li nad s jeden nebo vice zablokovanych procesu, vzbudi jeden proces, jinak s:=1


Implementujte binarni semafor pomoci monitoru. [3 body]

(Poznamka: Implementaci napiste napr. V syntaxi BACI.)


3. Předpokládejte následující řešení problému večeřících filosofů. Hladový filosof nejprve čeká, dokud není dostupná levá vidlička, levou vidličku zvedne a totéž provede pro pravou vidličku. Má-li obě vidličky, začne jíst, po dojedení visličky položí a opakuje algoritmus od začátku.


  1. Může nastat uvíznutí?

  2. Může nastat vyhladovění?

Své odpovědi zdůvodněte.

[2 body]
4. Vysvětlete tozdíl mezi preemptivním a nepreemptivním plánováním procesů. Které z nich používají moderní víceuživatelské systémy (Windows XP, Linux)? [1 bod]
5. Do dávkového operačního systému je přibližně ve stejnou dobu zadáno pět úloh A až E(v tomto pořadí). Jejich očekávaná doba běhu je 10, 6, 2, 4 a 8 minut. Jejich externě určené priority jsou 3, 5, 2, 1, a 4,kde 5 je nejvyšší priorita. Pro každý z následujících plánovacích algoritmů určete průměrnou dobu obrátky.


  1. Prioritní plánování.

  2. SJF(nejkratší úloha první)

[2 body]

(znamka: Vyrazy nemusite zjednodusovat.)

1) Casovy soubeh

-> jeden proces spousteny konkurente 2x jako dva souperici procesy

(inkrementuji stejnou promennou)

-> je dan kod bez osetreni soubehu a ukolem je doplnit semafory (vcetne

inicializace)
2) Dana funkce TSL v BACI (atomic function tsl(var x: boolean): boolean)

-> ukolem je s jeji pomoci v BACI (nebo jinem pseudokodu) napsat spin_lock a

spin_unlock
3) Vysvetlit rozdil mezi blokujicim (synchronnim) a neblokujicim (asynchronnim)

SENDem
4) Vysvetlit, proc je nevyhodne mit pri planovani metodou RR (Round Robin -

cyklicke planovani) mit prilis dlouhou dobu casoveho kvanta
5) Problem vecericich filosofu

-> mame-li algoritmus, ze kazdy z nich zvedne levou vidlicku (je-li volna) a

pak zkuasi totez udelat s pravou. Pokud se to nepodari, polozi levou zpet a za

chvili zkuasi znovu.

-> otazka: Muze nastat v teto situaci a) uviznuti b) vyhladoveni

1)pomoci monitoru (semaforu) udělat bezpečné přičítání


program race;
var x: integer := 0;
procedure a;

var i: integer;

begin

for i:=1 to 50 do



x:=x+1;

end;
begin

cobegin

a; a


coend;

writeln('x=', x)

end.
2) momoci semaforu osetrit problem producen konzument pro buffer o velikosti 1
program ProducentKonzument;

var buffer: char; { vyrovnavaci pamet }


procedure Producent;

var konec:bool;

begin

repeat


bufer := NACTI(); // vypise na obrazovku

konec := JePosledi(buffer); // zjisti zda skoncit

until konec
end;
procedure Konzument;

var konec:bool;

begin

repeat


write (buffer,', '); // vypise na obrazovku

konec := JePosledi(buffer); // zjisti zda skoncit

until konec
end;

begin


cobegin

Producent; Konzument

coend;

writeln


end.
3) rozdil mezi blokujicim a neblokujicim receive

4) proc je u RR (cyklicky ???) nevhodne kratke casove kvantum

5) filozove. Ceka na levou vidlicku, kdyz muze tak ji zvedne a ceka na pravou.

Pak ji.


a) muze dojit k uviznuti

b) muze dojik k vyhladoveni

odpoved zdůvodněte

1. Zapsat co "nejparalelneji" vypocet vyrazu ((a+b)*(c+d)-(e/f))*h pomoci cobegin a coend

2. Implementace semaforu pomoci zprav

3. Monitory

4. PCB - co to je, kdy vznika a jake polozky obsahuje

5. Casovy soubeh - co to je, uvest priklad vzniku

6. Rozdil mezi aktivnim a pasivnim cekanim

7. Zadana tabulka s nasledujicimi udaji: cas zavadeni stranky, cas posledniho pristupu ke strance a

bity R a M. Dale bylo zadano v jakem poradi se bude dale ke strankam pristupovat.

a) NRU


b) LRU

c) MIN


8. Napsat preved VA -> FA

9. Z jakych casti se sklada proces RPC (Remote procedure Call)

10. Zadany tri sloupce, v kazdem popsan jeden proces ( operace P a V nad semafory x, y, z ).

a) nakreslit graf alokace zdroju



b) zjednodusit graf alokace zdroju a ukazat kde v nem vzikl deadlock

c) Existuje nejaka moznost, jak by mohli procesy bezet aniz by doslo k zablokovani ?
Yüklə 25,93 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə