Moodle FEL ČVUT
Úvod do operačních systémů
B242 - Letní 2024/2025
Tento předmět se nenachází v Moodle. Na jeho domovskou stránku se můžete dostat pomocí tlačítka "Stránka kurzu (mimo Moodle)" vpravo (pokud existuje).
Úvod do operačních systémů - AD7B38UOS
Kredity | 6 |
Semestry | letní |
Zakončení | Zápočet a zkouška |
Jazyk výuky | čeština |
Rozsah výuky | 14P+6C |
Anotace
Seznámení se základními principy operačních systémů se zaměřením na UNIX a MS Windows. Získání znalostí pokročilého uživatele a jejich procvičení. \\Výsledek studentské ankety předmětu je zde: http://www.fel.cvut.cz/anketa/aktualni/courses/AD7B38UOS
Cíle studia
None
Osnovy přednášek
1. Úvod, historie, typy operačních systémů (OS). Architektura počítačů a počítačových systémů. Základní prvky, procesor, registry procesoru, paměť, disky, vstupně/výstupní zařízení (I/O devices), sběrnice. Provádění instrukcí.
2. Úloha operačního systému. Struktura OS, operace, služby. Uživatelské rozhraní (znakové, grafické). Systémová volání. Systémové programy. Virtuální stroje. Start (booting) a vypnutí OS.
3. Vývoj aplikačních programů. Programovací nástroje. Aplikační programové rozhraní API (Application Programming Interface). Standard POSIX. Vytvoření spustitelného souboru, použití kompilátoru a linkeru. Statické a dynamické (sdílené) knihovny. Ladění programů.
4. Správa procesů. Plánování procesů a vláken (scheduling). Typy plánovačů. Strategie plánování (příklady).
5. Komunikace mezi procesy (IPC InterProcess Communication). Signály, roury, sdílená paměť, soubory, fronty zpráv. Problémy IPC.
6. Synchronizace procesů a vláken. Problém kritické sekce. Synchronizační prostředky (semafory, mutexy, monitory). Příklady použití.
7. Klasické synchronizační úlohy. Uváznutí (deadlock), možnosti řešení. Komunikace v systémech klient-server.
8. Správa paměti. Adresový prostor. Techniky správy paměti, přidělování bloků paměti, stránkování, segmentace. Virtuální paměť.
9. Souborový systém, koncepce, přístupové metody, struktura disků a adresářů. Nástroje pro práci se souborovým systémem.
10. Distribuované systémy. Systémy založené na počítačových sítích. Síťové rozhraní. Distribuované systémy souborů. Synchronizace. Základy programování v počítačových sítích.
11. Bezpečnost. Základy kryptografie. Mechanismy zabezpečení. Útoky na OS, malware. Počítačové viry, trojské koně, spyware, adware. Ochrana proti škodlivému softwaru. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení.
12. Operační systémy reálného času RTOS (real-time operating system). Charakteristika, vlastnosti, základní parametry. Hard a soft-real time. Plánovací mechanismy v RTOS. Příklad RTLinux, VxWorks, PharLap, RTX.
13. OS pro speciální účely, vestavěné (embedded) systémy, příklady.
14. Příkladové studie. Linux, Windows XP, Solaris.
2. Úloha operačního systému. Struktura OS, operace, služby. Uživatelské rozhraní (znakové, grafické). Systémová volání. Systémové programy. Virtuální stroje. Start (booting) a vypnutí OS.
3. Vývoj aplikačních programů. Programovací nástroje. Aplikační programové rozhraní API (Application Programming Interface). Standard POSIX. Vytvoření spustitelného souboru, použití kompilátoru a linkeru. Statické a dynamické (sdílené) knihovny. Ladění programů.
4. Správa procesů. Plánování procesů a vláken (scheduling). Typy plánovačů. Strategie plánování (příklady).
5. Komunikace mezi procesy (IPC InterProcess Communication). Signály, roury, sdílená paměť, soubory, fronty zpráv. Problémy IPC.
6. Synchronizace procesů a vláken. Problém kritické sekce. Synchronizační prostředky (semafory, mutexy, monitory). Příklady použití.
7. Klasické synchronizační úlohy. Uváznutí (deadlock), možnosti řešení. Komunikace v systémech klient-server.
8. Správa paměti. Adresový prostor. Techniky správy paměti, přidělování bloků paměti, stránkování, segmentace. Virtuální paměť.
9. Souborový systém, koncepce, přístupové metody, struktura disků a adresářů. Nástroje pro práci se souborovým systémem.
10. Distribuované systémy. Systémy založené na počítačových sítích. Síťové rozhraní. Distribuované systémy souborů. Synchronizace. Základy programování v počítačových sítích.
11. Bezpečnost. Základy kryptografie. Mechanismy zabezpečení. Útoky na OS, malware. Počítačové viry, trojské koně, spyware, adware. Ochrana proti škodlivému softwaru. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení.
12. Operační systémy reálného času RTOS (real-time operating system). Charakteristika, vlastnosti, základní parametry. Hard a soft-real time. Plánovací mechanismy v RTOS. Příklad RTLinux, VxWorks, PharLap, RTX.
13. OS pro speciální účely, vestavěné (embedded) systémy, příklady.
14. Příkladové studie. Linux, Windows XP, Solaris.
Osnovy cvičení
1. Úvod, práce v grafickém prostředí, jednoduché příkazy.
2. Seznámení se shellem, představení editoru vi.
3. Základní příkazy pro práci se soubory.
4. Standardní vstupy a výstupy procesu, filtry.
5. Regulární výrazy. Program grep.
6. Zpracování textů programy sed a awk.
7. Přístupová práva, program find, zálohováni a komprese dat.
8. Práce s procesy, návratový kód, příkaz test.
9. Proměnné, řídící příkazy shellu, bloky příkazů, funkce, numerické výpočty.
10. Uživatelský vstup, zpracování přepínačů, psaní a ladění skriptů, plánování úloh.
11. Procvičení skriptů, konzultace.
12. Procvičení skriptů.
13. Ukázka tvorby programu v jazyku C.
14. Náhradní testy. Udělení zápočtu.
2. Seznámení se shellem, představení editoru vi.
3. Základní příkazy pro práci se soubory.
4. Standardní vstupy a výstupy procesu, filtry.
5. Regulární výrazy. Program grep.
6. Zpracování textů programy sed a awk.
7. Přístupová práva, program find, zálohováni a komprese dat.
8. Práce s procesy, návratový kód, příkaz test.
9. Proměnné, řídící příkazy shellu, bloky příkazů, funkce, numerické výpočty.
10. Uživatelský vstup, zpracování přepínačů, psaní a ladění skriptů, plánování úloh.
11. Procvičení skriptů, konzultace.
12. Procvičení skriptů.
13. Ukázka tvorby programu v jazyku C.
14. Náhradní testy. Udělení zápočtu.
Literatura
[1] Dráb, M.: Jádro systému Windows. Computer Press, Brno 2011.
[2] Jelínek, L.: Jádro systému Linux. Computer Press, Brno 2008.
[3] Sobel, M. G.: Mistrovství v Linuxu. Příkazový řádek, shell, programování. Computer Press, Brno 2007.
[4] Linux. Dokumentační projekt. 4. aktualizované vydání (volně dostupný dokument na Internetu).
[2] Jelínek, L.: Jádro systému Linux. Computer Press, Brno 2008.
[3] Sobel, M. G.: Mistrovství v Linuxu. Příkazový řádek, shell, programování. Computer Press, Brno 2007.
[4] Linux. Dokumentační projekt. 4. aktualizované vydání (volně dostupný dokument na Internetu).
Požadavky
Zakončení předmětu je podmíněno dosažením stanoveného součtu bodového hodnocení ze cvičení a zkouškové písemky. Bližší informace jsou na http://measure/vyuka/predmety/Y38UOS