Operating Systems - Introduction

Login to access the course.
Operating Systems - Introduction (Main course) AD7B38UOS
Credits 6
Semesters Summer
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 14P+6C
Annotation
Introduction into UNIX and MS Windows operating systems.
Participants will become advanced users.
Course outlines
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.
Exercises outlines
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.
Literature
[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).
Requirements
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