Úvod do operačních systémů

B232 - Letní 23/24

Úvod do operačních systémů - A7B38UOS

Kredity 6
Semestry letní
Zakončení zápočet a zkouška
Jazyk výuky čeština
Rozsah výuky 2+2c
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/A7B38UOS
Cíle studia
Žádná data.
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.
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čtů.
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).
Požadavky
Zakončení předmětu je podmíněno dosažením stanoveného součtu bodového hodnocení ze cvičení, zkouškové písemky.