náhled|Vztah mezi operačním systémem, hardwarem, aplikačním softwarem a uživatelem
Operační systém je základní programové vybavení počítače, které řídí běh uživatelských programů a periférií a zajišťuje komunikaci uživatele s počítačem. Operační systém komunikuje s hardwarem prostřednictvím firmwaru. Ten slouží jako egalizátor, umožňující používat zvolený operační systém univerzálně pro hardware různých výrobců a různých vývojových variant, které mají různou strukturu hardwarového provedení. Firmware unifikuje komunikaci hardwaru navenek směrem k operačnímu systému. Označuje se jako BIOS (Basic Input/Output System) a UEFI (Unified Extensible Firmware Interface), kde UEFI je modernější nástupce systému BIOS a poskytuje rychlejší a bezpečnější proces spouštění spolu s dalšími funkcemi.
Kromě počítačů používají operační systém i některá zařízení, která za počítač nepovažujeme, ale mají v sobě nějaký druh počítače zabudovaný, jako jsou mobilní telefony, herní konzole, televizory, set top boxy, síťové prvky jako routery, apod. Použití operačního systému v určitém zařízení usnadňuje vývoj programového vybavení, a zpřístupňuje jeho vývoj i jiným subjektům než je výrobce zařízení, což obvykle přináší významné rozšíření možností uživatelského nastavení, přizpůsobení a použitelnosti daného zařízení.
Mezi nejpoužívanější druhy operačních systémů osobních počítačů patří Microsoft Windows, macOS a Linux, u mobilních telefonů Android, iOS a HarmonyOS.
Dominantním univerzálním operačním systémem pro osobní počítače je Microsoft Windows s tržním podílem kolem 74,99 %. MacOS od Apple Inc. je na druhém místě (14,84 %) a distribuce Linux jsou souhrnně na třetím místě (2,81 %). V mobilním sektoru (včetně chytrých telefonů a tabletů) činil podíl Androidu v roce 2022 76 %. Podle údajů ze třetího čtvrtletí 2023 převládá podíl Androidu na chytrých telefonech s 81 procenty, následuje iOS od Applu s 16 procenty a HarmonyOS se 3 procenty.
Distribuce Linuxu jsou dominantní v odvětví serverů a superpočítačů. Další specializované třídy operačních systémů (speciální operační systémy), jako jsou vestavěné a real-time systémy, existují pro mnoho aplikací. Existují také operační systémy zaměřené na bezpečnost. Některé operační systémy mají nízké systémové požadavky (např. odlehčené linuxové distribuce). Jiné mohou mít vyšší nároky na systém.
Úvod Operační systém používají prakticky všechny současné počítače a mobilní zařízení a stále se rozšiřující část spotřební elektronicky a dalších zařízení.
Mnoho elektrických a elektronických zařízení je v současné době řízeno mikroprocesorem. Jednodušší zařízení s mikroprocesorem ale s omezenými prostředky bývají řízena zabudovaným jednoúčelovým programem, který vytvořil jejich výrobce, a jejich funkčnost je omezena tímto programem. Některá zařízení umožňují alespoň provádět aktualizace zabudovaného programu.
Pokud je zařízení vybaveno operačním systémem a umožňuje instalovat dodatečné programové vybavení, možnosti přizpůsobení a rozšiřování jeho funkcí se výrazně zvyšují.
Operační systém vytváří prostředí pro běh programů a zároveň prostředí pro komunikaci s uživatelem. Přitom plní především následující funkce:
poskytuje funkce pro ovládání hardwaru – funkce závislé na hardware jsou realizovány pouze jednou v operačním systému vytváří aplikační rozhraní pro programování (API) – poskytuje služby uživatelským programům, čímž se usnadňuje jejich vývoj a zmenšuje se jejich velikost při stejné funkčnosti poskytuje uživatelské rozhraní (UI) umožňující uživateli komunikaci s počítačem nebo jiným zařízením a jeho ovládání spravuje prostředky počítačového systému (procesor, paměť, přístup k souborům, atd.) a zajišťuje jejich přidělování a ochranu před neoprávněným použitím
Operační systém bývá zpravidla uložen ve formě programů a dalších souborů ve vnější paměti, odkud se načítá při startu počítače nebo při zapnutí zařízení; u některých zařízení může být alespoň zčásti uložen v nevolatilní části vnitřní paměti (která se při vypnutí napájení nevymaže). Operační systém lze rozdělit na několik částí (toto členění se může u různých autorů lišit a bývá ovlivněno i konkrétním operačním systémem):
zavaděč operačního systému jádro operačního systému ovladače zařízení vrstva abstrakce hardwaru implementace různých podsystémů (souborových systémů, protokolových zásobníků, síťových a dalších služeb, apod.) v podobě modulů, procesů, knihoven, ovladačů, apod. interpret příkazů vizuální prostředky jako fonty, tvary kurzorů, ikony, dialogy, a další datové součásti operačního systému jako konverzní tabulky, popisy terminálů, apod. konfigurace různých součástí operačního systému systémové programy
Součástí některých verzí Unixu a mnoha distribucí Linuxu jsou interprety různých programovacích jazyků, případně i rozsáhlé vybavení pro vývoj softwaru. Některé ovladače zařízení mohou být dodávány se zařízením, a proto nejsou považovány za součást operačního systému. Operační systémy mohou v různé míře využívat programové vybavení umístěné pevné paměti počítače, které se u osobních počítačů nazývá ROM BIOS.
Na počítači může být nainstalováno více operačních systémů. Pak se buď při startu počítače provádí výběr, který operační systém se má spustit, nebo je možné spustit v jednom systému jeden nebo více virtuálních strojů a v každém spustit zvolený operační systém.
Historie První počítače operační systém neměly. Zárodky operačních systémů lze vysledovat v knihovnách pro obsluhu vstupních a výstupních zařízení. Na počátku 60. let 20. století výrobci počítačů dodávali propracované nástroje pro řízení dávkového zpracování spouštěných programů. První operační systémy byly dodávány k sálovým počítačům (mainframe). V roce 1967 byl firmou IBM vydán operační systém MFT, který podporoval v omezené míře multitasking. Návrh a vývoj operačního systému Multics (1964) vycházel z myšlenky dodávky výpočetního výkonu podobným způsobem, jako jsou realizovány dodávky elektřiny, plynu nebo vody. Multics přinesl řadu nových myšlenek a stal se inspirací pro vytvoření operačního systému Unix, který je používán dodnes, a který se dále stal inspirací pro pozdější systémy (CP/M, DOS, Microsoft Windows, macOS, Linux atd.).
Systémy hromadné obsluhy Operační systém podstatou své činnosti patří do kategorie systémů hromadné obsluhy. Vyskytují se v něm dva základní typy entit, jedny poskytují služby, druhé ony služby potřebují. Vlivem konečné kapacity poskytovatelů služeb mohou někteří žadatelé o službu čekat, až bude příslušný poskytovatel volný, a tak schopný službu poskytnout. Vnikají tak fronty žadatelů o služby. Existují různé strategie vyřizování požadavků, používající pevné, či proměnné priority poskytování služeb žadatelům, různé strategie výběru žadatelů z front atp. V operačních systémech jsou žadateli o služby procesy (programy), poskytovateli služeb jsou vykonavatelé umožňující proces zpracovat, jako procesory, paměti, periférie, atd. Podrobněji např. Žižka M: Teorie front http://multiedu.tul.cz/~miroslav.zizka/multiedu/Teorie_front_1.pdf
Typy operačních systémů Neexistuje univerzální operační systém, který by mohl splnit všechny požadavky, protože mnoho z požadavků je protichůdných. U některých zařízení je dokonce operační systém nežádoucí (např. řízení kávovaru, některé vestavěné systémy).
Desktop Desktop je počítač sloužící uživateli na stole. Patří mezi ně osobní počítače (PC, Mac Pro, notebooky). Cílem systému je nabídnout jednoduchost, univerzálnost, práci s mnoha aplikacemi. Mezi nejznámější operační systémy pro desktopové počítače patří Microsoft Windows, MacOS od firmy Apple, Linux.
Mobilní zařízení Mobilní zařízení jsou konstruována jako přenosné počítače. Cílem systému pro mobilní zařízení je snadnost obsluhy v terénu (z ruky), úspora energie akumulátoru, univerzálnost: telefonování, e-mail, Internet, sociální sítě, specializované aplikace (bankovní, navigační), bezpečnost (v případě krádeže, útoku) atd. Mobilních zařízení je na světě už více než klasických desktopových počítačů a dále se jejich počet zvyšuje. Tím vzrůstá důležitost systémů pro takové počítače, mezi které patří Android, iOS, či HarmonyOS.
Servery Servery obsluhují uživatele Internetu a provádějí složité výpočty. Cílem systému je nabídnout vysoký výpočetní výkon, snadnou údržbu, odolnost proti počítačovým útokům, možnost úpravy systému, škálování. Mezi nejpoužívanější systémy patří Linux a servery z řady Windows NT.
Řízení v reálném čase Pro řízení chodu některých strojů (např. motor automobilu) jsou používány počítače, jejichž cílem je co nejrychlejší reakce na probíhající události. Jsou pro ně vyvíjeny speciální operační systémy reálného času. Do této kategorie by mohly patřit i systémy řídící virtuální realitu.
Bezpečnost Pro počítačové systémy, na které jsou kladeny vysoké bezpečnostní požadavky, existují speciální operační systémy. Obvykle jsou založeny na mikrojádře.
Funkce operačního systému Operační systém plní tři základní funkce: ovládání počítače, abstrakce hardware a správa prostředků.
Ovládání počítače Při definici operačního systému se obvykle omezuje ovládání počítače na schopnost spustit program, předat mu vstupní data a umožnit výstup výsledků na výstupní zařízení. Někdy je však pojem operační systém rozšířen i na grafické uživatelské rozhraní, což může být z důvodů marketingových, ale i problému nejasné hranice mezi operačním systémem a aplikacemi.
U systémů, které disponují jediným grafickým rozhraním (Microsoft Windows, Symbian OS, …) je často grafické rozhraní zahrnováno do operačního systému. U systémů, kde je uživatelské rozhraní možné vytvořit několika nezávislými způsoby nebo různými aplikacemi, je běžné nepovažovat ho za součást systému (unixové systémy).
Abstrakce hardware Operační systém skrývá detaily ovládání jednotlivých zařízení v počítači (tzv. hardware) a definuje standardní rozhraní pro volání systémových služeb tak, že vytváří abstraktní vrstvu s jednoduchými funkcemi (tzv. API), které využívají programátoři aplikací. Tím nejen zjednodušuje programátorům vytváření programů, ale umožňuje programům pracovat i se zařízeními, které v době vzniku programu neexistovaly (například z hlediska programátora není rozdíl mezi otevřením souboru na pevném disku, CD, DVD, flash, síťovém disku nebo Blu-ray). Někdy je uvnitř operačního systému vytvářena podobná abstraktní mezivrstva, která usnadňuje programování ovladačů jednotlivých zařízení (tzv. HAL, ).
Správa prostředků Operační systém přiděluje spuštěným procesům systémové prostředky (operační paměť, procesor, pevný disk, vstupně-výstupní zařízení). V případě potřeby může operační systém procesům přidělené prostředky násilně odebrat (preempce). Operační systém využívá schopnosti procesoru k ochraně sebe samého, ale i k oddělení pracovního prostoru jednotlivých procesů.
Příklady operačních systémů Práci na starších systémech je možné vyzkoušet na adrese https://connect.sdf.org/
Operační systém Unix a systémy založené na Unix
Unix byl původně napsán v nízko úrovňovém jazyce. Ken Thompson napsal programovací jazyk B, založený především na BCPL, na základě svých zkušeností s projektem MULTICS. Programovací jazyk B byl nahrazen programovacím jazykem C a Unixem, přepsaný v C, a tím se dostal do rodiny vzájemně propojených operačních systémů, které měly vliv na každý moderní operační systém.