+ All Categories
Home > Documents > VYPRACOVANE_OTAZKY_OPSY1 VIP

VYPRACOVANE_OTAZKY_OPSY1 VIP

Date post: 23-Aug-2014
Category:
Upload: stepan-sebesta
View: 626 times
Download: 14 times
Share this document with a friend
Popular Tags:
17
1. Z čeho se skládá řadič (řídící podsystém) počítače a jak pracuje – 1 bod čitač instrukci, řidici registr... viz dalši otazka. 2. Popište instrukční cyklus řadiče počítače a vysvětlete jednotlivé fáze – 1 bod cyklus: vyběrova faze /// provaděci faze vyběrova faze: · do čitače instrukci se načte adresa instrukce, ktera se ma provadět · čitač instrukci se přepiše do adresniho registru, čimž se ukaže na paměťovou buňku, ktera se ma provest · tato paměťova buňka se přes datovy registr načte do registru in strukci provaděci faze: · rozkodovani operačniho kodu (zjištěni, co se ma provadět) · provedeni operace · zvyšeni čitače instrukci o jedničku 3. Jakými metody komunikuje centrální procesor s periferními zařízeními a metody srovnejte 1 bod Jsou zde k dispozici metody , smyčka, přerušeni a dma. U smyčky se procesor neustale pta zařizeni zda nepotřebuje obsluhu, naročne na procesor. U metody přerušeni da periferie sama vědět, že potřebuje obsloužit, je to uspornějši na procesor než smyčka. DMA se použiva specialni radič DMA a cpu pouze musi potvrdit přenos. 4. Popište algoritmus komunikace periferního zařízení pomocí přerušení – 1 bod Periferni zařizeni da pomoci přiznaku přerušeni vědět že potřebuje procesor. Uloži se kontext procesoru a může dojit k obsluze periferie, ktera požadovala přerušeni. Pote se načte kontext operace, ktera byla přerušena. o při použiti přerušeni daji zařizeni procesoru vědět v okamžiku, kdy něco potřebuji o v momentě, kdy žadost na přerušeni k procesoru dorazi, procesor uloži rozpracovanou ulohu (čitač instrukci, hodnoty registrů) a věnuje se zařizeni a přenosu dat o po obslouženi přerušeni se procesor vrati k přerušene uloze obnovenim registrů a čitače instrukci 5. Popište algoritmus komunikace periferního zařízení prostřednictví DMA, včetně variant 1 bod Použiva se specialni řadič DMA, nazyvany kanal .. Jedna se o přenos dat bez pomoci procesoru varianty... přenos bloku dat.. procesor = hold nebo kradeni cyklu. · popis: data jsou přimo přenašena mezi perifernim zařizenim a paměti pomoci specialniho kanalu, bez zavislosti na procesor po dobu přenosu je procesor ve stavu HOLD, aby nemohl přistupovat do paměti varianty: kradeni cyklů – typ přenosu, při kterem se přenaši jen jeden udaj (bajt); pro ten to přenos je „ukraden“ jeden cyklus blokovy přenos – typ přenosu, při kterem je procesor odstaven po delši časovy usek
Transcript

1. Z čeho se skládá řadič (řídící podsystém) počítače a jak pracuje – 1 bod čitač instrukci, řidici registr... viz dalši otazka.

2. Popište instrukční cyklus řadiče počítače a vysvětlete jednotlivé fáze – 1 bod

cyklus: vyběrova faze /// provaděci faze

vyběrova faze:

· do čitače instrukci se načte adresa instrukce, ktera se ma provadět

· čitač instrukci se přepiše do adresniho registru, čimž se ukaže na paměťovou buňku, ktera se ma provest · tato paměťova buňka se přes datovy registr načte do registru instrukci provaděci faze:

· rozkodovani operačniho kodu (zjištěni, co se ma provadět) · provedeni operace · zvyšeni čitače instrukci o jedničku

3. Jakými metody komunikuje centrální procesor s periferními zařízeními a metody srovnejte – 1 bod

Jsou zde k dispozici metody , smyčka, přerušeni a dma. U smyčky se procesor neustale pta zařizeni zda nepotřebuje obsluhu, naročne na procesor. U metody přerušeni da periferie sama vědět, že potřebuje obsloužit, je to uspornějši na procesor než smyčka. DMA se použiva specialni radič DMA a cpu pouze musi potvrdit přenos.

4. Popište algoritmus komunikace periferního zařízení pomocí přerušení – 1 bod

Periferni zařizeni da pomoci přiznaku přerušeni vědět že potřebuje procesor. Uloži se kontext procesoru a může dojit k obsluze periferie, ktera požadovala přerušeni. Pote se načte kontext operace, ktera byla přerušena. o při použiti přerušeni daji zařizeni procesoru vědět v okamžiku, kdy něco potřebuji o v momentě, kdy žadost na přerušeni k procesoru dorazi, procesor uloži rozpracovanou ulohu (čitač instrukci, hodnoty registrů) a věnuje se zařizeni a přenosu dat o po obslouženi přerušeni se procesor vrati k přerušene uloze obnovenim registrů a čitače instrukci

5. Popište algoritmus komunikace periferního zařízení prostřednictví DMA, včetně variant – 1 bod

Použiva se specialni řadič DMA, nazyvany kanal .. Jedna se o přenos dat bez pomoci procesoru

varianty... přenos bloku dat.. procesor = hold nebo kradeni cyklu. · popis:

data jsou přimo přenašena mezi perifernim zařizenim a paměti pomoci specialniho kanalu, bez zavislosti na procesor

po dobu přenosu je procesor ve stavu HOLD, aby nemohl přistupovat do paměti varianty:

kradeni cyklů – typ přenosu, při kterem se přenaši jen jeden udaj (bajt); pro tento přenos je „ukraden“ jeden cyklus

blokovy přenos – typ přenosu, při kterem je procesor odstaven po delši časovy usek

6. Nakreslete části paměťového podsystému počítače a uveďte, jaké jsou vlastnosti paměťové buňky operační paměti – 1 bod

Buňka musi mit jasne danou adresu, čtenim se obssah bunky neporuši, data se ukladaji do vice bunek= např slov, lze zapsat novou informaci pouze pokus smaže ta stara

o ma jasně definovanou adresu, ktera je uložena v adresovem registru o při čteni se obsah neporuši o obsahuje shluk bitů (jedno slovo = byte = bajt) o lze do ni zapsat novou informaci za předpokladu, že se stara informace nejprve zruši

7. Jakými metodami se určují operandy instrukcí a ke každé metodě uveďte příklady – o přime adresovani – adresova čast instrukce obsahuje adresu, na niž se nachazi

operand o nepřime adresovani – adresova čast instrukce obsahuje adresu, na niž se nachazi

adresa operandu o implicitni adresovani – operand je vždy na stejnem mistě v paměti o implicitni operand – operand je vždy konstantni o modifikace zakladni adresy – adresa v adresove časti instrukce je určitym způsobem

změněna, operand se nachazi na změněne adrese o modifikace relativni adresy o adresovani obsahem – vyběr informace na zakladě obsahu

8. Jaké znáte kódování ve dvojkové soustavě a uveďte příklad zakódování čísla

o kodovani:

přimy kod doplňkovy kod inverzni kod modifikovany doplňkovy kod modifikovany inverzni kod

o přiklad:

0,875 decimalně = 0,111 binarně 0,875 binarně v přimem kodu pak je 1,111,

9. Nakreslete architekturu víceprocesorového systému MISD a SIMD Maticový cpu s jedním tokem instrukcí a vicenasobnym tokem dat SIMD Multi CPU s mnohonasobnym token instrukci dat MIMD

Retezeny CPU s 1 tokem dat a vicenasobnym tokem instrukci MISD

10. Určete, které fronty procesů se vytvářejí ve 3-stavovém diagramu procesů – 1 bod

Nakreslete 5-stavový diagram procesů a vysvětlete jednotlivé stavy – 1 bod

Připraveny je fronta procesů ,ktere čekaji na přiděleni procesoru. Běžici je proces, kteremu je pravě přidělen procesor. ČEkaji je fronta procesů, ktere čekaji na nějakou udalost, zapnuti tiskarny.

Pokud čekani trva delši dobu je odložen do odloženy čekajici, je swapovan. Po splněni podminek čeka na zařazeni do fronty připravenny ve frontě odloženy připraveny. Nakreslit 5-stavovy model a vysvětlit stavy Běžici – proces, ktery probiha a může běžet jen jeden Připraveny – vznika fronta, ze ktere procesy přechazeji do stavu běžici Čekajici – něco chceme tisknout, ale něni zapnuta tiskarna a proces je tedy ve frontě čekajici. Po zapnuti přejde do stavu připraveny a z fronty do běžici Odloženy čekajici (připraveny) – procesy potřebuji pro běh operačni paměť (ve ktere je i fronta čekajicich procesů). Pokud mame plnou paměť a potřebujeme čast uvolnit pro běh procesu, přesuneme z fronty čekajicich některe na pevny disk. Odtud se později převede do stavu odloženy připraveny a když je fronta připravenych teměř prazdna nebo prazdna, přesouva se do ni

11. Nakreslete vrstvenou architekturu operačního systému (generické komponenty) – 1 Bod

Zespod: Sprava procesorů => sprava procesů => sprava hlavni paměti => sprava I/O sytemů => Sprava sekundarni paměti => sprava souborů => networking => nad všim system ochran => nad všim interpret přikazů

12. Uveďte základní funkce operačního systému – 1 bod

Je nezbytny pro chod pc ..spravuje pamět io zařizeni, io yařizeni a cpu.. Programove vybaveni nezbytne pro provoz počitače == Spravce zdrojů (I/O zařizeni, soubory, procesor, paměť... OS vlastni jednotlive systemove zdroje,ktere přiděluje a odebira jednotlivym procesům) == Virtualni počitač (OS skryva detaily ovladani jednotlivych zařizeni = transparentnost. Programator se může věnovat vlastni činnosti a nemusi vždy znovu programovat I/O operace. Program může pracovat i se zařizenimi, o kterych autor v době jeho vytvařeni

neměl ani tušeni) Dalši definice Spravce prostředků (spravuje a přiděluje zdroje systemu) Řidici program (řidi provaděni uživatelskych programů a operaci I/O zařizeni) Jadro (trvale běžici program)

13. Vysvětlete architekturu operačního systému s modelem klient-server – 1 bod Pracuje na technologii tzv mikrojadra -mikrokernel, ten provadi pouze zakladni instrukce...a

zprostředkovava kominukaci maezi klienty a servery...

Rozvinul se trend minimalizace rozsahu jadra OS (mikrokernel), ktery zajišťuje zejmena komunikaci a je implementovana většina funkci OS v uživatelskem modu. Struktura: Obsluha klienta, terminalů, procesů, souborů a paměti Vyhody: Použitelnost v siťovem a distribuovanem prostředi, odolnost systemu v připadě selhani serveroveho procesu, dobra strukturovanost OS == postaveno na tzv. mikrojadře, operačni system je souborem jednoduchych programů, ktere vykonavaji pouze nejzakladnějši funkce == složitějši funkce operačniho systemu jsou v userspace == jadro zabezpečuje komunikaci mezi procesy (procesy typu „klient“ nebo typu „server“)

14. Vysvětlete architekturu operačního systému s virtuálními počítači – 1 bod

== operačni system vytvaři nezavisle pohledy/služby jednotlivych hardwarovych komponent pro uživatele == uživatel pracuje se svym virtualnim počitačem, tyto počitače jsou mezi sebou nezavisle

== operačni system emuluje existenci viceuživatelskych systemů s vlastnim, přidělenym hardwarem Jadro systemu tvoři monitor virtualniho počitače, ktery pracuje s prostym HW a zajišťuje multiprogramovani s použitim ne jednoho, ale několik virtualnich počitačů na vyšši urovni. Virtualni počitače jsou pouze přesnou kopii prosteho HW (každy virtualni počitač je identicky se skutečnym HW). OS emuluje existenci několika uživatelskych systemů s

vlastnim HW (vysoke naroky na emulaci)

15. Nakreslete Petriho síť

algoritmu producent-konzument – 2 body

16. Nakreslete Petriho síť vzájemného vyloučení pro dva procesy – 2 body

17. Jaké znáte alokační metody při umísťování bloků dat na disk a popište je – 2 body

Dany možnosti přimeho přistupu na disk. • Souvisla alokace – Každy soubor zabira souvislou množinu bloků na disku. Adresa souboru je pak udana pouze adresou prvniho bloku. – Vyhodou je mala pravděpodobnost pohybu hlavou disku. – Nevyhodou je nachazeni volneho mista pro soubor a obtižna implementace dynamickych změn velikosti souboru (zvětšovani). • Spojovana alokace – Odstraňuje nevyhody souvisle alokace pospojovanim bloků použitych pro soubor. – Nevyhodou tohoto přistupu je ztrata "hezke" velikosti a relativni pomalost při nahodnem přistupu do souboru.

– Upravou je FAT, kde spojovy seznam je tvořen polem na vyhrazenem mistě disku. Indexova alokace- FAT a NTFS(file allocation table a new table file system) ntfs=novejši, data jsou lepe chraněny, podpora RAID poli bez přidavneho řadiče. FAT(12 16 32) Dnes nahrazuje NTFS. velikost clusterů je vypočitana nasledovně... velikost disku/pocet clusterů(2 na cislo v nazvu ) .

18. Napište algoritmus strojových instrukcí

výpočtu Y = A / B * C / D + (C – D) * E / F pro dvouadresní počítač – 2 body

Napište algoritmus strojových instrukcí

výpočtu

Y = A / B * C / D + (C – D) * E / F

pro jednoadresní počítač – 2 body

19. Vysvětlete princip relativního adresování a modifikace adresy obsahem indexregistru – 1 bod

Adresova čast instrukce neurčuje při relativnim adresovani přimo misto v paměti, ale adresu uloženou k nějake jine adrese, označene jako uložena adresa (bazova adresa). o relativni adresovani – adresova čast instrukce neurčuje při relativnim adresovani přimo misto v paměti, ale adresu uloženou k nějake jine adrese, označene jako uložena adresa o modifikace adresy obsahem index registru – adresova čast instrukce se před použitim modifikuje konstantou uloženou v index registru

20. Vysvětlete rozdíl mezi přímým operandem, přímou adresou a nepřímou adresou – 1 Bod U přimeho operandu je přimo zadan operand a u přime adresy je zadana adresa na niž je operand. adresova čast instrukce obsahuje adresu, kde se nachazi adresa instrukce u nepřimeho adresovani. o přimy operand – operand je zadan přimo v adresove časti instrukce o přime adresovani – adresova čast instrukce obsahuje adresu, na niž se nachazi operand o nepřime adresovani – adresova čast instrukce obsahuje adresu, na niž se nachazi adresa operandu

21. Jaký je rozdíl mezi jednotlivými typy plánovačů procesů – 1 bod +++

22. Které znáte plánovače procesů a určete, k čemu slouží – 1 bod Kratkodoby, střednědoby a dlouhodoby. Kratkodoby určuje proces, kteremu bude přidělen procesor. Pracuje s frontou připravenych

procesů. Střednědoby určuje ktery z procesů bude odložen z paměti při nedostatku. Pracuje s frontou připravenych a čekajicich. Dlouhodoby se snaži namixovat ulohy tak, aby bylo co největši zatiženi procesorů. o kratkodobe:

vybira, kteremu z připravenych procesů bude přidělen procesor o střednědobe:

vybira, ktery čekajici nebo připraveny proces bude odložen z paměti na disk, ma-li system nedostatek paměti o dlouhodobe:

vybira, ktera uloha bude spuštěna učelem je „namixovat“ ulohy tak, aby byl počitač co nejvice vytižen

23. Uveďte výhody a nevýhody plánovacích algoritmů procesů – 2 body +++

24. Které algoritmy používají plánovače procesů, popište je a určete k nim výhody a nevýhody – 2 body ¨ First come first served=fifo,kratke procesy musi čekat na ukončeni dlouhych procesů- konvojovy efekt-dlouha čekaci doba na procesor. Nerozlišuje prioritu procesů. Shortest execution first served= Prvně se provedou procesy s nejkratši dobou provedeni, zkracuje "čekaci dobu na procesor", ale dlouhe procesy čekaji dlouho a nemuseli by se dočkat, pokud by se stale objevovali procesy s kratkou dobou provedeni= starnuti procesů. Least completed first served = proces ktery zatim běžel po nejmenši dobu ma přednost. Může se jednat o procesor s nizši prioritou než ostatni a neni žadouci aby tento proces předběhl procesy s vyšši prioritou. Earliest due-time served= procesor, kteremu zbyva nejmeně času do provedeni ma přednost. Highest static priority first= procesor s nejvetši statickou prioritou ma přednost. Nevyhodou je že, procesy s nizkou prioritou by se nemuseli dočkat= starnuti procesů , řešenim může byt zvyšovani priority nizkoprioritnim procesům. Round Robin= procesům je cyklicky přidělovan procesor na stejnou dobu. Pokud je přidělovana relativně dlouha doba, podoba se to FCFS, ale pokud se da kratka, zbytečně velky podil času připadne přepinani provaděnych procesů="režii procesoru". V praxi se použivaji kombinace jednotlivych algoritmů. o FCFS – first come, first served

řadny frontovy režim kratke procesy nasledujici po dlouhem procesu ovlivňuje „konvojovy efekt“

o SXFS – shortest execution, first served proces s nejkratši dobou provaděni je prvni obsloužen

o LCFS – least completed, first served přednostně se obsluhuje proces, ktery zatim běžel nejkratši dobu

o EDFS – earliest due-time, first served přednostně se obsluhuje proces, kteremu zbyva nejmeně času na dokončeni

o HSFS – highest static priority, first served přednostně se obsluhuje proces s nejvyšši statickou prioritou

o RR – round-robin po časovych intervalech

25. Popište tabulku PCB (Process Control Block) – 2 body Alternativni nazev je kontext procesu . Jsou v něm uloženy informace důležite pro chod procesu. -čislo procesu, prioritu procesu, stav procesu, ukazatele na rodičovske procesy a potomky., registry, informace pro spravu io a paměti, čisloprocesoru, učtovaci informace.

o tabulka obsahujici informace potřebne pro definici a spravu procesů o obsahuje: o stav procesu (běžici, připraveny,…) o čislo procesu o ukazatele na rodičovske procesy a potomky o prioritu procesu

o informace potřebne pro spravu paměti o informace potřebne pro spravu I/O o registry procesoru o obsah čitače instrukci o čislo procesoru, na kterem proces běži (u viceprocesorovych systemů) o učtovaci informace (celkovy čas využiti procesoru, čislo ulohy ,…)

26. Popište princip přepínání kontextu procesu a uveďte kterých informací se týká – 2 Body Ve sve podstatě se jedna o přerušeni procesoru.. Prvně se musi uložit kontext provaděneho procesu (PCB=process control block). To znamena uloženi kličovych registrů a pote se může provest provedeni procesu, ktery žadal přerušeni. Po provedeni se procesor vrati k vykonavani procesu, ktery vykonaval před přepnutim kontextu. Použiva se při přepinani mezi procesy. Provede se uloženi kontextu (context save) původně běžiciho procesu a obnoveni kontextu (context restore), kteremu se přiděluje procesor. Pod pojmem kontext je myšlen stav

procesoru, komprocesoru popřipadě dalšich zařizeni

27. Kterými principy si procesy vyměňují data a uveďte jejich výhody a nevýhody – 1 bod +++

28. Jakými principy komunikují procesy mezi sebou a uveďte rozdíly, výhody, nevýhody Existuji 2 typy vyměny dat mezi procesy- zasilani zprav a sdilena pamět. Sdilena pamět je jednodušši na implementaci a poskytuje vice prostredku. Zasilani zprav je flexibilnějši, může byt provedeno i mezi procesy na rotdalnych procesorech .. Realizovano pomoci přikazů SEND a RECIEVE. Provedeni bud odeslanim ukazatele na na zpravu ve sdilene paměti, umisteni zpravy do fronty zprav ve sdilene paměti na pomoci umisteni zpravy do vyrovnavaci paměti-zde jsou specialni připady kdy velikost vyrovnavaci paměti pro zpravu je nekonečně velka, nebo neni přidělena žadna, nutne v aby odesilani a přijem probihalo ve stejny okamžik a stejně rychle. o principy:

sdilena paměť zasilani zprav

o popis: sdilena paměť:

· jednodušši na implementaci · mocnějši – programator ma vice prostředků

zasilani zprav: · flexibilnějši · je možne použit i pro komunikaci mezi procesy běžicich na různych procesorech/počitačich · možnosti realizace:

o předani ukazatele na zpravu ve sdilene paměti o umistěni zpravy do vyrovnavaci paměti o umistěni zpravy do fronty zprav buď ve sdilene paměti nebo v paměti jadra systemu o ošetřeni chyb při zasilani zprav musi zahrnovat tito situace:

skončeni jednoho z procesů ztrata zpravy duplicita zpravy zkomoleni zprávy

29. Co je to souběh u procesů – 2 body I při korektnim chovani programu může dojit k chybě pokud nebude posloupnost procesu

provedena za sebou a dojde k souběhu s jinym procesem.Data jsou modifikovana jinym procesem a tudiž dojde k chybě .. .. Předpokladejme, že v bance použivaji pomocnou proměnnou a na utcu je 0 kč a ve stejny moment se vlozi 10000 a vybere 20000 kč , vysledna hodnota konta bude -20000kč a tim dojde k chybě= uživatel bude ošizen o 10000kč.

o při přistupu dvou nebo vice procesů ke sdilenym datům může dojit k chybě, přestože každy z procesů se chova korektně

o k chybě dochazi tak, že data jsou modifikovana některym procesem v době, kdy s nimi jiny proces provadi několik operaci, o kterych se předpokladalo, že budou provedeny jako jeden nedělitelny celek

30. Popište problém kritické sekce a metody jeho řešení – 2 body kriticka sekce je nejmenši čast programu a u ktere by mohlo dojit k souběhu , je řešeno vyhradnim přistupem, rozhodovanim kdo tam vstoupi pouze procesy, ktere o to žadaji a omezenym čekanim.

o popis: data, ktera jsou sdilena několika procesy tak, že při přistupu k nim by mohlo dojit k souběhu, se řika

kriticka oblast ake kriticke oblasti, a

ktera musi byt provedena jako jeden celek u složitych datovych struktur často dochazi k tomu, že jsou v určitem momentě zpracovani data

dočasně nekonzistentni pokud v tomto okamžiku dojde k přepnuti kontextu na proces, ktery tato data take použiva, může

nastat souběh vyhradni přistup – v každem okamžiku smi byt v sekci jen jeden proces vyvoj – rozhodovani o tom, ktery proces vstoupi do sekce ovlivňuji jen ty procesy, ktere o vstup

usiluji omezene čekani – pokud jeden proces usiluje o vstup, nemůžou mu v tom jine procesy branit tim,

že se v sekci neustale střidaji (maji povoleno vstoupit omezeně n-krat, zpravidla jednou)

31. Jaká jsou pravidla vedoucí k dosažení vzájemného vyloučení – 2 body Do kriticke sekce muže vstoupit jen jedinny proces. Proces musi umožnit vstoupit jinym procesům do kriticke sekce. Proces je k kriticke sekci po konečnou dobu. žadne dva procesy nejsou ve stejnou chvili v kriticke sekci

● nemohou byt udělany žadne předpoklady o rychlostech nebo počtu CPU ● žadny proces běžici mimo svou kritickou sekci nesmi blokovat jiny proces ● žadny proces nesmi čekat nekonečně dlouho v jeho kriticke sekci

o pokud chce proces vstoupit do kriticke sekce, bude mu to umožněno v konečnem čase, procesy zůstavaji v kriticke sekci konečnou dobu o nejvyš jeden proces může byt v danem okamžiku ve sve kriticke sekci o procesy operujici mimo svou kritickou sekci nesmi branit jinym procesům vstoupit do jejich kritickych sekci o řešeni nesmi byt nijak zavisle na uvahach o rychlosti procesů nebo počtu procesoru

32. Jaké znáte prostředky pro zajištění výlučného přístupu a popište je – 2 body zakazani přerušeni- při havarii procesu dochazi k chybě celeho systemu, jelikož při zakazani přerušeni nemůže byt přepnut kontext... přerušeni ma k dispozici pouze jadro(privilegovana instrukce) test and set lock semafory zakaz aktivniho čekani... procesu je odebran procesor pokud potřebuje vstoupit do kriticke sekce k době kdy tam nemůže...

o zakaz přerušeni – zabrani přepnuti kontextu (nebezpečne), proces může havarovat a dostat se do nekonečneho cyklu –> system je mrtvy; zakazat přerušeni může obvykle jen jadro OS (privilegovana instrukce)

o instrukce test and set lock – instrukce TSL nastavi proměnnou typu boolean na true (uzamčeno) a vraci původni hodnotu teto proměnne, cela akce je nedělitelna; instrukce se použiva před vstupem do kriticke sekce a po vystupu se nastavi TSL na false (odemčeno); počitače, ktere instrukci nemaji mohou použit např. swap

o semafory – proměnna typu boolean je nahrazena čitačem (integer). Operace se nazyvaji P a V, nebo up a down

o odstraněni aktivniho čekani – pokud proces nemůže vstoupit do kriticke sekce, je mu odebran procesor a proces je dočasně blokovan; aby bylo při uvolněni kriticke sekce znamo, ktery čekajici proces odblokovat, přiřadi se ke každemu semaforu fronta čekajicich procesů

33. K čemu slouží instrukce Test and set lock a popište jejich začlenění při řízení kritické sekce – 3 body

Použiva se proměnna typu boolean, ta se nastavi na hodnotu true, pokud je v kriticke sekci nějaky

proces a po vystoupeni z ni se nastavi na hodnotu false, sekce bude přistupna pro ostatni procesy. Uvedeno vice v předchozi otazce.

34. Jak se dá předcházet uváznutí a uveďte příklady – 2 body +++

35. Co je to uváznutí procesů a jaké jsou podmínky uváznutí – 2 body

Uzaznuti je situace kdy procesy čekaji na dokončeni jineho procesu, ale tydle procesy čekaji na skončeni toho prvniho. Podminky jsou vylučny přistup.. nesdilitelne prostředky, cyklicke čekani, postupne přidělovani... zabraněnim podminek (alespoň 1) se tomu da předejit.

o uvaznuti je možne předejit, zabrani-li system alespoň jedne z podminek uvaznuti: vylučny přistup

· virtualizace prostředků o použiva se napřiklad u tiskaren, kdy procesy nepouživaji přimo tiskarnu, ale vystup ukladaji do souboru, ktery OS vytiskne později o nelze využit všude

postupne přidělovani prostředků přidělovani prostředků bez preempce cyklicke čekani

o popis: situace, kdy dva nebo vice procesů čekaji na udalost, ktera může nastat jen

tehdy,pokud by jeden z těch procesů pokračoval o podminky:

vylučny přistup · existence prostředků, ktere jsou přidělovany pro vyhradni použiti j dků

postupne přidělovani prostředků · najednou, ale postupně; pokud požadovany prostředek neni volny, musi proces čekat

přidělovani prostředků bez preempce · dělene prostředky nelze procesu nasilim odebrat

cyklicke čekani

36. Pomocí kterého algoritmu lze se vyhnout uváznutí a popište jej – 2 body Jedna se o bankeřův algorytmus... procesy si urči maximalni prostředky, ktere by mohl potřebovat a OS přiděluje prostředky tak aby měl v zaloze prostředky na uspokojeni procesu s nejmenšimi požadavky. Po uspokojeni požadavku proces vrati prostředky a OS je může přidělit jinym procesům. Stav jisty... lze dokončit v konečnem čase , stav nejisty.. opak jisteho..

o algoritmus:

bankeřův algoritmus o popis:

každy proces si deklaruje pro každy typ prostředku maximalni množstvi, ktere bude potřebovat OS si musi při přidělovani nechat alespoň tolik prostředků, aby byl schopen splnit požadavek

alespoň jednoho procesu po splněni proces uvolni prostředky, ktere jsou přiděleny dalšim procesům banka musi zaručit splněni požadavku v konečnem čase jisty stav – všichni zakaznici jsou obslouženi v konečnem čase nejisty stav – opačna situace

37. Jak se dá řešit uváznutí procesů a popište metody – 2 body == Ignorovat jej-unix. == Vyhybat se podminkam uvaznuti.(nesplnit podminky-vylučny přistup, cyklicke čekani, postupne přidělovani, přidělovani ber preemce.) == Předchazet uvaznuti. (Provadět jen procesy, ktere lze bezpečně ukončit) == Nevyhybat se jim,ale zotavit se z nej. (Najit řešeni)

o ignorovat je

takto je řeši např. Unix v připadě uvaznuti zasahuje uživatel a jeden nebo vice procesů nasilně ukonči (v krajnim připadě

restart systemu)

o předchazet jim zabranit splněni alespoň jedne podminky pro vznik uvaznuti

o vyhybat se jim system se vyhyba situaci, při ktere by došlo k cyklickemu čekani tak, že zna naroky na prostředky

jednotlivych procesů a zjišťuje, zda je možne všechny procesy dokončit, i když budou odpovidat maximalnim narokům

OS přiděli prostředky jen tehdy, je-li to bezpečne o detekovat uvaznuti a zotavovat se z něj

38. Jaké jsou základní algoritmy semaforů a popište je – 3 body Rozlišujeme algoritmy s čitačem pracujicim s nezapornymymi čisly a tim, ktery nabiva libovolnych hodnot. U verze nezapornych hodnot ..... operace down skontroluje zda je větši než 0, dekrementuje semafor , při hodnotě 0 se zablokuje.a přida proces do fronty čekajicich . operace UP zkontoluje zda je frontě aspon 1 proces a ten odblokuje a zvyši čitač o 1 , pokud proces ve frontě je. Verze s čitačem pracujici s se zapornyma hodnotama..... zaporna hodnota=počet procesů ve frontě, operace down sniži hodnotu semaforu o 1 a pokud se rovna 0 tak skonči. JEstliže je menši než 1 přida proces do fronty čekajicich. Operace up zvedne hodnotu o 1,jestliže je hodnota 0 nebo menši a pokud je fronta neprazdna tak jeden proces odblokuje.

o algoritmy: čitač >= 0 čitač libovolny

o popis: čitač >= 0

· operace down zkontroluje hodnotu semaforu, jestliže je větši než 0, sniži ji o 1 a operace skonči; jestliže je rovna 0, operace down se zablokuje a proces je přidan do fronty čekajicich procesů na danem semaforu · operace up zjisti, zda je fronta čekajicich procesů neprazdna, pokud ano, vybere jeden z

čekajicich procesů a ten odblokuje a pokud je fronta prazdna, zvyši čitač o 1 čitač libovolny

· zaporna hodnota je počet blokovanych procesů · operace down sniži hodnotu semaforu o 1 a jestliže je větši nebo roven 0, skonči; jestliže je

menši než 0, operace se zablokuje a proces je přidan do fronty čekajicich procesů · operace up zvedne hodnotu o 1 a jestliže je menši nebo rovna 0, zkontroluje zda je fronta čekajicich procesů na semaforu neprazdna a pokud ano, vybere jeden a ten odblokuje

o semafory funguji podobně jako instrukce TSL, při vstupu do kriticke sekce se vyvola down a po vystupu up

39. Jaké znáte druhy vláken a jaké jsou jejich výhody a nevýhody – 1 bod Exustuji user-level a kernel-level vlakna. UL jsou rychlejši, ale OS přiděluje CPU procesu ne vlaknům. Nelze vlakna jednoho procesu spustit na vice procesorech. KL vlakna jsou ovladany jadrem, neni na to knihovna, je to pomalejši, ale vice vlaken jednoho procesu může běžet na vice procesorech. OS priděluje CPU vlaknům, ne procesům.

o vlakna na uživatelske urovni – user-level threads sprava se provadi prostřednictvim vlaknove knihovny, jadro nevi o aktivitě vlaken a manipuluje s

celymi procesy vyhody:

· přepojovani mezi vlakny nepotřebuje aktivitu jadra (rychlejši) · běži na jakemkoliv OS

nevyhody · většina volani služeb OS způsobi blokovani celeho procesu (všech jeho vlaken) · jadro může přidělovat procesor pouze procesům (2 vlakna nemůžou běžet na dvou

procesorech)

o vlakna na urovni jadra – kernel-level threads spravu podporuje jadro, neexistuje vlaknova knihovna (Windows, Linux) vyhody:

· jadro může pracovat s vice vlakny jednoho procesu na vice procesorech a blokovani probiha na urovni vlakna nikoliv celeho procesu

· programy jadra mohou mit multivlaknovy charakter nevyhody:

· přepojovani mezi vlakny zprostředkovava jadro (pomalejši) o kombinace kernel-level a user-level threads

vlakna se vytvařeji v uživatelskem prostoru a většina planovani a synchronizace probiha take v uživatelskem prostoru

programator může nastavit počet vlaken na urovni jadra

40. Co je to vlákno a čím se liší od procesu – 1 bod

Vlákno se vytváří v rámci procesu,.

o proces: systemovy objekt charakterizovany svym paměťovym prostorem a kontextem paměť a některe dalši zdroje se přiděluji procesům

o vlakno: objekt, ktery vznika v ramci procesu je viditelny pouze uvnitř procesu je charakterizovan svym stavem procesorovy čas se přiděluje vlaknům

41. Uveďte strategie přidělování paměti – 1 bod Přiděleni veškere volne paměti- v paměti jeden proces .Přiděleni pevnych bloků. Segmentace paměti, Strankovani paměti, Strankovani na žadost= demand paging, segmentace se strankovanim na žadost.

přiděleni veškere volne paměti

čast RAM je obsazena OS, zbytek je k dispozici pro uživatelsky program a v každem okamžiku je tedy v paměti jen jeden uživatelsky program.

o přiděleni pevnych bloků paměti využiva většina jednoduchych OS každy proces musi vědět, kolik paměti bude potřebovat a explicitně si ji vyžadat od OS spravce paměti požadavek splni nebo zamitne (proces se s tim musí vypořadat např.

předčasnym ukončenim prace) fragmentace paměti

o přidělovani bloků paměti proměnne velikosti o segmentace paměti o strankovani paměti o strankovani na žadost

segmentace se strankovanim na žadost

42. Jaké jsou úlohy správce operační paměti – 1 bod přidělovani časti operačni paměti.... udržovani pšehledu o volnych bunkach .. uvolnenou pamět zařadit mezi volnou, odebirani paměti .. ochrana paměti.

o přidělovani časti operačni paměti o udržovani informace o tom, ktera čast paměti je volna o zařazovat paměť uvolněnou procesy zpět do volne časti o odebirat paměť procesům, je-li to zapotřebi o ochrana paměti

Co se zapisuje do bitové mapy při řízení paměti rozdělené na stejné bloky – uveďte příklad – 1 bod Procesy ziskavaji paměť dle potřeby (pokud je dostupna). Nevyhodou je vytvořeni nepoužitelnych děr mezi použitymi bloky paměti. Tuto nevyhodu lze odstranit řizenim paměti pomoci bitove mapy. Paměť rozdělena na bloky stejne delky (např. 16 bajtů)

Spravce paměti musi o každem bloku vědět nejmeně dvě věci: - jeho delku, - jeho vlastnika. - pokud prazdne = nema vlastnika= může byt pridělen.

43. Jak se dá řešit problém většího procesu ukládaného do menší paměti při strategii přidělování veškeré volné paměti, uveďte příklad – 1 bod U přidělovani veškere volne paměti je všechna pamět poskytnuta jednomu procesu. Pokud je tako pamět nedostatečna, musi se rozdělit proces na moduly, mame zakladni segment neustalve v paměti a ten si vola dalši moduly, ktere jsou uloženy na disku..

44. Jak se určuje výsledná adresa při rozdělení paměti na bloky proměnné velikosti – 1 bod

U proměnnych se použiva bazovani - určity registr se naplni skutečnou adresou např. začatku programu a pro odkazy na proměnne se použiva misto pevne adresy hodnota bazoveho registru + posunuti (offset). Je velmi žadouci, aby procesor podporoval bazovani a musi mit relativni skoky.

45. Co je to fragmentace paměti a jak se dá řešit – 1 bod Je to stav paměti ve kterem jsou bloky paměti rozhazeny=nenavazuji na sebe a zpomaluje to praci paměti, vyskytuji se zde male časti volne paměti,ktere jsou prakticky nepoužitelne. Vyřešil se to da pomoci tzv. setřepani (defragmentace), bloky paměti, ktere maji na sebe navazovat se daji k sobě a volne misto bude taktež pohromadě. Setřepani je operace časově naročna, je lepši se stavu fragmentace vyhnout.

46. Jaký je principiální rozdíl mezi stránkováním a segmentací – 1 bod

U strankovani paměti maji stranky pevně danou velikost, posledni stranka byva plně nevyužita (Pokud je stranka např. 4Kb tak se využije třeba jen 200b) a u segmentace jsou bloky dat any segmentem a offsetem(udava počatečni adresu a delku bloku.)

47. Jak se určuje výsledná adresa při segmentaci – uveďte příklad – 2 body

Fyzicka (skutečna) adresa v paměti se ziskava přičtenim obsahu segment registru a logicke adrese (= adresa použita v programu). Obsahsegment registru nastavuje OS a pro uživatelsky program je nepřistupny. Diky tomu adresni prostor každeho procesu začina na 0 a odpadaji problemy s relokaci programu. Většina systemů, které použivaji segmentaci paměti dovoluje procesům použit vice segmentů.

48. Jak se určuje výsledná adresa při stránkování – uveďte příklad – 2 body

Strankovani paměti umožňuje přidělit procesu několik nesouvislych useků paměti, a vytvořit pro proces iluzi, že tato paměť souvisla je. Při strankovani paměti je fyzicka paměť je rozdělena na ramce - frames (někdy se nerozlišuje ramec a stranka).

49. Co je to virtuální paměť a jakou metodou se vytváří – 1 bod

Virtualni pamět je misto na disku vyhrazene pro odkladani momentalně nepouživanych souborů. Je pravděpodobne, že proces, ktery se nepoužil po nejdelši dobu nebude potřebanadalea může byt swapovan.

50. Jaké znáte metody ochrany paměti a přiřaďte je ke strategiím přidělování paměti - 2 body

Metoda zamků a kličů-stranovani , mezni registry. –segmentace

51. Jaké znáte algoritmy nahrazování stránek a vysvětlete princip – 1 bod

algorytmus FIFO- prvni vyhozeny, s velkou pravděpodobnosti by se jednalo o os, nebo by mohl jit pryč použivany proces. lru=least recently used- nejdele nepoužita stranka se vyhodi, kvalitni ale hardwarově naročne nur= not used recently= pouziva se jednobitovy ramec jako indikace použiti ramce, pokud nebyl použit může byt vyhozen, zjednodušeni lru.

52. Co je prokládání sektorů (INTERLEAVE) a proč se používá – 1 bod

Prokladani zrychluje čteni HDD... disk by nestihl cist data hned vedle a musel cekat celou otačku sebe tak se použiva prokladani sektorů. např 6ku1 by znamelo vynechani 6 sektorů .. 30)Interleave Prokladani sektorů na disku. Pokud jsou v pořadi např. 1 2 3 4, tak se jedna zpracovava, a disk mezitim ujede a počitač pak musi čekat celou otačku než může dalši sektro zpracovat. Proto je vhodne použit prokladani třeba 1:3 (sektory nesjou uloženy za sebou ale na přeskačku),kdy by sektory vypadaly takto 1 9 8 2 6 5 3 atd. (jsou ob tři sektory). Velky interleave faktor se použival zejmena u pomalych počitačů a v dnešni době pomalu ztraci vyznam

53. Jaké znáte metody obsluhy požadavků na přístup k disku, vysvětlete výhody a nevýhody – 1 bod

o first come, first served vyřizovani požadavků v pořadim v jakem přichazeji neni optimalni a je vhodny pro lehke zatěže

o SSTF naplanovan je požadavek s nejmenšim relativnim pohybem hlavy

o SCAN určen směrem pohybu hlav z fronty se zpracovavaji požadavky pouze postupně v určenem směru po zpracovani nejkrajnějšiho požadavku se směr pohybu měni

o C-SCAN podvarianta SCAN, posouva hlavu jen v jednom směru a po dosaženi nejkrajnějšiho požadavku se

vraci na začatek obě varianty jsou vhodne i pro velke zatěže

54. Jaké informace o souborech se ukládají a kde – 1 bod 55. Kde se ukládají informace o souborech a které – 1 bod

informace:

atributy · jen pro čteni, skryty, systemovy, nebyl archivovan

data a časy · posledni změny, naposledy otevřen, vytvořeni

typy souborů · 4 znaky typ souboru + 4 znaky program, ktery jej vytvořil (nejsou současti jmena souboru) · určuje, jakou aplikaci se ma soubor zpracovat

konkretni jmeno · jedina informace udržovana ve formě čitelne uživatelem

typ · pro OS s podporou různych typů souborů

umistěni · ukazatel na umistěni souborů v zařizeni

rozměr · okamžita velikost souboru

ochrana · kdo smi, kdo nesmi psat, měnit,…

o kde: v adresařove struktuře na disku (adresař – struktura podporujici spravu souborů (katalog))

56. Jaké výhody má indexová alokace oproti jiným alokačním metodám umísťování

bloků dat na disk – 2 body

Indexova alokace - upravuje špatny přimy přistup spojovane metody umistěnim indexů bloků jednotlivych souborů pohromadě

Položka adresaře odkazuje na blok obsahujici index – seznam bloků – Vhodne pro sekvenčni i přimy přistup – Indexni blok se při otevřeni souboru nahraje do operačni paměti. – Indexy možno organizovat Souborove systemy hierarchicky (Unix FS –

57.Jaké znáte protokoly v lokálních počítačových sítích – 1 bod

Nejpouživanejši je Ethernet a fastEthernet pro kabelove sitě... zde se použiva konektor RJ45 a kabel kroucena dvoulinka. Ethernet pracuje na urovni linkove vrstvy. Na urovmi sitove vrstvy je dnes nejrozšiřenějši IPv4 protokol. Dost se rožšiřuji i wifi (bezdratove sitě), ta maji standardy napřiklad 802.11 a,b,g,n...

58. Nakreslete vrstvy ISO/OSI a TCP/IP – 1 bod

Referenčni model ISO/OSI • Aplikačni vrstva

• Prezentačni • Relačni • Transportni • Sitova • Linkova • Fyzicka

Referenčni model iso osi popisuje jak by mohla sitova komunikace fungovat v praxi se nepouživa TCP/IP - Když viš ja na to, tak ty 4 vrstvy stači, pokud neviš ani 7 ti jich nepomůže.

• Aplikačni • Transportni • Sitova • Vrstva sitoveho rozhrani

◦ ISO/OSI – aplikačni, prezentačni, relačni, transportni, siťova, linkova, fyzicka ◦ TCP/IP – aplikačni, transportni, siťova, vrstva siťoveho rozhrani

59. Kam se ukládají informaci o inicializaci Windows XP a které – 1 bod

60. K čemu slouží BIOS – 1 bod

Basic imput-output system- komunikačni mezikrok mezi OS a hardware. Současti je program setup. Je uložen v CMOS paměti (pamět s velmi nizkou spotřebou)napajenou baterii BIOS Zajišťuje nejzakladnějši ukony, kterych je třeba k řizeni počitače. Po spuštěni počitače se automaticky inicializuje a spusti POST (power on self test), ktery otestuje počitače. Během tohoto testu je možno vstoupit do setupu. Bios zavadi OS, umoižňuje nastavit zakladni parametry počitače (datum, čas, bootovani, heslo, pořadi disku atd.). Nastaveni se uklada do CMOS paměti napajenou přidavnou baterii

61. Co je to RAID5 a jaký je princip – 1 bod

RAID=pole disků, disk ja zařizani nachylne na poškozeni, asi ze všech nejvic a toto pole ma zvyšit jeho spolehlivost=bezpečnost dat, zvyšuje se rychlost čteni disku(ne uplně u všech)-rozlišujeme vice typů poli raid . Použite disky by měly mit stejne parametry, idealni by bylo, aby to byly stejne modely disku.(Při použiti různych by se pracovalo s temi slabšimi parametry) RAID5= zaznam se uklada na vic disků a na jeden se ukladaji data rovnomšrně rozdělene a na jednom jsou uloženy kontrolni součty. Vysledna kapacita disku pro 5 disků o 100GB bude 400Gb, při chybě jednoho disku lze dopočitat data. RAID0 RAID1=mirroring

o zaznam se děla na určity počet disků (3 a vice) a to tak, že každy zaznam se rovnoměrně rozprostře na všechny disky s vyjimkou jednoho, na nějž se budou ukladat kontrolni součty o na 5x 100 GB disků tedy uložime 400 GB dat a 100 GB jsou kontrolnich součtů o nastane-li porucha jednoho z disků, diky kontrolnim součtům na dalšich discich pole je možno obnovit

informace z porouchaneho disku

62. K čemu slouží interpret příkazů a jaké znáte typy - 1 bod o učel:

jedna se o specialni program, jehož ukolem je přimo komunikovat s uživatelem, přebirat od něj přikazy a s využitim služeb operačniho systemu je plnit

shell je program, umožnujici uživateli využivat funkce jadra OS, zejména spouštět programy, zajišťovat pro ně vstupy, zobrazovat, uchovavat a přesměrovavat vystupy o typy:

řadkove (přikazovy řadek vhodny pro administraci počitačovych systemů, ve Windows cmd.exe, na GNU/Linuxu bash, na Mac OS X zsh)

graficke (vhodny pro běžne uživatele, ve Windows např. explorer.exe, na Mac OS X Finder.app)

63. Jak dlouho se čte cluster? Disk s parametry: 6000 záznamů po 200B, 1K sektor, 16 sektorů/stopu, clustery po 4 sektorech, blokování více záznamů do sektorů, průměrná

doba vystavení = 25 ms, 3600 ot/min, rotační zpoždění = 16,7 ms. – 3 body

Průměrna doba čekani na natočeni na cluster = rotačni zpožděni/2= 8ms • Průměrna doba přeneseni bloku =1/4stopy= rotačni zpožděni/4= 4 ms • Průměrna doba čteni clusteru = průměrna doba vystaveni 25ms + 8ms + 4 ms = 37 ms

64. Určete dobu přečtení celého disku když znáte parametry disku - rotační zpoždění = 10 ms, průměrnou doba vystavení = 20 ms (mezi válci 5 ms), 2 povrchy, 512 slabik/blok,800 stop/povrch, 7200 ot/min – 3 body

512 slabik/blok x 25 sektorů/stopu = 12 800 slabik/stopu 12 800 slabik/stopu x 800 stop/povrch = 10240000 slabik/povrch=10,24MB 10240000 slabik/povrch x 2 povrchy = 20,48MB 7200ot/min=(1/7200)*60000=*8,33ms/otocka přečteni valce = delka stopy x pocet valcu = 2*8,33=16,66ms cely disk= čteni 800 valců + 799 vystaveni = 800 x 16,66 + 799*5= 13328+3995=17323ms.


Recommended