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 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ů. Operační systémy se nachází na mnoha zařízeních, která obsahují “počítač“ - od mobilních telefonů a herních konzolí po webové servery a superpočítače.

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.

Typy operačních systémů[editovat | editovat zdroj]

OS koncových uživatelů[editovat | editovat zdroj]

Dominantním operačním systémem je Microsoft Windows s podílem na trhu přibližně 83,3%. MacOS společnosti Apple Inc. je na druhém místě (11,2%) a varianty Linuxu jsou na třetím místě (1,55%), u koncových uživatelů není moc v oblibě, práce na Linuxu a jeho distribucích probíhá přes textové rozhraní terminál.[zdroj?] V odvětví mobilních zařízení (kombinace smartphonů a tabletů) podle údajů ze třetího čtvrtletí roku 2016 dominuje společnost Android od Googlu s 87,5% a tempem růstu 10,3% za rok, po něm následuje iOS od společnosti Apple s 12,1% a ročním poklesem podílu na trhu 5,2%, zatímco ostatní operační systémy dosahují pouze 0,3%. (Ve spodní části tabulka ve které je rozepsán podíl OS na trhu.)

OS serverů a super počítačů[editovat | editovat zdroj]

V super počítačích a velkokapacitních serverech se používá operační systém Linux (jeho distribuce) pro jeho bezpečnost a spolehlivost.

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 macOS.

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.).

Vývoj operačního systému jako hobby[editovat | editovat zdroj]

Vývoj operačního systému je jednou z nejkomplikovanějších aktivit, do které se může počítačový fanoušek zapojit. Takovýto operační systém může být klasifikován jako ten, jehož kód nebyl přímo odvozený od existujícího operačního systému a má málo uživatelů a aktivních vývojářů.

V některých případech, je "hobby vývoj" považován jako podpora podomácku sestaveného počítače, například jednoduchý jednodeskový počítač poháněný mikroprocesorem 6502. Tento vývoj může mít široké využití pro různé architektury. Vývoj operačního systému může pocházet ze zcela nových nápadů, nebo může být zahájen upravováním stávajícího operačního systému. V obou případech je fanoušek jeho vlastním vývojářem, nebo může spolupracovat s malou, neorganizovanou skupinou lidí, kteří mají podobné zájmy.

Mezi příklady takového operačního systému patří Syllable.

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]

Operační systém 2009[2] 2010[3] 2011[4] 2012[5] 2013[6] 2014[7] 2015[8] 2016[9] 2017[10]
Windows 94,05 % 93,73 % 93,06 % 92,02 % 91,34 % 91,27 % 91,06 % 90,41 % 91,6 %
macOS 4,91 % 5,25 % 5,87 % 6,81 % 7,27 % 7,17 % 7,36 % 7,58 % 6,26 %
Linux 1,01 % 1,00 % 1,06 % 1,16 % 1,38 % 1,55 % 1,57 % 2,00 % 2,15 %
Ostatní 0,03 % 0,03 % 0,00 % 0,00 % 0,00 % 0,00 % 0,00 % 0,00 % 0,00 %

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Operating system na anglické Wikipedii.

  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. [7 http://www.netmarketshare.com/report.aspx?qprid=8&qptimeframe=Y&qpsp=2014&qpch=350&qpmr=100&qpdt=1&qpct=3&qpcustomd=0&qpcid=fw795&qpf=1]
  8. [8 http://www.netmarketshare.com/report.aspx?qprid=8&qptimeframe=Y&qpsp=2015&qpch=350&qpmr=100&qpdt=1&qpct=3&qpcustomd=0&qpcid=fw795&qpf=1]
  9. Market share for mobile, browsers, operating systems and search engines | NetMarketShare. www.netmarketshare.com [online].  [cit. 2017-07-30]. Dostupné online.  
  10. Market share for mobile, browsers, operating systems and search engines | NetMarketShare. www.netmarketshare.com [online].  [cit. 2017-07-30]. Dostupné online.  

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