Operační systém

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Vztah mezi operačním systémem, hardwarem, aplikačním softwarem a uživatelem

Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho startu a zůstává v činnosti až do jeho vypnutí. Skládá se z jádra (kernel) a pomocných systémových nástrojů. Hlavním úkolem operačního systému je zajistit uživateli možnost ovládat počítač, vytvořit pro procesy stabilní aplikační rozhraní (API) a přidělovat jim systémové zdroje. Operační systém je velmi komplexní software, jehož vývoj je mnohem složitější a náročnější, než vývoj obyčejných programů.

Historie[editovat | editovat zdroj]

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. Přinejmenším z teoretického hlediska můžeme za průlomový operační systém označit Multics vyvíjený od roku 1964, který 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 realizoval celou řadu nových myšlenek a navíc frustrace z jeho složitosti a zdlouhavého vývoje inspirovala vytvoření operačního systému Unix.

Funkce[editovat | editovat zdroj]

Operační systém plní tři základní funkce:

  1. ovládání počítače – umožňuje uživateli spouštět programy, předávat jim vstupy a získávat jejich výstupy s výsledky
  2. abstrakce hardware – vytváří rozhraní pro programy, které abstrahuje ovládání hardware a dalších funkcí do snadno použitelných funkcí (API)
  3. správa prostředků – přiděluje a odebírá procesům systémové prostředky počítače

Ovládání počítače[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[1] 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, anglicky Hardware Abstraction Layer).

Správa zdrojů[editovat | editovat zdroj]

Operační systém přiděluje spuštěným programů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ů.

Stavba operačního systému[editovat | editovat zdroj]

Operační systém se skládá z jádra (též označovaného jako kernel) a pomocných systémových nástrojů.

Jádro je základním kamenem operačního systému. Zavádí se do operační paměti počítače při startu a zůstává v činnosti po celou dobu běhu operačního systému. Jádro může být naprogramováno různými způsoby a podle toho rozeznáváme:

  • monolitické jádro – jádro je jedním funkčním celkem
  • mikrojádro – jádro je velmi malé a všechny oddělitelné části pracují samostatně jako běžné procesy
  • hybridní jádro – kombinuje vlastnosti monolitického jádra i mikrojádra
Související informace naleznete také v článku Kernel.

Grafické uživatelské rozhraní[editovat | editovat zdroj]

Dnes již většina moderních operačních systémů obsahuje grafické uživatelské rozhraní. V některých systémech je přímo integrované v jádru systému – například v původní implementaci MS Windows a Mac OS byl grafický podsystém ve skutečnosti částí jádra. Jiné operační systémy, jak starší, tak novější, jsou modulární – oddělují grafický podsystém od jádra a operačního systému. Již v roce 1980 existovaly systémy UNIX, VMS a mnoho jiných, které byly vybudovány právě tímto způsobem. Dnes na tomto principu funguje také Linux a Mac OS X.

Mnoho OS umožňuje uživateli nainstalovat nebo vytvořit grafické rozhraní podle jeho požadavků. X Window System, ve spojení s GNOME nebo KDE, je běžně dostupný pro většinu UN*Xových systémů. Mnohá na Unixu založená grafická uživatelská rozhraní existují již delší dobu, většinou jsou zděděná od X11. Soutěžení mezi různými prodejci Unixu (HP, IBM, Sun) vedlo k mnoha rozdílům, což způsobilo selhání snahy o standardizaci podle COSE a CDE v 90. letech 20. století.

Grafická uživatelská rozhraní se postupem času vyvíjejí. Například Windows modifikuje své GUI vždy, když je vydána nová verze, a rozhraní Mac OS bylo dramaticky změněno s příchodem Mac OS X v roce 1999.

Vymezení operačního systému[editovat | editovat zdroj]

Do operačního systému obvykle zahrnujeme i základní systémové nástroje, které slouží ke správě počítače (formátování disků, kontrola integrity souborového systému, nastavení systémového času a podobně). Některé doplňující aplikace se však těmto nástrojům velmi blíží nebo je dokonce nahrazují (například součástí Microsoft Windows není diagnostika pevných disků, detailní nástroj na sledování procesů a dalších interních pochodů v systému apod.), a proto není vždy možné systémové nástroje a aplikace jednoznačně rozlišit.

Aplikace a jádro operačního systému můžeme rozlišit podle výše uvedených základních funkcí operačního systému nebo podle toho, jestli je daný spuštěný proces zpracováván v uživatelském nebo jaderném režimu (viz privilegovaný režim).

U operačních systémů s monolitickým jádrem (např. unixové systémy) je jasná hranice mezi systémovým voláním, knihovnami a procesy. Například souborový systém je u nich typická součást operačního systému. Naopak systémy s mikrojádrem (např. systémy Windows NT) tuto hranici jasnou nemají, protože výše zmíněná obsluha souborového systému je zde realizována jako samostatný proces v uživatelském prostoru (tzv. serverem).

Windows API slučuje systémová volání, ovládání uživatelského rozhraní i různé knihovní funkce, takže je obtížné rozpoznat, co je knihovní funkce a co je obdoba systémového volání monolitického jádra.

Vlastní uživatelské rozhraní počítače (příkazový řádek, textové nebo grafické) není obvykle do operačního systému zahrnováno. Nicméně je možné kvůli zvýšení výkonu některé typicky aplikační úkoly přenést do jádra operačního systému (například webový server, grafické uživatelské rozhraní, akcelerované funkce grafických karet apod.).

Operační systém reálného času[editovat | editovat zdroj]

V některých případech je nutné, aby jádro operačního systému poskytovalo záruky a nespoléhalo se na poměrně volná pravidla, která stačí pro běžné využívání operačního systému (např. jako desktop nebo server). Vyšší nároky plní operační systém reálného času, který se používá například pro mobilní telefon, řízení výrobních procesů a podobně. Takový systém pak ale vyžaduje vyšší režii pro řízení procesů, takže pro běžné nasazení není vhodný.

Související informace naleznete také v článku Operační systém reálného času.

Tržní podíl operačních systémů na stolních počítačích[editovat | editovat zdroj]

Informace jsou převzaty ze serveru NETMARKETSHARE[2].

Operační systém 2009 [3] 2010 [4] 2011 [5] 2012 [6] 2013 [7]
Windows 94,05% 93,73% 93,06% 92,02% 91,34%
Mac 4,91% 5,25% 5,87% 6,81% 7,27%
Linux 1,01% 1% 1,06% 1,16% 1,38%
Ostatní 0,03% 0,03% 0% 0% 0%

Související články[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. KOLÁŘ, Petr. Operační systémy [online]. Liberec: 2005-02-01, [cit. 2008-09-07]. Dostupné online.  
  2. [1]
  3. [2]
  4. [3]
  5. [4]
  6. [5]
  7. [6]