Náplň:
1. všeobecná časť
reprezentácia údajov, assembler, typy inštrukcií, adresné módy, štruktúra
programu v GNU as, linkovanie viacmodulových programov, volacie konvencie,
práca so zasobníkom, knižnice, zavádzanie a spúšťanie programov.
2. IA32/Intel64
základná architektúra, registre, vybrané inštrukcie, pamäťové modely,
virtuálna pamäť
3. vybrané systémové volania UNIXových systémov:
vytváranie a ukončovanie procesov, vstup/výstup, sieťová komunikácia, práca
s terminálom, signály, ...
Praktické veci budú demonštrované pod OS Linux, a budú sa využívať GNU as, ld, gcc, ...
Hodnotenie: úlohy na cvičeniach, (projekt) a záverečná skúška
Skúška predstavuje 70% hodnotenia, hodnotenie práce počas semestra 30%.
Hodnotenie práce počas semestra bude pozostávať z úloh na cvičeniach (20%) a z
projektu (10%, podmienkou pre uznanie projektu bude dosiahnutie minimálnej
hranice (predbežne 90%) z cvičení). Skúška bude mať 2 časti -
písomnú a ústnu. Písomná časť bude mať formu testu
s hodnotením odpovedí: nesprávna -1, nezodpovedaná 0, správna +2.
Študent, ktorý získa aspoň polovičný počet bodov, postupuje na ústnu časť skúšky. Skúšajúci môže (ale nemusí) študentovi ponúknuť známku určenú na základe písomnej časti, študent ponuku môže a nemusí akceptovať. Ak študent nedostane ponuku známky, alebo ak sa ju rozhodne neakceptovať, známka sa určí na základe ústnej skúšky v rozsahu A až FX.
Projekt sa hodnotí na trojstupňovej škále: 0(0%) - neodovzdaný alebo neakceptovateľný, 1(50%) - akceptovaný s výhradami, 2(100%) - akceptovaný bez výhrad.
Pravidlá hodnotenia cvičení:
Rozvrh:
Prednáška: utorok 8:10 2h v A
Cvičenia: streda 13:10, 14:50 2h v H6
Testovač pre úlohy na cvičeniach
Kód pre pridanie sa do tímu v MS Teams: jwubc2g
Materiály:
Prednášky
Zhrnutie IA32
Rýchlokurz programovania v C
RNDr. Vanda Hambálková: Systémové programovanie - podporný materiál k 1. časti
Intel 64 and IA-32 Architectures Software Developer's Manuals
Dokumentácia k x86-64 ABI (vrátane podrobností
volacích konvencií použitých v Linux-e)
Projekty
Projekt umožňuje veľmi dobrým študentom získať ďalšie body do celkového
hodnotenia, odovzdať ho treba najneskôr 2 týždne pred koncom skúškového obdobia.
Odporúča sa projekt najprv skonzultovať.
Príklady tém pre projekty
Projekty je možné robiť aj na iné témy podobného charakteru a zložitosti.
Taktiež je možné robiť projekty typu "Demonštrácia niektorých vlastností
IA-32 v protected mode", tie je však nutné vopred odkonzultovať.