Počítačové systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
B4B33PSY | KZ | 5 | 2P+2C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra kybernetiky
- Anotace:
-
Předmět vysvětlí, co je informace, jak se kódují celá a reálná čísla uvnitř počítače, jak se kóduje informace z reálného
prostředí. Dále jsou popsány principy činnosti počítače, booleova algebra, logická hradla a složitější logické funkce.
Mimo to se předmět věnuje praktickým principům práce s počítačem jako je ovládání příkazové řádky, automatický
překlad, vzdálený přístup, verzovací systémy.
- Požadavky:
- Osnova přednášek:
-
1. Základy textového rozhraní počítače, příkazová řádka. Standard POSIX, hierarchie jmenných prostorů.
2. Skriptovací jazyky kompatibilní s Bourne shell. Přepínače a parametry příkazů, přesměrování vstupů a
výstupů, řetězení příkazů.
3. Základy teorie informace, informační entropie, bit. Kódování informace, reprezentace celých čísel bez
znaménka a se znaménkem. Operace s celými čísly.
4. Reprezentace reálných čísel, čísla s pevnou a plovoucí řádovou čárkou. Standard IEEE 754. Operace
s reálnými čísly.
5. Kódování písmen, barev, obrázků, hudby, videa. Huffmanovo kódování, komprese dat. Detekce chyb.
6. Samoopravné kódy, Hammingův kód. Booleova algebra, logické funkce, logická hradla.
7. Multiplexor, poloviční a celá sčítačka, zřetězená sčítačka, sčítačka s propagací carry.
8. Automatizace překladu, nástroj Make. Knihovny, statické, dynamické knihovny. Organizace dynamických
knihoven.
9. Ladění a profilování programů. Nástroje gdb, valgrind. Dynamická alokace a její kontroly.
10. Testování programů, testovací případy, testování částí. Analýza testovacích případů, pokrytí kódu, pokrytí
podmínek.
11. Vzdálený přístup, šifrovaný přístup, privátní a veřejný klíč. Násobný vzdálený přístup - Terminal Multiplexers
12. Editory pro vzdálený přístup (Vim, emacs). Použití, nastavení a programování editoru Vim.
13. Verzovací systémy, historie, distribuované verzovací systémy, git. Zjišťování stavu projektu, historie změn,
uložení rozpracovaného stavu, uložení změn, nelineární vývoj, vytváření a spojování větví. Vydání verzí.
- Osnova cvičení:
-
1. Seznámení s počítačovou učebnou, základní unixové příkazy, souborové systémy.
2. Vytváření skriptů pro Bash. Manipulace s proměnnými, textové náhrady, reprezentace čísel a výpočtů
3. Parametry skriptů, zpracování přepínačů. Přesměrování vstupů a výstupů, řetězení programů pomocí rour.
4. Reprezentace čísel v jazyce C, přetečení. Násobení a dělení celých čísel, operace modulo. Čísla s pevnou
desetinnou tečkou.
5. Převod čísel do zadané soustavy, dvojková, desítková, šestnáctková a zpět. Uložení a načtení čísel ve formátu
little a big endian.
6. Logické obvody, sestavení sčítačky dvou 8-bitových čísel pomocí hradel.
7. Dokončení sčítačky dvou 8-bitových čísel.
8. Bitové manipulace s informací v jazyce C. Nastavení a vynulování hodnot o velikosti 1 až 7 bitů v paměti.
9. Detekce chyb, CRC kód. Hammingův kód.
10. Nástroj Make, vytvoření Makefile pro jednoduchý projekt, porozumění a úprava složitějších konstrukcí
11. Nástroj GDB, nalezení chyby v programu. Nástroj valgrind, nalezení chyby dynamické alokace.
12. Testování programů. Nalezení pokrytí kódu, nástroj lcov.
13. Vytvoření klíče pro přístup k počítači bez zadání hesla. Použití editoru Vim.
14. Použití klíče pro přístup na gitlab. Založení projektu na gitlabu a změna souborů. Vytvoření větve a sloučení
větve. Vydání verze projektu a merge request.
- Cíle studia:
-
Cílem předmětu je seznámit studenty s reprezentací dat uvnitř počítače a se základními principy práce s počítačem.
- Studijní materiály:
-
Šusta R.: BinarniPrerekvizita.pdf - https://dcenet.fel.cvut.cz/edu/fpga/doc/BinarniPrerekvizita.pdf
Terman Ch.: MIT Computation Structures - https://computationstructures.org/lectures
Patterson, D. A., and J. L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 4rd ed.
Morgan Kaufman, 2011. ISBN: 0123747503.
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: