Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

courses:a4m35osp [2014/06/06 14:13]
vodamiro [Zkouška 28.5.2014]
courses:a4m35osp [2025/01/03 18:23] (aktuální)
Řádek 144: Řádek 144:
 ==== Zkouška 28.5.2014 ==== ==== Zkouška 28.5.2014 ====
  
-1. termín +   * [[courses/a4m35osp/zkouska_2852014|zkouska 28.05.2014]]
-  - Máme program s .bss, .text, .data, a stack a heap. Jak budou setřídění v pamětí? +
-  - Několik volání v C, jak a kde budu alokování. (otázku jsem úplně nepochopil) +
-  - ... +
-  - Jake objekty máme v ./git/objects (odpověd: blob, tree, commit, tag). Pokud přesuneme všechno z adresářu /a/b do a/c a udělame z toho nový commit, jaky objekty se vytvoře (podle mně: commit a tree jenom). +
-  - Jak se shora omezená cena open source software a konkretně jak v GPL licenci? +
-  - Otázka na mutex, bylo 5 tvrzení a potřeba zjistit která jsou pravdivá. +
-  - Co je potřeba říct při nahlášení nového OS projektu? (moji odpověd: název, popis cílové a současně funkčností,​ licenca, progjazyk, odkaz na repositář s kodem (nebo přímo kod), odkaz na další stránky (mailing lista, blog, web stránky projektu atd))+
  
-Kompletní test: 
  
-1) Uvažujte sekce spustitelného souboru/​programu (.data, .bss, a .text) a další typické oblasti adresního prostoru procesu (zásobník/​stack a halda/​heap). V běžných OS (POSIXového typu i Windows) je pořadí těchto oblastí stejné. Seřaďte uvedené sekce a oblasti v pořadí virtuální adresy od nejnižší virt. adr. po adr. nejvyšší 
  
-Odpověd: ​.text .data .bss heap stack+==== Zkouška 9.6.2014 ====
  
 +   * [[courses/​a4m35osp/​zkouska_962014|zkouska 9.06.2014]]
  
-2) Ze které sekce/​oblasti (jedné nebo více) bude alokovaná/​vyhrazená paměť pro následující konstrukce v jazyce C:+==== Zkouška 25.5.2015 ====
  
-   a) #include <​malloc.h>​ +   ​* ​[[courses/a4m35osp/​zkouska_25052015|zkouska 25.5.2015]]
-      int global_x; +
-       +
-      Odpověď: bss +
-       +
-   b) #include <​malloc.h>​ +
-      int global_x = 30; +
-       +
-      Odpověď: data +
-       +
-   c) #include <​malloc.h>​ +
-      char new_str30(void) { +
-         ​return malloc(31);​ +
-      } +
-       +
-      Odpověď: heap +
-       +
-       +
-3) Co vyjadřuje koncepce "​všechno je soubor/pojmenovaný uzel (inode)",​ jak se kterého systému týká a kde lze pozorovat výjimky z této koncepce ?+
  
-      Odpověď: Týká se zejména Unixových systémůLze přistupovat k různým pamětím, zařízením a socketům jako k souborůmVýjimka: síťový socket (myslím) +==== Zkouška 1.6.2015 ====
-       +
-4) Jaké varianty kompilátoru GCC budeme potřebovat při kompletní portaci OS GNU/Linux z arch. x86_64-linux-gnu (x86) na novou architekturu CPU fireball-linux-gnu (FB) ? Uvažujme, že budeme dále chtít na cílové architektuře systém dále vyvíjet. Kde bude který kompilátor kompilovaný a používaný ?+
  
-      Odpověď: Nejdříve cross-kompilátor,​ kde pomocí cross kompilace zkompilujeme na x86 zdrojové kódy OS do bin.podoby pro arch FB. Poté opět cross kompilací z x86 zkompilujeme nativní kompilátor pro FB, kterým poté budeme nativně kompilovat na architektuře FB. +   [[zkouska 1.6.2015]]
-       +
-       +
-5) Při přístupu k libovolnému souboru uloženému v soub.systému na blokovém zař. dochází v jádrech OS Linux 2.4 a vyšších k uložení dat souboru do operační paměti po úsecích v násobku určité délky. +
- +
-      a) Z čeho je velikost těchto úseků odvozená ? Odpověď: Z násobků velikosti stránky +
-      b) Jak se tento mechanizmus vyrov.pam. nazývá ? Odpověď: PAGE CACHING +
-      c) Kdy dojde k uvolnění takto alokovaného bloku paměti ? Odpověď: Při nedostatku volné paměti (myslím) +
-       +
-6) Vyjmenujte 4 typy objektů které uchovává GIT v adresáři .git/​objects - odpověď: trees, blobs, tags, commits +
-   Dále vysvětlete,​ které objekty v úložišti vzniknou, pokud přesuneme všechny soubory v adresáři "​a/​b"​ do adr. "​a/​c"​ a provedeme commit - odpověď: Vytvoří se dva nové objekty typu tree a commit. +
-    +
-7) Jak je shora omezena open-source produktů obecně a specificky pro GPL ? +
- +
-   ​Odpověď:​ Cena není omezena. +
- +
-8) Rozdíly v bin.reprez. dat (nativní dat.typy CPU, struktury, atp.) z pohledu síťových protokolů mezi různými architekturami a ABI počítačů ? +
- +
-   ​Odpověď:​ rozdílná architektura (64bit vs 32bit, x86 vs ARM), big vs little endian +
- +
-9) Označte pravdivá tvrzení o implementaci mutexů v systému GNU/Linux s moderní verzí GLIBC: +
- +
-    a) ] Při založení mutexu dynamicky či globálně se musí volat systémové volání pro inicializaci mutexu +
-    b) [X] Pokud je zámek volný tak se při zamykání systémové volání jádra neprovádí +
-    c) [X] Při odemykání zámku může být i tak potřeba jádro zavolat +
-    d) [ ] Při volání jádra se předává adrinstrukce, která provádí operaci zamykání v uživprostoru +
-    e) [XPřed vlastním uspáním procesu, který čeká na uvolnění zámku se nejdřív proces přidá na frontu identifikovanou kombinací inode a offsetu nebo specifikací stránky anonymní paměti a pak se znova provádí kontrola podmínky a v případě splnění se uvolní z fronty a dojde k návratu do user-space. +
-    +
- +
-10) Co by mělo obsahovat poč. oznámení o vzniku OS projektu? +
- +
-   ​Odpověď:​  +
-       za jakým účelem vzniká +
-       čím se zabývá +
-       jak se lze připojit do vývoje +
-       kde se dá sehnat zd.kód +
-       pod jakou licencí je +
-        +
-2. termín +
- +
-zadání obdobné jako ke zkoušce 7.6.2013+
 ===== Vypracované otázky z písemek ===== ===== Vypracované otázky z písemek =====
  
courses/a4m35osp.1402056784.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