|
Vyučující
|
-
Vrba Antonín, Ing.
-
Pešička Ladislav, Ing. Ph.D.
-
Skupa Jindřich, Ing.
|
|
Obsah předmětu
|
1. Úvod. Historie OS, rozdělení OS, architektura a komponenty OS 2. Proces jako abstrakce. Implementace procesu. Konstrukce pro vytváření procesů. 3. Problém kritické sekce. Spin-lock. Semafory. Kooperace procesů. 4. Implementace semaforů. Monitory a jejich implementace. 5. Zprávy, RPC. Klasické problémy meziprocesové komunikace: Problém večeřících filosofů. 6. Plánování procesů - obecně, dávkové systémy. 7. Plánování procesů v interaktivních systémech. Uvíznutí (deadlock). 8. Uvíznutí: detekce a zotavení, dynamické zabránění, prevence. Správa hlavní paměti, základní mechanismy. 9. Správa hlavní paměti - virtuální paměť. 10.Vstupy a výstupy. 11.Systémy souborů. 12.Bezpečnost v OS. 13.Případová studie: UNIX (Linux), MS Windows (7, Vista, XP).
|
|
Studijní aktivity a metody výuky
|
Přednáška s diskusí, Seminární výuka, Samostatná práce studentů, Cvičení
- Projekt individuální [40]
- 40 hodin za semestr
- Kontaktní výuka
- 65 hodin za semestr
- Příprava na dílčí test [2-10]
- 15 hodin za semestr
- Příprava na zkoušku [10-60]
- 36 hodin za semestr
|
| Předpoklady |
|---|
| Odborné znalosti |
|---|
| použít základy programování aplikací v programovacím jazyce C nebo Java |
| orientovat se v základních pojmech při tvorbě programového vybavení (program, proces, soubor, vlákno) |
| používat základní datové struktury (fronta, zásobník, hashovací tabulka) |
| charakterizovat základní komponenty a architektury výpočetního systému |
| Odborné dovednosti |
|---|
| ovládat operační systém MS Windows nebo GNU/Linux |
| použít základní systémové nástroje pro správu a informaci o procesech a sytémových prostředcích |
| vytvořit aplikaci ve vybraném programovacím jazyce a testovat její běh |
| detekovat základní problémy při běhu softwaru |
| Obecné způsobilosti |
|---|
| bc. studium: efektivně využívá různé strategie učení k získání a zpracování poznatků a informací, hledá a rozvíjí účinné postupy ve svém učení, |
| bc. studium: kriticky přistupuje ke zdrojům informací, informace tvořivě zpracovává a využívá při svém studiu a praxi, |
| bc. studium: uplatňuje při řešení problémů vhodné metody a dříve získané vědomosti a dovednosti, kromě analytického a kritického myšlení využívá i myšlení tvořivé s použitím představivosti a intuice, |
| bc. studium: je otevřený k využití různých postupů při řešení problémů, nahlíží problém z různých stran, |
| bc. studium: zvažuje možné klady a zápory jednotlivých variant řešení, včetně posouzení jejich rizik a důsledků, |
| bc. studium: efektivně využívá moderní informační technologie, |
| bc. studium: prezentuje vhodným způsobem svou práci i sám sebe před známým i neznámým publikem, |
| bc. studium: rozumí sdělením různého typu v různých komunikačních situacích, správně interpretuje přijímaná sdělení a věcně argumentuje; v nejasných nebo sporných komunikačních situacích pomáhá dosáhnout porozumění, |
| bc. studium: své učení a pracovní činnost si sám plánuje a organizuje, |
| bc. studium: rozpozná problém, objasní jeho podstatu, rozčlení ho na části, |
| bc. studium: vytváří hypotézy, navrhuje postupné kroky, zvažuje využití různých postupů při řešení problému nebo ověřování hypotézy, |
| bc. studium: efektivně využívá dostupné prostředky komunikace, verbální i neverbální, včetně symbolických a grafických vyjádření informací různého typu, |
| bc. studium: používá s porozuměním odborný jazyk a symbolická a grafická vyjádření informací různého typu, |
| bc. studium: vyjadřuje se v mluvených i psaných projevech jasně, srozumitelně a přiměřeně tomu, komu, co a jak chce sdělit, s jakým záměrem a v jaké situaci komunikuje, |
| Výsledky učení |
|---|
| Odborné znalosti |
|---|
| analyzovat základní požadavky kladené na operační systém |
| popsat základní služby poskytované operačním systémem |
| popsat základní moduly operačního systému |
| popsat a ilustrovat základní problémy časového souběhu a kritických sekcí paralelních procesů a vláken |
| vysvětlit základní mechanismy ochrany používané v operačních systémech |
| srovnat různé přístupy k implementaci služeb operačního systému |
| Odborné dovednosti |
|---|
| vytvořit jednoduchou multiprocesní nebo multivláknovou aplikaci |
| navrhnout efektivní metodu ošetření synchronizace a ošetření kritické sekce v kódu programu |
| používat základní příkazy a vytvářet příkazové skripty pod OS GNU/ Linux |
| analyzovat a graficky znázornit průběh zpracování multiprocesní aplikace |
| určit vhodný typ RAID úložiště dle konkrétních potřeb uložení dat |
| Obecné způsobilosti |
|---|
| bc. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých, |
| bc. studium: do jejich řešení zahrnují úvahu o jejich etickém rozměru, |
| bc. studium: srozumitelně a přesvědčivě sdělují odborníkům i laikům informace o povaze odborných problémů a vlastním názoru na jejich řešení, |
| bc. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru, |
| Vyučovací metody |
|---|
| Odborné znalosti |
|---|
| Přednáška s diskusí, |
| Samostatná práce studentů, |
| Seminární výuka (badatelské metody), |
| Odborné dovednosti |
|---|
| Cvičení (praktické činnosti), |
| Obecné způsobilosti |
|---|
| Přednáška založená na výkladu, |
| Cvičení (praktické činnosti), |
| Seminární výuka (badatelské metody), |
| Hodnotící metody |
|---|
| Odborné znalosti |
|---|
| Písemná zkouška, |
| Odborné dovednosti |
|---|
| Seminární práce, |
| Obecné způsobilosti |
|---|
| Písemná zkouška, |
| Seminární práce, |
|
Doporučená literatura
|
-
Dráb, M. Jádro systému Windows, Kompletní průvodce programátora. Computer Press, 2011. ISBN 9788025127315.
-
Snyder, G.; Nemeth, E. Linux, Kompletní příručka administrátora. Computer Press, 2008. ISBN 9788025124109.
-
Stallings, W. Operating systems: Internals and Design Principles. Limited. Pearson Educetion, 2011. ISBN 9780132309981.
-
Stones, R.; Matthew, N. Linux, Začínáme programovat. Computer Press, 2008. ISBN 9788025119334.
-
Tatenbaum, A. Modern Operating system. Pearson Prentice Hall, 2008. ISBN 9780136006633.
-
Tatenbaum, A.; Woodhull, A. Operating systems: design and implementation. Pearson Education International, 2009. ISBN 9780135053768.
|