|
Lecturer(s)
|
-
Vodička Daniel, Bc.
-
Vrba Antonín, Ing.
-
Koutný Tomáš, doc. Ing. Ph.D.
-
Pešička Ladislav, Ing. Ph.D.
-
Skupa Jindřich, Ing.
|
|
Course content
|
1. Introduction, history, architecture and components of OS 2. Process, implementation of a process, constructions to create processes 3. Critical section issues, spin-lock, semaphores, cooperation of processes 4. Implementation of semaphores. Monitors and their implementation 5. Messages, RPC. Common problem of IPC: Dining philosophers. 6. Process scheduling -- general, batch systems. 7. Process scheduling -- interactive systems. Deadlock. 8. Detection and recovery, prevention. Main memory management, basic mechanisms. 9. Virtual memory 10.Management of I/O 11.File systems. 12.Security in OS 13.Case studies -- UNIX (Linux), MS Windows (7, Vista, XP).
|
|
Learning activities and teaching methods
|
Lecture supplemented with a discussion, Seminar classes, Individual study, Practicum
- Individual project (40)
- 40 hours per semester
- Contact hours
- 65 hours per semester
- Preparation for formative assessments (2-20)
- 15 hours per semester
- Preparation for an examination (30-60)
- 36 hours per semester
|
| prerequisite |
|---|
| Knowledge |
|---|
| 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 |
| Skills |
|---|
| 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 |
| Competences |
|---|
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| N/A |
| learning outcomes |
|---|
| Knowledge |
|---|
| 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 |
| Skills |
|---|
| 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 |
| Competences |
|---|
| N/A |
| N/A |
| N/A |
| N/A |
| teaching methods |
|---|
| Knowledge |
|---|
| Lecture supplemented with a discussion |
| Individual study |
| Seminar classes |
| Skills |
|---|
| Practicum |
| Competences |
|---|
| Lecture |
| Practicum |
| Seminar classes |
| assessment methods |
|---|
| Knowledge |
|---|
| Written exam |
| Skills |
|---|
| Seminar work |
| Competences |
|---|
| Written exam |
| Seminar work |
|
Recommended literature
|
-
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.
|