Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Podobné otázky jsem sloučila do jedné otázky, proto se neděste, když tu některou otázku z pefky nenajdete. Otázky, u kterých si nejsem na 100% jistá odpovědí a otázky, které byly na pefce vypracovány špatně, nebo odpověď nebyla dostačující, jsou psány červeně. Jádro OS (celkem max. 10 bodů) 1. Jaké oblasti jsou alokovány pro jádro v operační paměti? (2b) Instrukční (textová) část Datové struktury Vyrovnávací paměť 2. Popište co tyto oblasti obsahují a k čemu jsou určeny (4 Instrukční část činnosti, které se od jádra očekávají (rutiny), interní rutiny (probíhají přímo v jádru, zajišťují sdílení času procesoru, správu paměti (swapping), ovladače (drivery)), rutiny ošetřující systémové služby Datové struktury obraz aktuálního stavu systému, obsahují informace, které vyžaduje jádro pro svou činnost, tabulka stránek, tabulka procesů, tabulka otevřených souborů, tabulka uživatelů, proměnné jádra. Vyrovnávací paměti skládá se ze záhlaví a datové části, záhlaví obsahuje číslo svazku a adresu datového bloku na svazku, datová část obsahuje kopii diskového i-node. VP je určena pro podporu komunikace s blokovými periferiemi. 3. Která z těchto oblastí je chráněna proti modifikaci? (2b) Instrukční část (?) 4. Která z těchto oblastí je při spouštění OS prázdná, kdy a čím se plní? (3b) Datové struktury i vyrovnávací paměť. Datové struktury se plní tabulkami a systémovými záznamy, VP se plní bloky, což jsou nejmenší jednotky při vstupně-výstupních diskových operacích, ukládají se zde i adresáře, superbloky, další účetní data souborového systému a data z disků bez souborových systémů. 5. Jak jsou zpřístupněna data charakterizující stav operačního systému (přes jakou systémovou složku)? (3b) /proc (?) 6. Jaké služby provádí jádro pro aplikační programy? (2 řízení a vykonávání procesů (vytvoření, ukončení, pozastavení, vzájemná komunikace) spravedlivé plánování procesů přidělování operační paměti pro vykonávaný proces (odkládání, výměna, stránkování) přidělování vnější paměti (správa souborového systému) přístup k I/O zařízením 7. Z jakých složek sestává operační systém, popište jeho skladbu. (tj. jednotlivé vrstvy) (3
8. Co obsahují tzv. datové struktury jádra, kde jsou k dispozici pro jádro a kde jsou dostupné pro uživatele?(3 Datové struktury jsou záznamy, pole, tabulky (např. tabulka procesů, tabulka otevřených souborů ) Pro jádro jsou k dispozici v operační paměti v oblasti jádra, rozhraní pro přístup do datových struktur pseudo souborový systém /proc. 9. Který konfigurační soubor u OS unix-like určuje postup spouštění systému při bootování? (2 /etc/inittab 10. Co je obsahem pseudo filesystému /proc? (2 Datové struktury jádra (tabulka procesů, u-oblast, tabulka regionů) 11. Co je obsahem adresáře /etc/init.d? (2 startovací skripty Paměť (celkem max. 10 bodů) 1. Popište hierarchii HW paměti počítače. Seřaďte je podle kapacity a přístupové rychlosti k uloženým datům. (2 2. Kde se provádí překlad logických adres na fyzické adresy operační paměti? (2b) v MMU (memory management unit), což je součást procesoru 3. Krátce popište principy stránkování a segmentace v kontextu správy operační paměti? (3b) Stránkování i segmentace jsou strategie pro správu paměti, které řeší problémy s externí fragmentací(není dostatek souvislé paměti k uložení procesu, v paměti je velký počet menších děr). Stránkování stránky jsou bloky adres stejné velikosti. Segmentování segmenty jsou bloky adres, které se mohou lišit velikostí a mohou se překrývat. 4. Uveďte některé možnosti (strategie) pro zrychlení vyhledávání v tabulce stránek. (3b) TBL (Translation Look-aside Buffer ) rychlá vyrovnávací paměť, obsahující částečnou asociativní mapu nejpozději hledaných stránek 5. Ve které složce výpočetního systému (počítače) se provádí virtualizace paměti? (2 V procesoru (v MMU) ji provádí DAT (dynamic address translation).
6. K čemu slouží odkládací oblast paměti (swap space)? Na kterém HW zařízení je implementována? Kdy a jak je vytvořeno (3 Slouží k odkládání procesů z OP a naopak, tuto činnost vykonává modul dlouhodobého plánovač swaper. Je implementována v sekundární paměti (HDD). Odložené stavy vznikají, když je RAM plná a OS si potřebuje některé procesy odswapnout na disk. Procesy (celkem max. 10 bodů) 1. Jaké paměťové oblasti jsou alokovány pro každý spuštěný proces? (2b) Textový segment Datový segment Zásobník 2. Která z těchto alokovaných oblastí je chráněna proti zápisu a která má proměnlivou velikost? (3b) Proti zápisu chráněn textový segment. Proměnlivou velikost má datový segment i zásobník. 3. Popište význam systémových volání kill, wait a exit. (3b) kill() zašle specifikovanému procesu určitý typ signálu wait() převedení rodičovského procesu do zablokovaného stavu exit() ukončí daný proces 4. Co tvoří kontext procesu? V jakých režimech může v daném okamžiku proces proběhnout (nesplést se stavy procesů) (3 uživatelský kontext oblast paměti, kde je prováděný program uložen, v OP systémový kontext obsah pracovních, systémových a stavových registrů, záznam v tabulce procesů, která je umístěná v datových strukturách jádra režimy uživatelský a jádra 5. Na příkazový řádek uživatel zadá příkaz např. ls, Kterými dvěma systémovými voláními se vytvoří nový proces, tj. je spuštěn program ls? (2 fork() exec() 6. Popište dva způsoby ukončení procesu (tj. původce ukončením jakým systémovým voláním) (3 exit() kill() (signál SIGKILL -9) 7. Jaké jsou atributy procesu a jakou utilitou je lze vypsat? (2 identifikátor procesu, priorita, info o souborech, které proces využívá, stav procesu, ukazatel na místo v OP, kde je proces uložen, údaje o čase procesoru, který proces spotřeboval utilita ps 8. Jaký proces je prvním procesem (PID = 0) hierarchie procesů, jak vzniká a k čemu je určený? Jaký je následující proces? (3 Swapper (organizace paměti), vzniká při inicializaci systému vytvoření tabulky procesů swapper je spuštěn jako první, navazuje na něj init (PID=1) Souborový systém (celkem max. 10 bodů) 1. Jaká je struktura logického souborového svazku a co jednotlivé bloky obsahují? (3b) 0. blok - zaváděcí blok slouží k zavedení jádra do paměti - je využit pouze na kořenovém svazku. Je naplněn programem, který je po zapnutí PC zaveden do OP a po jeho spuštění zavádí a startuje UNIX. 1. blok - superblok (nebo "blok popisu svazku") - obsahuje důležité informace o svazku: velikost svazku (počet datových bloků), počet volných datových bloků, seznam volných datových bloků a adresa bloku, který obsahuje seznam dalších datových bloků, velikost oblasti i-node (počet záznamů v seznamu i-node), seznam volných i-node a adresa bloku, který obsahuje seznam dalších volných i-node, index následujícího volného i-node v seznamu
volných i-node, pole zámků pro seznam volných datových bloků a seznam volných i-node, příznak modifikace superbloku 2. blok - datový blok obsahuje oblast i-node a oblast datových bloků 2. Co obsahují jednotlivé položky záznamu tabulky i-node? Kde jsou tabulky i-node trvale uloženy? (3b) pole údajů o souboru (atributy souboru): typ souboru, počet odkazů na soubor, vlastník souboru, skupina vlastníka souboru, přístupová práva, velikost souboru (počet B), adresové pole (13 adres datových bloků), datum a čas posledního přístupu k obsahu souboru, datum a čas poslední změny v obsahu souboru, datum a čas poslední změny v i-node (čas vytvoření aktuálního záznamu) Tabulka trvale uložena v sekundární paměti. 3. Kde je uložen index záznamu (tj. Odkaz do tabulky) i-node pro každý soubor? (2b) v superbloku 4. K čemu jsou určeny příznaky setuid a setgid, u jakého typu souboru mají význam? (3b) setuid nebo setgid oprávnění způsobí, že se při spuštění daného programu nastaví jeho "výkonný" vlastník (setuid) nebo skupina (setgid) na vlastníka souboru význam u spustitelných souborů 5. Kde jsou uložena přístupová práva souboru? V jakém formátu jsou vyjádřená? (2 v tabulce i-node v 9ti bitovém formátu r (read), w (write), x (execute), v pořadí user, group, others (př.rwx-wx---) 6. Kde jsou uloženy identifikátory vlastnictví souboru? V jakém formátu jsou vyjádřeny? (2 v tabulce i-node v číselném formátu - ID 7. V jaké složce virtuální souborové hierarchie (tj. adresářového stromu, který uživatel vidí) se nachází číslo i-node? (2 V adresářovém souboru??? 8. Vysvětlete nebo graficky znázorněte princip symbolického odkazu a pevného odkazu. (4 Symbolický odkaz na soubor v jeho i-node je adresa datového bloku, kde je uložena cesta a jméno souboru, na který je odkazováno Pevný odkaz více jmen souboru mapují do stejného i-node 9. Kde je pole odkazů do datových bloků souboru (tzv. adresa pole) u OS unix-like? Naznačte graficky v tabulce i-node, je to jeden z atributů souboru (13 adres datových bloků)
Systém vstupů/výstupů (celkem max. 10 bodů) 1. Jaké typy I/O zařízení specifikuje OS Unix a čím jsou tyto typy charakterizovány? (2b) Dělení podle způsobu přenášení dat: Zařízení znaková zpracování dat po znacích (1 B) Zařízení bloková zpracování dat po blocích (systémem definovaný počet B zpravidla 1 kb) 2. Která systémová volání provádějí mechanismus přístupu k I/O zařízení? (3b) Rozhraní pro přístup procesu k I/O zařízení volání jádra pro znaková a bloková zařízení zařízení: open otevření zařízení close uzavření zařízení read čtení ze znakového zařízení write zápis do znakového zařízení ioctl pro nastavení řídících charakteristik znakových zařízení 3. Pro jaká I/O zařízení existují vyrovnávací paměti (VP)? Jak a čím se provádí správa VP? (3b) pro bloková zařízení Správu VP provádí jádro prostřednictvím algoritmu, který se snaží minimalizovat frekvenci diskových přístupů (čtení i zápisu) strategie dopředného čtení a zpětného zápisu. 4. Co reprezentuje každé I/O zařízení v OS? (2 speciální soubor 5. Kde se nachází i- node speciálního souboru. (2 v /dev 6. Kde jsou uloženy odkazy na adresy OP rutin, které provádějí požadovanou službu s určitým I/O zařízením. (4 v tabulce zařízení v datových strukturách jádra 7. Co je ovladač zařízení, kde je uložen, co je jeho obsahem, jaké jsou jeho hlavní služby? (3 Ovladač je programový modul rozhraní OS a HW vybavení počítače. Ovladač je množina rutin. Ovladače generují řídící instrukce pro řadič zařízení - převádějí obecné instrukce do interního kódu určitého zařízení. Přijímají a zpracovávají signály od řadiče zařízení (žádost o obsluhu, informace o ukončení operace, informace o chybě při provádění operace) - vyvolání žádosti o přerušení od zařízení. Ovladač se nachází v jádru OS. 8. Jaké služby plní tzv. horní polovina ovladače a jaké dolní polovina ovladače? (3 Dolní úroveň ovladačů rutiny pro komunikaci s řadičem Horní úroveň ovladačů komunikace s moduly obsluhujícími volání jádra