Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2009/2010

Operační systémy

Typ studia bakalářské
Jazyk výuky čeština
Kód 456-0513/01
Zkratka OSY
Název předmětu česky Operační systémy
Název předmětu anglicky Operating Systems
Kreditů 6
Garantující katedra Katedra informatiky
Garant předmětu Ing. Petr Olivka, Ph.D.

Osnova předmětu

Operační systém, historie, koncept (procesy, soubory, systémová volání, shell), struktura OS (monolitické, vrstvené, virtuální a client-server OS).
Procesy, meziprocesová komunikace, semafory, monitory, zprávy, čítače událostí.
Klasické IPC problémy, problém obědvajících filosofů, problém čtenářů a spisovatelů, problém spícího holiče.
Plánování procesů - Round-Robin, priority, vícenásobné fronty, první job dříve, dvojúrovňové plánování.
Řízení paměti, mono- a multi-programování, využití paměti, pevné oblasti, dynamické oblasti, bitmapy, spojované seznamy, alokace odkladného prostoru.
Virtuální paměť, stránkování, algoritmy výměny stránek.
Modelování algoritmů stránkování, tvorba stránkovacích systémů, segmentace.
Souborový systém - soubory, adresáře, implementace souborového systému.
Bezpečnost souborového systému, bezpečné prostředí, principy ochrany, uživatelská autentizace.
Ochranné mechanismy, chráněné domény, seznamy přístupu, ochranné modely.
Vstup/výstup, řadiče, DMA, principy I/O, obsluha přerušení, ovladače zařízení.
Zablokování, podmínky zablokování, modely, detekce zablokování a obnovení stavu.
Vznik zablokování, prevence zablokování, dvoufázové uzamčení, zdánlivé zablokování.
Nové trendy v OS, RT systémy, OS pro embeded zařízení.

Povinná literatura

Tanenbaum, Andrew S.: Operating Systems: Design and Implemetation (Prentice-Hall, 1987)
Tanenbaum, Andrew S.: Modern Operating Systems (Prentice-Hall, 1992)
Cvičení:
Neil Matthew, Richard Stones: Linux - Začínáme programovat (Computer Press, 2000)
A. D. Marshall, Programming in C - UNIX System Calls and Subroutines using C, http://www.cs.cf.ac.uk/Dave/C/

Doporučená literatura

Maurice J. Bach: Principy operačního systému UNIX (Softwarové Aplikace a Systémy, 1993)
Daniel P. Bovet, Marco Cesani: Understanding the Linux Kernel (O'Reilly, 2003)
Cvičení

Stevens Richard W.: Advanced programming in the Unix Environment (Addison--Wesley, 1993)
Stevens Richard W.: UNIX Network Programming, Volume 1 (Prentice Hall PTR, 1998)
Stevens Richard W.: UNIX Network Programming, Volume 2 (Prentice Hall PTR, 1999)