Toto je starší verze dokumentu!


Obsah

Řešení otázek z roku 2010

Co je znakem OS software a produktů obecně?

OS popisuje způsoby výroby a vývoje, které upřednostňují přístup ke kompletnímu výrobnímu postupu pro všechny účastníky.

OS software není zatížen patenty a NDAs, je volně přístupný pro všechny. Na vývoji se podílí komunita, produkty pro koncové uživatele jsou obvykle zdarma. Zdarma ale není podpora a zakázkový vývoj navazujících komponent.

Na jaké úrovni jsou svázané zdrojové kódy a historie unix, GNU, GNU Linux?

1970 Unix vznikl ze zaniklého projektu Multics od Bell Labs 1983 Richard Stallman z MIT založil GNU project pro unix-like system. Založil Free Software Foundation, napsal spoustu toolů pod free licencí 1991 Linus Torvalds napsal vlastní jádro a složil ho s GNU prostředím, vzniká GNU/Linux

Jaké základní fce má Busybox a které programy nahrazuje a proč?

Minimalizované alternativy základních linuxových nástrojů Minimalizovaný webserver Minimalizovaná C knihovna Licence GPL Velikost 500 kB Použití pro vestavěné zařízení s ramdiskem

Jak vypadá základní návaznost komponent od výkonného HW, kde běží aplikace po grafický výstup na XWIN architektuře?

XServer komunikuje přímo s HW a generuje výstup na monitor Klienti jsou aplikace, může jich být víc a na různých mašinách. Přijímají vstupy přes X protokol a říkají Xserveru, co zobrazovat.

Jaký je význam termínu branch (větev) v systému správy verzí (vznik, kdy a proč redukované)?

Branch je kopie zdrojového kódu, na které se může pracovat paralelně s jinými větvemi a později mergovat.

Proč a kdy je v jádře a aplikacích vhodné zjemnit granualitu zamykání na úkor častějšího zamykání (potřeba více cyklů CPU)?

Granualita je množství dat, které zámek chrání. Pokud máme málo procesů, je vhodnější hrubší granulalita, protože režie zamykání bude menší. Pokud ale máme hodně procesů, hrubá granualita by způsobovala kolize a zbytečné čekání.

Vysvětlete jaký je základní přínos signal-slot oproti callback.

Signal-slot je koncept ve frameworku QT, vysílají se signály a kdo má zaregistrovaný příslušný slot, správu přijme. Callback je je pointer na funkci, která se zavolá když je něco hotovo.

Callbacky nejsou type-safe, nemůžeme si být jisti, že se zavolá funkce se správnými argumenty. Callbacky jsou silně vázány se zpracovávací funkcí, nemůžeme jí jen tak vyměnit.

Jak je, případně může být generován zisk společnosti, která investuje do OS systému?

Výrobci HW - zvedne poptávky po HW Placená podpora Dvojí licencování - GNU/proprietální licence, když nechci svůj kód mít open-source Reklama Zakázkový vývoj rozšíření

Jaké jsou základní 2 možnosti pro umístění vyrovnávací paměti pro přístup k souborům na disku a podle jakých klíčů jsou data v paměti organizovaná?

diskové buffery pagecache v RAM

Pagecache je organizovaná podle příslušnosti a offsetu v souboru inode. Offsety jsou zarovnány tak, aby odpovídaly velikosti paměťové stránky (4 kB u x86).

Základní 2 koncepty pro obsluhu klientů, proč pro více klientů je nutná kombinace?

GUI vs příkazová řádka?

Jak je omezena cena open-source produktů obecně a specificky pro GPL licenci?

Cena není omezena, binárky se mohou prodávat. Musí být ale možnost si to zkompilovat sám.

Jaké jsou základní vrstvy operačního systému unixového typu od HW k uživateli?

user user space (aplikace, knihovny) kernel space (ovladače, komunikace s hw, API pro aplikace) hardware

Jak vznikl projekt X Windows a jaké základní principy si tvůrci stanovili?

Projekt vznikl v roce 1984 na MIT

Principy: omezovat složitost, přidávat funkce jenom když to jinak nejde, podporovat rozšiřitelnost, když to nerozumíš, raději to nedělej

Které základní informace a data uchovávají systémy pro správu zdrojových kódů (SCM)?

které složky a soubory jsou pod SCM commity s diffy změn uspořádané do DAG - directed acyclic graph odkazy na branche a tagy odkaz na HEAD branch

Jaký je rozdíl ve výsledném grafu historie/návaznosti verzí při použití „git merge“ a „git rebase“?

Merge spojí dvě větve a k oboum větvím je možno se vrátit. Rebase také udělá merge, ale jednu větev kompletně vyřadí z grafu, nejde s už k ní vrátit.

Čím je zajímavé řešení výlučného běhu (mutex) použité v GLIBC s NPTL na GNU/Linux a za jaké podmínky na souběh úloh se nejvíce výhody projeví?

Používá se futex. Skládá se z wait fronty v kernel space, která je spojená s integerem v user space. Více vláken a procesů může rychle operovat s integerem v user space, relativně náročná změna wait fronty v kernel space se nemusí volat moc často. Výhody se projeví, když jsou aplikace dobře napsané a nevolají změnu wait fronty moc často.

Jak může vést použití open-source řešení ke snížení nákladů v komerční firmě?

snížení licenčních nákladů nezávislost na dodavateli nezávislost na podpoře možnost upravit SW vlastním potřebám

Vysvětlete činnost systémového volání mmap() a jak se váže koncepce použitá k implementaci tohoto volání ke spuštění aplikace v systému GNU/Linux (ale i Windows a Unix)?

MMAP je systémové volání, které umožňuje mapovat soubory nebo zařízení do paměti. Je to výhodné pokud více aplikací přistupuje k stejnému souboru - nemusí si každý nahrávat soubor zvlášť do paměti. Pamět sdílená MMAP je přístupná všemi forky. Dá se použít pro komunikaci mezi procesy.

Proč jádro Linux přešlo zcela na koncept stránkové vyrovnávací paměti (pagecache) a vyrovnávací paměť na úrovni diskových bloků se nepoužívá?

Protože byl požadavek na mapování souborů do paměti (mmap) a data se mohla objevit ve dvou kopiích (nepřípustné).

Porovnejte časovou (algoritmickou) komplexitu různých mechanizmů pro čekání na více událostí (periodické dotazování, select, poll, epoll)?

The same functionality is offered by multiple functions, because two were implemented in Unix almost at the same time by two different groups: select was introduced in BSD Unix, whereas poll was the System V solution. The epoll call[4] was added in 2.5.45 as a way of making the polling function scale to thousands of file descriptors.

Actually, epoll is a set of three calls that together can be used to achieve the polling functionality. For our purposes, though, we can think of it as a single call.

courses/a4m35osp_reseni.1306679206.txt.gz · Poslední úprava: 2025/01/03 18:16 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0