Kódování:  ASCII - ISO Latin 2 - MS Windows - Kameníci - Jiné

Příkladové otázky ke zkoušce z předmětu ZOS

Tyto příkladové otázky si, prosím, zkuste před zkouškou vyřešit. Některé z nich se mohou objevit ve zkouškové písemce.

  1. Proces může být při zpracování ve čtyřech základních stavech: běžící (running), připraven (ready), blokován a pozastaven. Nakreslete přechodový diagram. Označte přechody mezi stavy událostmi, které je způsobí. Jaké nové stavy byste zavedl, aby se v diagramu promítlo také spuštění a ukončení úlohy?
  2. Multiprocesor s osmi procesory má 20 připojených magnetopáskových jednotek. Do systému je zadáno velké (nekonečné) množství úloh, kde každá úloha vyžaduje pro své dokončení nejvýše čtyři magnetopáskové jednotky. Předpokládejme, že každá úloha potřebuje po většinu času tři jednotky a pro dokončení potřebuje po krátkou dobu čtvrtou jednotku.
    1. Předpokládejte, že plánovač operačního systému úlohu nespustí, dokud pro ní nejsou k dispozici čtyři jednotky. Tyto čtyři jednotky jsou přiřazeny úloze po celou dobu jejího běhu. Jaký je maximální počet souběžně zpracovávaných úloh? Jaký maximální a minimální počet pásek, které mohou být v důsledku tohoto plánovacího mechanismu nečinné?
    2. Navrhněte alternativní plánovací mechanismus, který zlepší využití pásek a při němž nenastane uváznutí (deadlock). Jaký je nyní maximální počet souběžně zpracovávaných úloh? Jaká je horní a spodní mez počtu nevyužitých pásek?
  3. Předpokládejme následující program:

    			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 (* hlavní program *)
    			     tally := 0;
                                 cobegin
                                        total | total
    			     coend;
    			     write(tally) (* Kolik? *)
    			end.
    

    Určete spodní a horní mez pro koncovou hodnotu sdílené proměnné tally, kterou může tento paralelní program vypsat. Předpokládejte, že oba procesy mohou běžet relativně vůči sobě libovolně rychle a že pro zvětšení hodnoty proměnné musí být tato hodnota nejprve zavedena do registru samostatnou strojovou instrukcí.

  4. Ukažte, že zprávy mají nejméně stejnou vyjadřovací sílu jako semafory. (Nápověda: Implementujte semafory pomocí zpráv. Nápověda 2: Zaveďte si pomocný synchronizační proces.)

Lukáš Petrlík
luki@kiv.zcu.cz