Detail předmětu

Operating Sytems and Networks

FEKT-NOSSAk. rok: 2011/2012

Základní funkce operačního systému (dále OS), klasický model OS, požadavky na OS, model OS UNIX, filosofie OS UNIX, příkazové interprety, řízení procesů, komunikace a sznchronizace mezi procesy, programování v přikazovém interpretu, procesy a vlákna, synchronizace mezi vlákny, síťové protokoly (Ethernet, TCP/IP, směrování paketů, DNS, DHCP, ICMP, SNMP, LDAP, SMTP,POP3, IMAP4, SSL, SSH), využití unixových soketů pro síťovou komunikaci.

Jazyk výuky

angličtina

Počet kreditů

5

Garant předmětu

Výsledky učení předmětu

Pokročilá znalost práce v OS UNIX, schopnost konfigurovat základní UNIXové deamony a síťové protokoly, vytvářet uživatelké programy i ovladače zařízení a programovat síťové aplikace. Znalost důležitých síťových protokolů.

Prerekvizity

Jsou požadovány znalosti na úrovni bakalářského studia.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Studenti jsou hodnoceni průběžně během studia na cvičeních. Za semestr tak mohou získat max. 30 bodů. Podmínkou udělení zápočtu je účast na povinné části výuky. Závěrečná zkouška je hodnocena max. 70ti body.

Osnovy výuky

1.Klasický model operačního systému, funkce jednotlivých vrstev, požadavky na OS, model OS UNIX, jádro, systémová volání, knihovní funkce. Historie a rodokmen OS UNIX, standardizace, adresářová struktura. Příkazové interprety a práce v nich: zástupné znaky, regulární výrazy, standardní vstup a výstup, přesměrování vstupů a výstupů, roury.
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).

Učební cíle

Seznámit studenty se základními principy a typy operačních systémů, principy a filosofií OS UNIX, prací a programováním v příkazovém interpretu (shellu), nejdůležitějšími deamony a jejich konfigurací, síťovými protokoly, tvorbou uživatelských a síťových aplikací s využitím vláken a programováním driverů pro OS UNIX.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Zařazení předmětu ve studijních plánech

  • Program EEKR-MN magisterský navazující

    obor MN-KAM , 2 ročník, zimní semestr, volitelný oborový

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1.Klasický model operačního systému, funkce jednotlivých vrstev, požadavky na OS, model OS UNIX, jádro, systémová volání, knihovní funkce. Historie a rodokmen OS UNIX, standardizace, adresářová struktura. Příkazové interprety a práce v nich: zástupné znaky, regulární výrazy, standardní vstup a výstup, přesměrování vstupů a výstupů, roury.
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

26 hod., povinná

Vyučující / Lektor

Osnova

1.Manuálové stránky (man, info), použití základních příkazů UNIXu: cat, less, more, head, tail, cut, sort, mail, chmod, chown, chgrp, du, df, tar, bzip. Přesměrování vstupu a výstupu.
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.