FI:PV065 UNIX -- program. a správa I - Informace o předmětu
PV065 UNIX -- programování a správa systému I
Fakulta informatikypodzim 2023
- Rozsah
- 2/0/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
- Vyučující
- RNDr. Jan Kasprzak, Ph.D. (přednášející)
- Garance
- RNDr. Jan Kasprzak, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- St 12:00–13:50 D3
- Předpoklady
- Vstupní předpoklady: znalost programovacího jazyka C, znalost UNIXu na uživatelské úrovni (nedoporučuje se zapisovat tento předmět studentům, kteří absolvovali předmět PV004 UNIX teprve v minulém semestru).
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Aplikovaná informatika (program FI, B-AP)
- Aplikovaná informatika (program FI, N-AP)
- Bezpečnost informačních technologií (angl.) (program FI, N-IN)
- Bezpečnost informačních technologií (program FI, N-IN)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Bioinformatika (program FI, B-AP)
- Bioinformatika (program FI, N-AP)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Diskrétní algoritmy a modely (program FI, N-TEI)
- Ekonomické informační systémy (program ESF, B-SI)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informační systémy (program FI, N-IN)
- Informatika a druhý obor (program FI, B-BI)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-GE)
- Informatika a druhý obor (program FI, B-GK)
- Informatika a druhý obor (program FI, B-CH)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-SO)
- Informatika a druhý obor (program FI, B-TV)
- Informatika (angl.) (program FI, D-IN4)
- Informatika (program FI, B-IN)
- Informatika (program FI, B-INF) (2)
- Informatika (program FI, D-IN4)
- Informatika (program FI, M-IN)
- Informatika (program FI, N-IN)
- Informatika ve veřejné správě (program FI, B-AP)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Matematická informatika (program FI, B-IN)
- Nasazení a provoz softwarových systémů (program FI, N-SWE)
- Návrh a vývoj softwarových systémů (program FI, N-SWE)
- Paralelní a distribuované systémy (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, N-IN)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačová grafika (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Počítačové systémy a technologie (angl.) (program FI, D-IN4)
- Počítačové systémy a technologie (program FI, D-IN4)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Počítačové systémy (program FI, N-IN)
- Principy programovacích jazyků (program FI, N-TEI)
- Programování a vývoj aplikací (program FI, B-PVA)
- Programovatelné technické struktury (angl.) (program FI, N-IN)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Služby - výzkum, řízení a inovace (angl.) (program FI, N-AP)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Teoretická informatika (program FI, N-IN)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Učitelství výpočetní techniky pro střední školy (program FI, M-SS)
- Učitelství výpočetní techniky pro střední školy (program FI, M-TV)
- Učitelství výpočetní techniky pro střední školy (program FI, N-SS) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, N-IN)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování obrazu (program FI, N-AP)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- Cíle předmětu
- Náplní předmětu je seznámení se s principy fungování UNIXového operačního systému a s jeho aplikačním rozhraním (služby jádra, některé knihovní funkce). Studenti se seznámí s architekturou jádra systému, systému souborů, procesy atd., a to jak ze strany implementace uvnitř jádra, tak ze strany aplikačního rozhraní UNIXu.
- Výstupy z učení
- Student bude po absolvování předmětu schopen:
Rozumět interakci uživatelského programu v C s jádrem systému.
Použít aplikační rozhraní normy POSIX.1 k tvorbě programů v C.
Umět pracovat se soubory, procesy a dalšími nástroji, poskytovanými jádrem UNIXu aplikacím.
Mít základní představu o vnitřním fungování jádra UNIXu, správě paměti a zařízení jádrem, a fungování procesů uvnitř jádra. - Osnova
- Vývojové prostředí v UNIXu: kompilátory, debuggery, profilery a další nástroje. Druhy knihoven a jejich funkce.
- Normy API pro jazyk C.
- Program podle ANSI C: limity, start a ukončení programu, argumenty, proměnné prostředí, práce s pamětí, vzdálené skoky. Dynamické linkování.
- Jádro: Start jádra, architektura jádra, paměťový model jádra.
- Proces: atributy procesu, stavy procesu, paměť z hlediska procesu, přístupová práva procesu. Program na disku.
- Vstupní/výstupní operace: deskriptor, operace nad deskriptory.
- Organizace souborových systémů: i-uzel a jeho atributy, adresář a práce s adresáři, speciální soubory. Implementace souborových systémů: FAT, S5FS, FFS/UFS, Ext2FS. Moderní souborové systémy.
- Komunikace mezi procesy: roura, signály, spolehlivé signály.
- Pokročilé I/O operace: multiplexing pomocí select() a poll(), zamykání souborů, scatter-gather I/O, paměťově mapované I/O operace.
- Literatura
- Information technology :portable operating system interface. New York: Institute of Electrical and Electronics Engineers, 1996, xxxi, 743. ISBN 1-55937-573-6. info
- STEVENS, W. Richard. Advanced programming in the UNIX environment. Reading, Mass.: Addison-Wesley, 1993, xviii, 744. ISBN 0-201-56317-7. info
- BACH, Maurice J. Principy operačního systému UNIX. 1. vyd. Praha: Softwarové Aplikace a Systémy, 1993, 514 s. ISBN 80-901507-0-5. info
- Výukové metody
- přednáška, nepovinné domácí úkoly
- Metody hodnocení
- Předmět je zakončen písemnou zkouškou/kolokviem. Sestává se z 20 otázek typu výběr z možností, přičemž právě jedna odpověď je správná. Za chybné odpovědi se přidělují záporné body.
- Informace učitele
- http://www.fi.muni.cz/~kas/p065/
Přednáška předpokládá základní znalosti UNIXu z uživatelského hlediska - spouštění příkazů z příkazové řádky, práce se shellem. Je dobré, aby student měl i praktické zkušenosti s výše uvedeným. Proto nedoporučuji zapisovat tento předmět těm, kteří teprve v minulém semestru absolvovali základní kurz UNIXu P004.
První semestr je zaměřen více na programování a méně na správu systému, druhý semestr (PV077) je zaměřen více na správu systému a zejména sítě.
Položky uvedené v sylabu považujte za maximální možnou náplň přednášky. Ne vše, co je zde uvedeno, bude na přednášce řečeno.
Přednáška je zaměřena na UNIXové systémy obecně, nicméně některé konkrétní části budou demonstrovány na systému Linux. - Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (podzim 2023, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2023/PV065