Detail předmětu
Operační systémy a sítě
FEKT-MOSSAk. rok: 2010/2011
Operační systém (dále OS), základní funkce OS, jádro OS, typy jader, procesy, plánování procesů, procesy v UNIXu, signály, komunikace mezi procesy, souborový systém, příkazové interprety, vlákna, synchronizace mezi vlákny, síťové protokoly (Ethernet, WiFi, TCP/IPv4, směrování, IPv6, DNS, DHCP, HTTP, SMTP), využití unixových soketů pro síťovou komunikaci.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Osnovy výuky
2. Procesy, stavy procesů, PCB. Plánování procesů, fronty procesů. Vznik procesu v UNIXu/Linuxu - systémová volání fork a exec. Ukončení procesu, identifikátory spojené s procesy.
3. Čekání na ukončení procesu - wait(), waitpid(). Hierarchie procesů v UNIXu, Signály: vymezení pojmu signál, použití signálů, reakce procesu na signál, významné signály, zasílání signálů procesům (systémové volání kill, příkaz kill), nastavení reakce na signál (systémové volání sigaction). Řízení úloh.
4. Disky a disková pole. Soubory a souborové systémy: VFS. Souborové systémy v UNIXu. Typy souborů v UNIXu. Přístupová práva, ACL. Funkce pro práci se soubory a adresáři,
5. Přesměrování vstupů a výstupů (systémová volání dup, dup2). Komunikace mezi procesy: pojmenované a nepojmenované roury, mapovaná paměť, sdílená paměť, POSIXové fronty zpráv. Vlákna: možné způsoby implementace vláken,
6. Vytvoření vláken, spojování vláken. Synchronizece mezi vlákny (kritická sekce, mutex, semafor, podmíněná proměnná).
7. Počítačové sítě ISO a TCP/IP model. Fyzická vrstva. Linková vrstva, Ethernet, switche. Protokol IPv4: funkce, charakteristika, formát IPv4 datagramu.
8. IPv4 adresy, organizace spravující Internet. Portty. Protokol UDP. Protokol TCP (navazání a ukončení spojení, metoda kouzavého okna)
9. Směrování: přímé a nepřímé doručování, směrovací tabulka, agregace položek směrovací tabulky, základní algoritmus směrování. ICMP protokol.
10.. Síťové rozhraní BSD socket. Funkce TCP klienta, UDP klienta, TCP serveru a UDP serveru. Iterativní a konkurentní servery.
11. IPv6 protokol: Formát IPv6 datagramu, zřetězení hlaviček. Zápis IPv6 adresy. Rozdělení (typy) IPv6 adres. Identifikátory rozhraní. Objevování sousedů. Automatická konfigurace.
12. Protokol DNS: domény,zóny, dotazy, rezolvery, DNS servery,RR věty, typy DNS záznamů. DNSSEC, Protokol HTTP: verze, metody GET, POST, HEAD, hlavičky, cache.
13. Elektronická pošta: formát poštovní zprávy, protokol SMTP, POP3, IMAP4.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2.Shell: proměnné, speciální proměnné shellu, operátory && a ||, podmínky, příkazy expr, test, konstrukce case, cykly, funkce, interaktivní skripty (příkazy read, switch).
3.Souborový systém UNIXU, typy souborových systémů, inode, adresáře, tvrdé a měkké odkazy. Přístupová práva. Funkce pro práci se soubory a s adresáři.
4.Procesy - kontext procesu, stavy procesu, prostředí procesu, proměnné prostředí, spouštění procesů (funkce fork a exec), ukončení procesu(funkce exit, wait, wait3, wait4), proces init.
5.Sdílení souborů mezi procesy. Přesměrování vstupů a výstupů. Komunikace a synchronizace mezi procesy: roury, FIFO (pojmenované roury), signály, sdílená paměť, semafory.
6.Vlákna, synchronizace mezi vlákny (kritická sekce, mutex, semafor, podmíněná proměnná).
7.Bloková a znaková zařízení, ovladače zařízení, speciální soubory, programování ovladačů zařízení pro Linux.
8.Protokoly Ethernet, IEEE 802.11 (WiFi), TCP/IP, směrování paketů.
9.Protokoly ICMP, DHCP, DNS, SNMP.
10.SMTP, POP3, IMAP4, LDAP. Zabezpečená komunikace pomocí SSL, SSH.
11.Sokety. Síťová komunikace pomocí soketů. Klient. Server.
12.Deamoni (cron, at, xinetd, ...), časová synchronisace. Start OS UNIX, inicializační soubory.
13.OS reálného času - požadavky, základní principy, příklady (Windows CE a RT-Linux).
Cvičení na počítači
Vyučující / Lektor
Osnova
2.Regulární výrazy, příkazy grep, find, sed, awk, kolony.
3.Interaktivní programy v shellu.
4.Programy gcc, gmake. Použití služeb pro práci se soubory a adresáři. Vytváření dočasných souborů.
5.Prostředí procesu. Vytváření procesů (funkce fork, exec), ukončení procesu (funkce wait, wait3, wait4, exit, abort). Získávání informací o procesech.
6.Přesměrování vstupů a výstupů (funkce dup, dup2), kolony (funkce pipe, popen, pclose).
7.Pojmenované roury (FIFO), signály, sdílená paměť.
8.Vlákna - vytváření, spojování vláken, zrušení vlákna, data specifická pro vlákna.
9.Synchronizace vláken - příklady na použití mutexů a semafororů.
10.Synchronizace vláken - příklad na synchronizaci vláken pomocí podmíněné proměnné.
11.Programování klienta pomocí soketů.
11.Programování servru pomocí soketů.
12.Dokončení programování klienta pomocí soketů.
13.Zápočtový test.