Lecturer(s)
|
-
Kostlán Jiří, Ing.
-
Demko Jan, doc. Ing. Ph.D.
-
Dočkal Jakub, Ing. Ph.D.
-
Jón Karel, 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.
|