CTU FEE Moodle
Operating Systems - Introduction
B242 - Summer 2024/2025
Operating Systems - Introduction - 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.
Participants will become advanced users.
Study targets
None
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.
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.
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).
[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