Úvod do operačních systémů
Operační systém je základní softwarové vybavení počítače, které je nahráno do paměti počítače při jeho startu a zůstává v činnosti až do jeho vypnutí. Bez operačního systému by váš počítač nebyl schopný provádět žádné úkoly. Operační systémy se běžně nachází na mnoha zařízeních, která obsahují „počítač“ – mobilní telefony, herní konzole, routery, webové servery, superpočítače atd.
Bez operačního systému by uživatel nemohl pohodlně pracovat s počítačem. Každý program by musel přímo ovládat hardware počítače, což by bylo velmi složité. Operační systém proto funguje jako prostředník mezi uživatelem, aplikacemi a hardwarem počítače.
Základní funkce operačního systému
Operační systém plní 3 základní funkce:
- Ovládání počítače – umožňuje uživateli spouštět aplikace, předávat jim vstupy a získávat jejich výstupy.
- Abstrakce hardware – vytváří rozhraní, díky kterému programy nemusí přímo ovládat hardware počítače (tzv. API).
- Správa prostředků – přiděluje a odebírá procesům systémové prostředky počítače.
Struktura operačního systému
Operační systém je strukturován do vrstev, které komunikují pouze se sousedními vrstvami.

- Uživatel pracuje s aplikačními programy (např. prohlížeč), zároveň ale může zadávat i pokyny operačnímu systému (např. kopírování souboru, nastavení v ovládacích panelech. V omezené míře má přístup i k nastavení ovladačů zařízení.
- Aplikační program využívá základní služby operačních systémů (přístup k souborům, tisk na tiskárně).
- Operační systém nedokáže ovládat hardware (protože hardwaru je spousta druhů a můžou vzniknout po vydání OS) – potřebuje prostředníky.
- BIOS a ovladače jsou prostředníky. BIOS je dodáván spolu se základní deskou, ovladače ke každé periferii.
Typy operačních systémů
Operační systémy se používají na různých typech zařízení. Podle způsobu použití je můžeme rozdělit do několika skupin:
- Desktopové operační systémy – používají se na osobních počítačích a noteboocích. Mezi nejznámější patří Microsoft Windows, Linux nebo macOS.
- Serverové operační systémy – jsou určeny pro provoz serverů a síťových služeb. Zaměřují se především na stabilitu, bezpečnost a vzdálenou správu. Příkladem je Windows Server nebo Linux Ubuntu Server.
- Mobilní operační systémy – používají se v mobilních telefonech a tabletech. Nejznámější jsou Android a iOS.
- Vestavěné operační systémy – nachází se například v automobilech, chytrých televizích, routerech nebo průmyslových zařízeních.
Co se stane po zapnutí počítače
Po zapnutí počítače začne firmware základní desky (BIOS nebo novější UEFI) kontrolovat základní hardware počítače. Následně vyhledá zařízení, ze kterého se má spustit operační systém.
Poté se načte bootloader, který spustí jádro operačního systému (kernel). Operační systém následně načte potřebné ovladače, připraví systémové služby a zobrazí přihlašovací obrazovku uživatele.

Základní části operačního systému
Operační systém se skládá z několika částí, které společně zajišťují jeho fungování. Mezi tři základní části operačního systému patří jádro (kernel), uživatelské rozhraní (user interface) a souborový systém (file system).
Jádro OS (Kernel)
Jádro je centrální část operačního systému, která má na starosti základní funkce správy systémových prostředků a komunikaci mezi hardwarem a softwarem.
Funkce jádra:
- Správa procesů – rozhoduje, které programy budou spuštěny a kdy. Řídí také přepínání mezi procesy, což umožňuje multitasking. Zajišťuje, že každý proces má přístup k nezbytným zdrojům, jako je CPU a paměť.
- Správa paměti – přiděluje paměť jednotlivým procesům a zajišťuje, že se různé procesy navzájem neovlivňují. Implementuje také virtuální paměť, která umožňuje využití fyzické paměti.
- Správa vstupně-výstupních operací – řídí komunikaci s I/O zařízeními, jako jsou disky, klávesnice, myši a tiskárny.
- Ochrana a zabezpečení – implementuje základní bezpečnostní mechanizmy, jako je kontrola přístupu k datům a zdrojům.
Uživatelské rozhraní (user interface)
Uživatelské rozhraní je část operačního systému, která umožňuje uživatelům komunikovat s počítačem.
Existují dva hlavní typy uživatelského rozhraní:
- Textové rozhraní (CLI – Command Line Interface) – uživatelé zadávají příkazy přímo do příkazové řádky. Tento typ rozhraní je často používán v profesionálních a administrativních prostředích, kde je potřeba rychlý a přesný přístup k funkcím systému.
- Grafické uživatelské rozhraní (GUI) – umožňuje uživatelům interakci s počítačem pomocí grafických prvků, jako jsou ikony, okna a menu. Uživatelé ovládají systém pomocí myši a klávesnice. GUI je intuitivnější a uživatelsky přívětivější, což je také důvod, proč je běžně používán v osobních počítačích a mobilních zařízeních.
Příkladem textového rozhraní je příkazový řádek ve Windows nebo terminál v Linuxu. Grafické rozhraní představuje běžné prostředí systému Windows s okny, ikonami a nabídkou Start.
Funkce uživatelského rozhraní:
- Interakce s uživatelem – usnadňuje uživatelům přístup k aplikacím a systémovým funkcím.
- Zobrazení informací – poskytuje vizuální zpětnou vazbu o stavu systému a běžících procesech.
- Správa oken a aplikací – umožňuje uživatelům spravovat více aplikací současně pomocí okenního systému.

Souborový Systém (file system)
Souborový systém je metoda organizace a ukládání dat na úložných médiích, jako jsou pevné disky, SSD, USB disky a optické disky.
Funkce souborového systému:
- Organizace dat – souborový systém organizuje data do souborů a adresářů (složek), což usnadňuje jejich správu a přístup. Každý soubor a adresář má svůj název a umístění.
- Přístupová práva – souborový systém určuje, kdo může přistupovat k jednotlivým souborům a adresářům a jaké operace mohou provádět (čtení, zápis, spouštění).
- Integrita dat – zajišťuje, že data jsou správně uložena a že nedochází k jejich poškození nebo ztrátě. Souborový systém může obsahovat mechanizmy pro kontrolu chyb a obnovu dat.
- Podpora různých typů souborů – souborový systém umožňuje ukládání různých typů souborů, včetně textových dokumentů, obrázků, videí a spustitelných programů.
Architektura operačního systému
Operační systém shromažďuje a řídí všechny operace. Kdyby to nedělal, musela by tyto úkony provádět každá aplikace zvlášť.
Správa procesů
Co je proces?
Proces je běžící instance programu. Když spustíte program, například webový prohlížeč, operační systém vytvoří proces, který obsahuje všechny informace potřebné k tomu, aby program běžel.
Jak operační systém spravuje procesy?
Operační systém je zodpovědný za vytváření, plánování a ukončování procesů. Plánování procesů zahrnuje rozhodování, který proces bude spuštěn v daném čase. Toto je kritické pro zajištění efektivního využití procesoru (CPU).
- Multitasking – v dnešní době většina operačních systémů podporuje multitasking, což znamená, že může současně běžet více procesů. Operační systém přepíná mezi procesy tak rychle, že to vypadá, že všechny běží současně.
- Kooperativní multitasking – jde o starší typ multitaskingu, používaný například ve Windows 98 a starších. Princip je takový, že program obdrží od OS k dispozici procesor a využívá jeho služeb. Když už jej nepotřebuje, vrátí procesor k dispozici operačnímu systému a ten jej přidělí dalšímu programu. Nevýhodou tohoto způsobu je, že pokud program uvázne (zatuhne) v okamžiku, kdy má k dispozici procesor, nemůže jej vrátit operačnímu systému a zatuhne tak celý počítač.
- Preemptivní multitasking – tento novější typ je použit ve Windows XP a mladších, ve všech verzích UNIXu a Linuxu, v MacOS a jiných. Operační systém sám přiděluje a odebírá procesor jednotlivým programům na určitou dobu (desítky nebo stovky milisekund). Výhoda tohoto řešení je v tom, že pokud proces uvázne, operační systém mu procesor po určité době odebere a předá jej dalším programům. Zatuhnutí jednoho procesu nezpůsobí pád celého systému. Výhody preemptivního multitaskingu znáte. Občas je nutné jej používáte ve Windows. Když vám některý proces (např. okno prohlížeče internetu) zatuhne, zmáčknete kombinaci kláves CTRL + ALT + DEL a zavoláte Správce úloh a uváznutý proces ukončíte.
- Synchronizace a komunikace mezi procesy – operační systém také zajišťuje, že procesy mohou spolu komunikovat a synchronizovat své činnosti. Například, když jeden proces čeká na data od jiného procesu, operační systém zajišťuje předání těchto informací.
Diagram znázorňující možné stavy procesů

Zdroj obrázku: https://www.ssl2buy.com/wiki/symmetric-vs-asymmetric-encryption-what-are-differences
Správce procesů – je součást operačního systému, která musí rozhodnout v jakém pořadí přidělí procesům procesor. Rozhoduje, který proces bude aktivní (bude mít procesor) a který aktivní proces bude přerušen. Procesy mají přiděleny priority od vysoké až po nízkou a podle toho je jim přidělován čas procesoru. Procesy s vyšší prioritou mají přednost před procesy s nižší prioritou. V souvislosti se správou procesů se můžete setkat s pojmy rodičovský proces nebo strom procesu.
Rodičovský proces – základní proces aplikace, který se spustí jako první a podle potřeby spouští další procesy. Představit si jej můžete jako strom, kde rodičovský proces je kmen a jeho potomci tvoří větve. Ukončením stromu procesu ukončíte rodičovský proces a všechny procesy, které rodičovský proces spustil.

Správa paměti
Co je paměť?
Paměť počítače je místo, kde jsou uložena data a programy, které jsou aktuálně v provozu. Existují různé typy paměti, jako je RAM (Random Access Memory) a cache.
Jak operační systém spravuje paměť?
Operační systém sleduje, které části paměti jsou využívány a které jsou volné, přiděluje paměť procesům a uvolňuje paměť, když ji procesy již nepotřebují.
- Virtuální paměť – v moderních operačních systémech se často používá virtuální paměť, která umožňuje, aby každý proces měl vlastní adresní prostor. Je to místo, které si operační systém vyhradí na disku. V systémech Windows je tvořena souborem pagefile.sys v kořenové složce systémového disku. V případě, že má operační systém nedostatek místa pro spuštěné procesy v operační paměti, odloží si některá data do virtuální paměti, tedy na disk. Když se mu operační paměť uvolní, data z virtuální paměti do operační paměti přesune zpět. Práce s virtuální paměti je mnohonásobně pomalejší než s fyzickou pamětí RAM, ale zvětší se tak dostupná velikost operační paměti. Virtuální paměť se také označuje jako stránkovací soubor nebo swapovací soubor.

Zdroj obrázku: https://publi.cz/books/11/06.html
- Přidělování paměti – operační systém zajišťuje, že když proces potřebuje více paměti, je mu přidělena z dostupného množství. Pokud paměti není dostatek, může operační systém použít techniky jako stránkování nebo segmentaci k optimalizaci jejího využití.

Zdroj obrázku: https://publi.cz/books/11/06.html
Správa souborů
Co je souborový systém?
Souborový systém organizuje data na disku. Neboli jinými slovy – stará se o to, které části souboru patří k sobě, kde jsou na disku uloženy, a do které složky patří (ve které složce se soubor uživateli zobrazí). Soubor je skupina dat, která významově patří k sobě. Například text jednoho dopisu jsou data, která významově patří k sobě. Fotka z dovolené je také skupina bodů patřících k sobě, proto jsou uloženy v jednom souboru. Složka (adresář) slouží k uspořádání souborů a ostatních složek.
Jak operační systém spravuje soubory?
- Struktura souborového systému – data jsou organizována do souborů a složek (adresářů). Každý soubor má svůj název a umístění, což usnadňuje jejich nalezení a správu.
- Přístupová práva – operační systém zajišťuje, že pouze oprávněné osoby a procesy mohou přistupovat k určitým souborům. To je důležité pro ochranu dat před neoprávněným přístupem.
- Zálohování a obnova – operační systém často obsahuje nástroje pro zálohování a obnovu dat, důležité pro prevenci ztráty dat.
Správa vstupně-výstupních zařízení
Co jsou vstupně-výstupní zařízení?
Vstupně-výstupní (I/O) zařízení zahrnují všechna zařízení, která komunikují s počítačem, například klávesnice, myši, tiskárny, monitory a síťové karty.

Jak operační systém spravuje I/O zařízení?
Operační systém poskytuje ovladače pro každé I/O zařízení. Ovladač je speciální program, který umožňuje operačnímu systému komunikovat s konkrétním hardwarem.
- Ovladače zařízení – každé zařízení má svůj vlastní ovladač, který operační systém používá k odesílání a přijímání dat. Ovladače zajišťují, že zařízení fungují správně. Ovladače základního hardwaru (např. HDD, některých grafických karet apod.) jsou součástí operačního systému. Operační systém ovšem nemůže obsahovat ovladače všeho hardwaru, který existuje. Stejně tak programátoři operačního systému v době vzniku OS nemohli umět ovládat hardware, který ještě neexistoval. Proto bývají ovládače součástí dodávky hardwaru a je nutné dodatečně je doinstalovat – operační systém pak bude umět nový HW používat.
- Přerušení – když zařízení potřebuje pozornost procesoru (například při stisknutí klávesy na klávesnici), vyšle přerušení. Operační systém přeruší aktuální úlohu a vyřeší požadavek zařízení.

Zdroj obrázku: https://publi.cz/books/11/07.html
Shrnutí a kontrolní otázky
Operační systém je základní software každého počítače a dalších chytrých zařízení. Po zapnutí počítače se načítá do operační paměti a zajišťuje komunikaci mezi uživatelem, aplikacemi a hardwarem.
Mezi hlavní úkoly operačního systému patří správa procesů, operační paměti, souborů a vstupně-výstupních zařízení. Operační systém také umožňuje spouštění aplikací a poskytuje uživatelské rozhraní pro práci s počítačem.
Důležitou součástí operačního systému je jádro (kernel), které řídí základní činnosti systému a přiděluje prostředky jednotlivým procesům. Moderní operační systémy využívají preemptivní multitasking a virtuální paměť, díky čemuž dokážou efektivně pracovat s více spuštěnými programy současně.
Operační systémy se používají v osobních počítačích, serverech, mobilních telefonech i dalších zařízeních každodenního života.
- Co je operační systém?
- Jaké jsou základní funkce operačního systému?
- Jaký je rozdíl mezi GUI a CLI?
- Co je proces?
- Co je virtuální paměť?
- K čemu slouží ovladače zařízení?
- Jaký je rozdíl mezi kooperativním a preemptivním multitaskingem?
