Popis předmětu - B4B35OSY
B4B35OSY | Operační systémy | ||
---|---|---|---|
Role: | P | Rozsah výuky: | 2P+2C |
Katedra: | 13135 | Jazyk výuky: | CS |
Garanti: | Sojka M. | Zakončení: | Z,ZK |
Přednášející: | Sojka M., Štěpán P. | Kreditů: | 4 |
Cvičící: | Osob je mnoho | Semestr: | Z |
Webová stránka:
https://osy.pages.fel.cvut.cz/Anotace:
Student se seznámí se základními koncepty a principy operačních systémů, jako jsou procesy a vlákna, jejich komunikace a plánování, synchronizační prostředky, virtuální paměť, správa periferií, souborové systémy či základní otázky bezpečnosti. Na přednáškách budou tato témata probrána teoreticky s odkazy na implementace převážně v OS Linux a Windows. Od začátku budou uvažovány platformy s vícejádrovými procesory. Na cvičeních budou studenti vypracovávat úlohy v jazyce C, C++ nebo Rust a budou pracovat s operačními systémy Linux a NOVA (mikrojádro).Osnovy přednášek:
1. | Architektura počítače, historie a typy OS, komponenty OS. | |
2. | Obsluha přerušení a vyjímek. Systémová volání. | |
3. | Procesy, vlákna, přepínání kontextu, rozvrhování (plánování), lokální vs. globalní plánování, migrace vláken. | |
4. | Synchronizace, časově závislé chyby, přístup ke sdíleným zdrojům (nepreemptivní sekce, semafory, mutexy, spinlocky, Java synchronize), uváznutí. | |
5. | Meziprocesní komunikace (signály, roury, předávání zpráv) | |
6. | Virtuální paměť, výpadky stránek, odkládání, copy-on-write, spouštění procesů, relokace, dynamické knihovny. | |
7. | Správa paměti, paměťové alokátory (v jádře a uživatelském prostoru, halda). | |
8. | Bezpečnost (security), trusted computing base, buffer overflow, ASLR, antiviry, šifrování. | |
9. | Vstup/výstup, ukládání dat, síťová rozhraní, USB, HID, ovladače zařízení (Linux, Win). | |
10. | Souborové systémy, žurnálování, integrita dat, disková vyrovnávací paměť. | |
11. | Grafický subsystém, trame buffer, HW akcelerace, paralelní výpočty. | |
12. | Virtualizace. | |
13. | Mobilní OS, struktura OS Android a jeho aplikací, spolupráce s cloudovými službami | |
14. | Duševní vlastnictví a jeho ochrana, open source softwarové licence, ekonomické aspekty využití open source |
Osnovy cvičení:
1. | Úvod, shell, opakování programování v C, makefile praktický vstupní test | |
2. | Základy používání shellu, skriptování. | |
3. | Systémová volání - Linux (assembler, C) | |
4. | Systémová volání - na mikrojádře NOVA | |
5. | Synchronizace v C - úloha na vlákna a synchronizaci (Linux) | |
6. | Úloha na IPC (roura mezi vlákny, obsluha signálů, Linux) | |
7. | Zavedení ELF souboru do paměti a spuštění (NOVA) | |
8. | Přepínání vláken (NOVA) | |
9. | Semafor, preemptivní multitasking (NOVA) | |
10. | Bezpečnost, buffer overflow exploit (Linux) | |
11. | Alokace paměti (halda, Linux) | |
12. | Implementace souborového systému (NOVA) | |
13. | Odevzdání souborového systému, zápočet. |
Literatura:
1. | TANENBAUM, Andrew S a Albert S WOODHULL. Operating systems design and implementation. 3rd ed. Upper Saddle River: Prentice-Hall, c2006, xvii, 1054 s. ISBN 0131429388. | |
2. | http://wiki.osdev.org/ | |
3. | http://hypervisor.org/ |
Požadavky:
programovaní C architektury počítačůPředmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 12.10.2024 07:50:51, semestry: L/2023-4, L/2024-5, Z/2025-6, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |