|
|
Hlavní nabídka Prohlížení IS/STAG
Nalezené předměty, počet: 1
Stránkování výsledků vyhledávání
Nalezeno 1 záznamů
Export do Xls
Informace o předmětu
KIT / IOSYS
:
Popis předmětu
Pracoviště / Zkratka
|
KIT
/
IOSYS
|
Akademický rok
|
2023/2024
|
Akademický rok
|
2023/2024
|
Název
|
Operační systémy
|
Způsob zakončení
|
Zkouška
|
Způsob zakončení
|
Zkouška
|
Akreditováno / Kredity
|
Ano,
4
Kred.
|
Forma zakončení
|
Kombinovaná
|
Forma zakončení
|
Kombinovaná
|
Rozsah hodin
|
Přednáška
2
[HOD/TYD]
Cvičení
2
[HOD/TYD]
|
Zápočet před zkouškou
|
Ano
|
Zápočet před zkouškou
|
Ano
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Počítán do průměru
|
ANO
|
Vyučovací jazyk
|
Čeština
|
Obs/max
|
|
|
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Letní semestr
|
0 / -
|
0 / 0
|
0 / 0
|
Počítán do průměru
|
ANO
|
Zimní semestr
|
0 / -
|
0 / 0
|
0 / 0
|
Opakovaný zápis
|
NE
|
Opakovaný zápis
|
NE
|
Rozvrh
|
Ano
|
Vyučovaný semestr
|
Zimní + Letní
|
Vyučovaný semestr
|
Zimní + Letní
|
Minimum (B + C) studentů
|
nestanoveno
|
Volně zapisovatelný předmět |
Ano
|
Volně zapisovatelný předmět
|
Ano
|
Vyučovací jazyk
|
Čeština
|
Počet dnů praxe
|
0
|
Počet hodin kontaktní výuky |
|
Hodnotící stupnice |
A|B|C|D|E|F |
Periodicita |
každý rok
|
Hodnotící stupnice pro zp. před zk. |
S|N |
Periodicita upřesnění |
|
Základní teoretický předmět |
Ne
|
Profilující předmět |
Ne
|
Základní teoretický předmět |
Ne
|
Hodnotící stupnice |
A|B|C|D|E|F |
Hodnotící stupnice pro zp. před zk. |
S|N |
Nahrazovaný předmět
|
UI/IOSYS
|
Vyloučené předměty
|
Nejsou definovány
|
Podmiňující předměty
|
Nejsou definovány
|
Předměty informativně doporučené
|
Nejsou definovány
|
Předměty,které předmět podmiňuje
|
Nejsou definovány
|
Graf četnosti udělených hodnocení studentům napříč roky:
Obrázek PNG
,
XLS
|
Cíle předmětu (anotace):
|
Cílem předmětu je seznámit studenty se základy teorie operačních systémů a praktickým použitím teorie v posixových operačních systémech. Umožnit studentům získat základní praktické zkušenosti a dovednosti při řešení problémů souběhu v posixových OS (se zaměřením na Linux).
|
Požadavky na studenta
|
Aktivní účast na cvičeních, kde se budou prakticky procvičovat některá témata z přednášek. Získání zápočtu je podmíněno odevzdáním praktických příkladů zadaných na cvičeních. Posouzení odevzdaných řešení je součástí hodnocení zkoušky.
|
Obsah
|
Přednášky:
- Definice OS, historie a vývoj OS, přehled koncepcí, systémová volání.
- HW a OS, požadavky OS na HW, virtualizace.
- Procesy, signály, příkazy a systémová volání.
- Vlákna, možné implementace, posixová vlákna.
- Plánování procesů a vláken.
- Konkurence procesů a vláken, problémy souběhu, vzájemné vylučování a možná řešení.
- IPC (Inter-Process Communication), synchronizace, posixová volání: semafor, mutex, bariéra.
- Stav uváznutí (deadlock), řešení a předcházení. Vyhladovění.
- Komunikace procesů, sokety, klient/server nad TCP/IP.
- Správa paměti: historie a současnost, stránkování.
- Soubory a souborové systémy, integrita metadat.
- Víceprocesorové systémy, systémy reálného času a vestavěné systémy.
- Design OS, zabezpečení systému, útoky na systém.
Cvičení:
- Základní pojmy, instalace OS Linux, rozdíly POSIX × Windows: dělení disků, swap, MBR, GPT, boot-manager, role administrátora. Souborový systém: soubory a adresáře (strom, cesta, nepovolené znaky, velikost písmen, skryté soubory, spustitelné soubory, rezervované názvy). GUI (X Window, window-manager), shell.
- Vzdálené přihlášení: šifrování, asymetrická kryptografie, princip protokolu ssh, generování klíčů, autentizace heslem a klíčem, passphrase, agent SSH.
- Příkazy a procesy: základní příkazy: man(1), ls(1), cat(1), echo(1), cd, pwd(1), more(1), less(1), cp(1), mv(1), rm(1), mkdir(1), rmdir(1); další užitečné příkazy: who(1), w(1), finger(1), write(1), talk(1), mesg(1), type(1), file(1), head(1), tail(1), wc(1), sleep(1), date(1). Procesy: ps(1), pstree(1), PID, PPID, terminál, top(1), nice(1), renice(1).
- Signály, job control, plánování úloh: signal(7), kill(1). Job Control: jobs, fg, bg, kill, wait, &, ^C, ^Z, ^\. Pojem démon, atd(8), at(1), cron(8), crontab(1), crontab(5).
- Kompilace programů v Unixu, gcc, make, Makefile, GNU (./configure, make, make install).
- Vznik procesu, posílání signálů, komunikace mezi procesy: fork(2), exec(3), wait(2), exit(3), kill(2).
- Zpracování signálů: kill(2), sigaction(2), pause(2), sigprocmask(2), sigfillset(3).
- Posixová vlákna, kritická sekce: pthreads(7), pthread.h(7), pthread_create(3), pthread_exit(3), pthread_join(3); mutexy posixových vláken: pthread_mutex_init(3), pthread_mutex_lock(3), pthread_mutex_unlock(3), pthread_mutex_destroy(3), posixové semafory: sem_init(3), sem_wait(3), sem_post(3), sem_destroy(3), příklady thread_add, thread_add_mutex, thread_add_sem.
- Synchronizace: synchronizace vláken: bariéry posixových vláken: pthread_barrier_init(3), pthread_barrier_wait(3), pthread_barrier_destroy(3), synchronizace posixovými semafory, příklady sync_barrier, sync_sem, producer_consumer.
- Komunikace procesů, sockety: nepojmenované roury, |, pipe(2), pojmenované roury, mknod(1), mknod filename p, mkfifo(1). Klient/server nad TCP/IP: network byte-ordering, klient, jednoklientový a víceklientový server; getaddrinfo(3)/gethostbyname(3), socket(2), connect(2), read(2) / recv(2), write(2) / send(2), close(2), bind(2), listen(2), accept(2), select(2).
- Převody adres, opakování: procvičování převodu virtuální adresy na adresu fyzickou, stránkování, příprava na zkoušku.
|
Aktivity
|
|
Studijní opory
|
|
Garanti a vyučující
|
|
Literatura
|
-
Základní:
Intel 64 and IA-32 Architectures: Software Developer's Manual: Volume 3A: System Programming Guide, Part 1. [online]. Intel, 2016-09 [cit. 2021-04-27].
-
Základní:
TANENBAUM, Andrew Stuart. Modern Operating Systems. 4. vydání. Pearson, 2014. ISBN 978-0133591620.
-
Základní:
Standard for Information Technology---Portable Operating System Interface (POSIX): Base Specifications, Issue 7. [online]. New York: IEEE Computer Society and The Open Group, 2016-09-30 [cit. 2021-04-27]. ISBN 978-1-5044-2337-3.
( DOI: 10.1109/IEEESTD.2016.7582338 )
-
Rozšiřující:
LOVE, Robert. Linux kernel development. 3. vydání. Upper Saddle River: Addison-Wesley, 2010. ISBN 978-0-672-32946-3.
-
Rozšiřující:
STONES, Richard – MATTHEW, Neil. Linux: Začínáme programovat. 4. vydání. Brno: Computer Press, 2008. ISBN 978-80-251-1933-4.
-
Rozšiřující:
TANENBAUM, Andrew Stuart – WOODHULL, Albert. Operating Systems Design and Implementation. 3. vydání. USA: Prentice Hall, 2006. ISBN 978-0-13-142938-3.
-
Rozšiřující:
STALLINGS, William. Operating Systems: Internals and Design Principles. 9. vydání. Pearson, 2018. ISBN 978-0-13-467095-9.
-
Rozšiřující:
MAUERER, Wolfgang. Professional Linux Kernel Architecture. Wrox, 2008. ISBN 978-0470343432.
-
Rozšiřující:
TANENBAUM, Andrew Stuart – AUSTIN, Todd. Structured Computer Organization. 6. vydání. Pearson, 2012. ISBN 978-0132916523.
-
Rozšiřující:
BOVET, Daniel Pierre – CESATI, Marco. Understanding the Linux Kernel. 2. vydání. USA: O'Reilly, 2005. ISBN 978-0596005658.
-
Doporučená:
HUDEC, Tomáš. SSH -- Postup pro vzdálené přihlášení pomocí klíče. [online]. Pardubice: Univerzita Pardubice, FEI, 2021-03-02 [cit. 2021-04-27].
-
Doporučená:
BRANDEJS, Michal. UNIX: Materiály k výuce. [online]. Brno: FI MU, 2008 [cit. 2021-04-27].
|
Předpoklady - další informace k podmíněnosti studia předmětu |
Uživatelská znalost práce s operačním systémem, znalost algoritmizace a programovacího jazyka C, základoškolská a středoškolská matematika (např. procenta, mocniny, rovnice) a logické uvažování. |
Získané způsobilosti |
Student po absolvování předmětu prokazuje znalosti z teorie OS, je schopen vysvětlit principy OS, řešit problémy souběhu (kritické sekce a synchronizace) nástroji OS. |
Vyučovací metody |
- Přednášení
- Monologická (výklad, přednáška, instruktáž)
- Dialogická (diskuze, rozhovor, brainstorming)
- Pozorování
- Demonstrace
- Nácvik dovedností
- Pracovní činnosti
|
Hodnotící metody |
- Ústní zkouška
- Písemná zkouška
- Posouzení zadané práce
- Didaktický test
|
|
|
|