Course: Fundamentals of Operating Systems

« Back
Course title Fundamentals of Operating Systems
Course code KIV/ZOS
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study 3
Semester Winter
Number of ECTS credits 6
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
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.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester