Operační systém určuje naše zkušenosti s počítačem. Je to první software, který vidíme, když zapneme počítač, a poslední software, který vidíme, když počítač vypneme. Je to software, který umožňuje používat všechny programy, které používáme. Operační systém organizuje a řídí hardware na našich stolech a v našich rukou, přesto většina uživatelů nedokáže s jistotou říci, co přesně operační systém dělá.

V tomto vydání HowStuffWorks vám řekneme, co musí software dělat, aby se mohl nazývat operačním systémem, a ukážeme vám, jak operační systém pracuje, aby proměnil soubor hardwaru ve výkonný počítačový nástroj!

The Bare Bones
Je důležité si uvědomit, že ne všechny počítače mají operační systém. Například počítač, který ovládá mikrovlnnou troubu ve vaší kuchyni, operační systém nepotřebuje. Má jednu sadu relativně jednoduchých úkolů, které má plnit, velmi jednoduché vstupní a výstupní metody (klávesnici a obrazovku LCD) a jednoduchý, nikdy se neměnící hardware, který má ovládat. Pro takový počítač by byl operační systém zbytečným zavazadlem, které by přidávalo složitost tam, kde není potřeba. Místo toho počítač v mikrovlnné troubě jednoduše neustále spouští jediný program.

Pro počítačové systémy, které přesahují složitost mikrovlnné trouby, však může být operační systém klíčem k větší efektivitě provozu a snadnějšímu vývoji aplikací. Všechny stolní počítače mají operační systém. Nejběžnější jsou operační systémy rodiny Windows, operační systémy rodiny UNIX a operační systémy Macintosh. Existují stovky dalších operačních systémů pro jednoúčelové aplikace, včetně specializací pro mainframy, robotiku, výrobu, řídicí systémy reálného času atd.

Na nejjednodušší úrovni dělá operační systém dvě věci:

  • Spravuje hardwarové a softwarové prostředky počítačového systému. Mezi tyto prostředky patří například procesor, paměť, místo na disku atd.
  • Zajišťuje stabilní a konzistentní způsob, jak mohou aplikace pracovat s hardwarem, aniž by musely znát všechny jeho podrobnosti.

První úkol, správa hardwarových a softwarových prostředků, je velmi důležitý, protože různé programy a vstupní metody soupeří o pozornost centrální procesorové jednotky (CPU) a požadují paměť, úložiště a šířku vstupního/výstupního (I/O) pásma pro své vlastní účely. V této roli hraje operační systém roli dobrého rodiče, který se stará o to, aby každá aplikace dostala potřebné zdroje a zároveň si pěkně pohrála s ostatními aplikacemi, a také hospodaří s omezenou kapacitou systému k co největšímu prospěchu všech uživatelů a aplikací.

Druhý úkol, zajištění konzistentního aplikačního rozhraní, je obzvláště důležitý, pokud má operační systém používat více než jeden určitý typ počítače nebo pokud je hardware tvořící počítač někdy otevřený změnám. Konzistentní aplikační programové rozhraní (API) umožňuje vývojáři softwaru napsat aplikaci na jednom počítači a mít vysokou míru jistoty, že poběží i na jiném počítači stejného typu, i když se množství paměti nebo množství úložného prostoru na obou strojích liší. I v případě, že je konkrétní počítač jedinečný, může operační systém zajistit, že aplikace budou fungovat i při upgradech a aktualizacích hardwaru, protože správou hardwaru a distribucí jeho prostředků je pověřen operační systém, a nikoli aplikace. Windows 98 je skvělým příkladem flexibility, kterou operační systém poskytuje. Systém Windows 98 běží na hardwaru od tisíců dodavatelů. Může pojmout tisíce různých tiskáren, diskových jednotek a speciálních periferií v jakékoli možné kombinaci.

V rámci široké rodiny operačních systémů existují obecně čtyři typy, rozdělené podle typů počítačů, které ovládají, a druhu aplikací, které podporují. Tyto široké kategorie jsou následující:

  • Operační systém reálného času (RTOS) – Operační systémy reálného času se používají k řízení strojů, vědeckých přístrojů a průmyslových systémů. RTOS má obvykle velmi malé možnosti uživatelského rozhraní a žádné nástroje pro koncového uživatele, protože systém bude při dodání k použití „uzavřenou krabicí“. Velmi důležitou součástí RTOS je řízení zdrojů počítače tak, aby se určitá operace provedla pokaždé přesně za stejnou dobu. Ve složitém stroji může být rychlejší pohyb součásti jen proto, že jsou k dispozici systémové prostředky, stejně katastrofální, jako když se nepohne vůbec, protože je systém zaneprázdněn.
  • Jeden uživatel, jedna úloha – Jak již název napovídá, tento operační systém je navržen pro správu počítače tak, aby jeden uživatel mohl efektivně dělat jednu věc v daném okamžiku. Palm OS pro kapesní počítače Palm je dobrým příkladem moderního operačního systému pro jednoho uživatele a jednu úlohu.
  • Jednouživatelský, víceúlohový – Tento typ operačního systému dnes používá většina lidí na svých stolních a přenosných počítačích. Windows 98 a MacOS jsou příkladem operačního systému, který umožní jednomu uživateli pracovat s několika programy najednou. Je například zcela možné, aby uživatel systému Windows psal poznámku v textovém editoru a zároveň stahoval soubor z internetu a zároveň tiskl text e-mailové zprávy.
  • Víceuživatelský – víceuživatelský operační systém umožňuje mnoha různým uživatelům využívat prostředky počítače současně. Operační systém musí zajistit, aby požadavky různých uživatelů byly vyvážené a aby každý z jimi používaných programů měl k dispozici dostatečné a oddělené prostředky, aby problém jednoho uživatele neovlivnil celou komunitu uživatelů. Příkladem víceuživatelských operačních systémů jsou Unix, VMS a mainframové operační systémy, například MVS.

Je důležité zde rozlišovat mezi víceuživatelskými operačními systémy a jednouživatelskými operačními systémy, které podporují práci v síti. Windows 2000 a Novell Netware mohou podporovat stovky nebo tisíce uživatelů připojených k síti, ale samotné operační systémy nejsou skutečnými víceuživatelskými operačními systémy. Jediným „uživatelem“ systému Windows 2000 nebo Netware je správce systému. Síťová podpora a všechna vzdálená přihlášení uživatelů, která síť umožňuje, jsou v celkovém plánu operačního systému programem, který spouští administrátorský uživatel.

S ohledem na různé typy operačních systémů je čas podívat se na základní funkce poskytované operačním systémem.

Probuzení
Po zapnutí napájení počítače se obvykle jako první spustí program, který je souborem instrukcí uložených v paměti ROM (read-only memory) počítače a který prověřuje hardware systému, zda vše funguje správně. Tento test POST (Power-on self test) kontroluje procesor, paměť a základní vstupně-výstupní systém (BIOS) na přítomnost chyb a výsledek uloží do speciálního místa v paměti. Po úspěšném dokončení testu POST začne software nahraný v paměti ROM (někdy nazývaný firmware) aktivovat diskové jednotky počítače. Ve většině moderních počítačů najde počítač po aktivaci jednotky pevného disku první část operačního systému: zavaděč bootstrap.

Zavaděč bootstrap je malý program, který má jedinou funkci: Načte operační systém do paměti a umožní mu zahájit činnost. V nejzákladnější podobě zavaděč bootstrap nastavuje malé programy ovladačů, které komunikují s různými hardwarovými subsystémy počítače a řídí je. Nastavuje oddíly paměti, v nichž je uložen operační systém, uživatelské informace a aplikace. Vytváří datové struktury, které budou uchovávat nesčetné množství signálů, příznaků a semaforů, které se používají ke komunikaci v rámci subsystémů a aplikací počítače a mezi nimi. Poté předá řízení počítače operačnímu systému.

Úkoly operačního systému v nejobecnějším smyslu spadají do šesti kategorií:

  • Správa procesoru
  • Správa paměti
  • Správa zařízení
  • Správa úložiště
  • Aplikační rozhraní
  • Uživatelské rozhraní

Někteří sice tvrdí, že operační systém by měl dělat více než těchto šest úkolů, a někteří výrobci operačních systémů do svých operačních systémů zabudovávají mnohem více obslužných programů a pomocných funkcí, těchto šest úloh definuje jádro téměř všech operačních systémů. Podívejme se na nástroje, které operační systém používá k provádění každé z těchto funkcí.

Správa procesoru
Jádro správy procesoru spočívá ve dvou souvisejících otázkách:

  • Zajištění, aby každý proces a aplikace dostaly dostatek času procesoru pro správnou funkci
  • Využití co největšího počtu cyklů procesoru pro skutečnou práci

Základní softwarovou jednotkou, se kterou operační systém pracuje při plánování práce vykonávané procesorem, je v závislosti na operačním systému buď proces, nebo vlákno.

Je lákavé uvažovat o procesu jako o aplikaci, ale to dává neúplnou představu o tom, jak procesy souvisejí s operačním systémem a hardwarem. Aplikace, kterou vidíte (textový procesor nebo tabulkový procesor nebo hra), je skutečně proces, ale tato aplikace může způsobit spuštění několika dalších procesů pro úkoly, jako je komunikace s jinými zařízeními nebo jinými počítači. Existuje také mnoho procesů, které běží, aniž by vám poskytly přímý důkaz o tom, že vůbec existují. Proces je tedy software, který provádí nějakou činnost a může být řízen – uživatelem, jinými aplikacemi nebo operačním systémem.

Jsou to spíše procesy než aplikace, které operační systém řídí a plánuje jejich provádění procesorem. V systému s jednou úlohou je plánování přímočaré. Operační systém nechá aplikaci začít běžet a pozastaví její provádění pouze na dobu nezbytně nutnou k vyřízení přerušení a uživatelských vstupů. Přerušení jsou speciální signály vysílané hardwarem nebo softwarem do procesoru. Je to, jako kdyby některá část počítače náhle zvedla ruku a požádala procesor o pozornost při živém jednání. Někdy operační systém naplánuje prioritu procesů tak, aby byla přerušení maskována – to znamená, že operační systém bude přerušení z některých zdrojů ignorovat, aby mohla být určitá práce dokončena co nejrychleji. Některá přerušení (například přerušení způsobená chybovými stavy nebo problémy s pamětí) jsou tak důležitá, že je nelze ignorovat. Tato nemaskovatelná přerušení (NMI) musí být vyřízena okamžitě, bez ohledu na ostatní probíhající úlohy.

Přestože přerušení do určité míry komplikují provádění procesů v systému s jednou úlohou, ve víceúlohovém systému je práce operačního systému mnohem složitější. Nyní musí operační systém uspořádat provádění aplikací tak, abyste uvěřili, že se děje několik věcí najednou. To je komplikované, protože procesor může v jednu chvíli dělat pouze jednu věc. Aby operační systém vyvolal zdání, že se děje mnoho věcí najednou, musí tisíckrát za sekundu přepínat mezi různými procesy. Takto se to děje.

  • Proces zabírá určité množství paměti RAM. Využívá také registry, zásobníky a fronty v rámci paměťového prostoru procesoru a operačního systému.
  • Pokud dva procesy pracují ve více úlohách, operační systém přidělí určitý počet cyklů provádění procesoru jednomu programu.
  • Po uplynutí tohoto počtu cyklů operační systém vytvoří kopie všech registrů, zásobníků a front používaných procesy a zaznamená bod, ve kterém se proces ve svém provádění zastavil.
  • Poté načte všechny registry, zásobníky a fronty používané druhým procesem a povolí mu určitý počet cyklů procesoru.
  • Po jejich dokončení vytvoří kopie všech registrů, zásobníků a front používaných druhým programem a načte první program.

Všechny informace potřebné ke sledování procesu při přepínání jsou uloženy v datovém balíčku zvaném blok řízení procesu. Blok řízení procesu obvykle obsahuje:

  • Identifikační číslo, které identifikuje proces
  • Ukazatele na místa v programu a jeho datech, kde naposledy proběhlo zpracování
  • Obsah registrů
  • Stavy různých příznaků a přepínačů
  • Ukazatele na horní a dolní hranice paměti potřebné pro proces
  • Seznam souborů otevřených procesem
  • Priorita procesu
  • Stav všech I/O zařízení potřebných pro proces

Kdy se změní stav procesu, například z čekajícího na aktivní nebo z pozastaveného na běžící, musí být informace v řídicím bloku procesu použity stejně jako údaje v jakémkoli jiném programu k řízení provádění části operačního systému přepínající úlohy.

Toto přepínání procesů probíhá bez přímého zásahu uživatele a každý proces dostane dostatek cyklů procesoru, aby mohl splnit svůj úkol v přiměřeném čase. Potíže však mohou nastat, pokud se uživatel snaží, aby současně fungovalo příliš mnoho procesů. Samotný operační systém vyžaduje určité množství cyklů procesoru, aby mohl provádět ukládání a výměnu všech registrů, front a zásobníků aplikačních procesů. Pokud je spuštěno dostatečné množství procesů a operační systém není pečlivě navržen, může systém začít využívat naprostou většinu dostupných cyklů procesoru spíše k výměně dat mezi procesy než k jejich spouštění. Když k tomu dojde, nazývá se to thrashing a obvykle to vyžaduje nějaký přímý zásah uživatele, který procesy zastaví a vrátí do systému pořádek.

Jedním ze způsobů, jak návrháři operačních systémů snižují pravděpodobnost thrashingu, je omezení potřeby nových procesů k provádění různých úloh. Některé operační systémy umožňují vytvoření „procesu-lite“, nazývaného vlákno, který se může zabývat veškerou prací náročnou na procesor jako běžný proces, ale zpravidla se nezabývá různými typy I/O a nevytváří struktury vyžadující rozsáhlý blok řízení procesu jako běžný proces. Proces může spustit mnoho vláken nebo jiných procesů, ale vlákno nemůže spustit proces.

Všechno plánování, které jsme dosud probírali, se týkalo jednoho procesoru. V systému se dvěma nebo více procesory musí operační systém rozdělit pracovní zátěž mezi jednotlivé procesory a snažit se vyvážit požadavky požadovaných procesů s dostupnými takty jednotlivých procesorů. Asymetrické operační systémy využívají jeden procesor pro vlastní potřeby a aplikační procesy rozdělují mezi zbývající procesory. Symetrické operační systémy rozdělují samy sebe mezi různé procesory a vyvažují požadavky oproti dostupnosti procesorů i v případě, že běží pouze samotný operační systém.

I když je operační systém jediným softwarem s potřebou vykonávání, není procesor jediným zdrojem, který je třeba naplánovat. Správa paměti je dalším klíčovým krokem k zajištění hladkého chodu všech procesů.

Správa paměti a úložiště
Když operační systém spravuje paměť počítače, je třeba splnit dva široké úkoly:

  • Každý proces musí mít dostatek paměti, ve které může vykonávat svou činnost, a nesmí zasahovat do paměťového prostoru jiného procesu ani do něj nesmí být jiným procesem zasahován.
  • Různé typy paměti v systému musí být správně využity, aby každý proces mohl běžet co nejefektivněji.

První úkol vyžaduje, aby operační systém nastavil hranice paměti pro typy softwaru a pro jednotlivé aplikace.

Pro příklad se podívejme na imaginární systém s 1 megabajtem (1000 kilobajtů) paměti RAM. Během zaváděcího procesu je operační systém našeho imaginárního počítače navržen tak, aby došel až na vrchol dostupné paměti a pak se „vrátil“ dostatečně daleko, aby uspokojil potřeby samotného operačního systému. Řekněme, že operační systém potřebuje ke svému běhu 300 kilobajtů. Nyní operační systém přejde na dno fondu operační paměti a začne vytvářet různý software ovladačů potřebný k ovládání hardwarových subsystémů počítače. V našem imaginárním počítači ovladače zabírají 200 kilobajtů. Po úplném načtení operačního systému tedy zbývá 500 kilobajtů pro aplikační procesy.

Když se aplikace začnou načítat do paměti, načítají se v blocích o velikosti určené operačním systémem. Pokud je velikost bloku 2 kilobajty, pak každý načítaný proces dostane kus paměti o velikosti násobku 2 kilobajtů. Aplikace se načítají v těchto pevně stanovených velikostech bloků, přičemž bloky začínají a končí na hranicích stanovených slovy o velikosti 4 nebo 8 bajtů. Tyto bloky a hranice pomáhají zajistit, že se aplikace nebudou načítat přes vzájemný prostor o jeden nebo dva špatně spočítané bity. Když je toto zajištěno, vyvstává větší otázka, co dělat, když je 500kilobajtový prostor pro aplikace zaplněn.

Ve většině počítačů je možné přidat paměť nad rámec původní kapacity. Můžete například rozšířit paměť RAM z 1 na 2 megabajty. To funguje dobře, ale bývá to poměrně drahé. Také to ignoruje základní fakt výpočetní techniky – většina informací, které aplikace ukládá do paměti, se v daném okamžiku nepoužívá. Procesor může přistupovat do paměti vždy jen k jednomu místu, takže naprostá většina paměti RAM je v každém okamžiku nevyužita. Vzhledem k tomu, že místo na disku je ve srovnání s pamětí RAM levné, pak přesun informací v paměti RAM na pevný disk může výrazně rozšířit místo v paměti RAM bez jakýchkoli nákladů. Tato technika se nazývá správa virtuální paměti.

Disková paměť je pouze jedním z typů paměti, které musí operační systém spravovat, a je nejpomalejší. Seřazeny podle rychlosti jsou tyto typy paměti v počítačovém systému:

  • Vysokorychlostní mezipaměť – Jedná se o rychlé, relativně malé množství paměti, které je k dispozici procesoru prostřednictvím nejrychlejších připojení. Řadiče mezipaměti předpovídají, které části dat bude procesor potřebovat příště, a stahují je z hlavní paměti do vysokorychlostní mezipaměti, aby urychlily výkon systému.
  • Hlavní paměť – Jedná se o paměť RAM, která se při koupi počítače měří v megabajtech.
  • Sekundární paměť – Jedná se nejčastěji o nějaký druh rotujícího magnetického úložiště, které uchovává aplikace a data k dispozici pro použití a slouží jako virtuální paměť RAM pod kontrolou operačního systému.

Operační systém musí vyvažovat potřeby různých procesů s dostupností různých typů paměti a přesouvat data v blocích (tzv. stránkách) mezi dostupnou pamětí podle rozvrhu procesů.

Správa zařízení
Cesta mezi operačním systémem a prakticky veškerým hardwarem, který není na základní desce počítače, vede přes speciální program zvaný ovladač. Velká část funkce ovladače spočívá v tom, že je překladatelem mezi elektrickými signály hardwarových subsystémů a vysokoúrovňovými programovými jazyky operačního systému a aplikačních programů. Ovladače přebírají data, která operační systém definoval jako soubor, a převádějí je na proudy bitů umístěných na určitá místa v paměťových zařízeních nebo na sérii laserových pulzů v tiskárně.

Protože existují tak velké rozdíly v hardwaru ovládaném prostřednictvím ovladačů, existují rozdíly ve způsobu fungování programů ovladačů, ale většina z nich se spouští, když je zařízení vyžadováno, a fungují podobně jako jakýkoli jiný proces. Operační systém často přiřazuje ovladačům bloky s vysokou prioritou, aby mohl být hardwarový prostředek co nejrychleji uvolněn a připraven k dalšímu použití.

Jedním z důvodů, proč jsou ovladače odděleny od operačního systému, je to, že do ovladače – a tím i do hardwarových subsystémů – lze přidávat nové funkce, aniž by bylo nutné upravovat, rekompilovat a znovu distribuovat samotný operační systém. Vývojem nových ovladačů hardwarových zařízení, který často provádí nebo platí výrobce subsystémů, a nikoli vydavatel operačního systému, lze výrazně rozšířit vstupně-výstupní možnosti celého systému.

Řízení vstupu a výstupu je z velké části záležitostí správy front a vyrovnávacích pamětí, speciálních úložných zařízení, která přijímají proud bitů ze zařízení, třeba klávesnice nebo sériového portu, uchovávají tyto bity a uvolňují je do procesoru dostatečně pomalou rychlostí, aby si s nimi procesor poradil. Tato funkce je důležitá zejména tehdy, když běží řada procesů a zabírají čas procesoru. Operační systém dá vyrovnávací paměti pokyn, aby pokračovala v přijímání vstupu ze zařízení, ale aby přestala odesílat data do procesoru, dokud je proces, který vstup používá, pozastaven. Když je pak proces, který potřebuje vstup, opět aktivní, operační systém dá vyrovnávací paměti příkaz k odesílání dat. Tento proces umožňuje klávesnici nebo modemu pracovat s externími uživateli nebo počítači vysokou rychlostí, přestože existují okamžiky, kdy procesor nemůže vstup z těchto zdrojů používat.

Správa všech zdrojů počítačového systému je velkou částí funkce operačního systému a v případě operačních systémů pracujících v reálném čase může být prakticky veškerou požadovanou funkcí. U ostatních operačních systémů je však poskytování relativně jednoduchého a konzistentního způsobu, jak mohou aplikace a lidé využívat výkon hardwaru, rozhodující částí důvodu jejich existence.

Rozhraní se světem

Aplikační rozhraní
Stejně jako ovladače poskytují aplikacím způsob, jak využívat hardwarové subsystémy, aniž by musely znát každý detail činnosti hardwaru, aplikační programová rozhraní (API) umožňují programátorům aplikací využívat funkce počítače a operačního systému, aniž by museli přímo sledovat všechny detaily v činnosti procesoru. Podívejme se na příklad vytvoření souboru na pevném disku pro uložení dat, abychom viděli, proč to může být důležité.

Programátor píšící aplikaci pro záznam dat z vědeckého přístroje může chtít, aby vědec mohl určit název vytvářeného souboru. Operační systém může poskytovat funkci API s názvem MakeFile pro vytváření souborů. Při psaní programu by programátor vložil řádek, který by vypadal takto:

    MakeFile

V tomto příkladu instrukce říká operačnímu systému, aby vytvořil soubor, který umožní náhodný přístup ke svým datům (1), bude mít jméno zadané uživatelem (%Name) a bude mít velikost, která se mění v závislosti na tom, kolik dat je v souboru uloženo (2). Nyní se podívejme, co udělá operační systém, aby tuto instrukci převedl do akce.

  1. Operační systém odešle dotaz na diskovou jednotku, aby zjistil umístění prvního volného úložného místa.
  2. Pomocí těchto informací operační systém vytvoří v souborovém systému záznam, ve kterém uvede počáteční a koncové umístění souboru, název souboru, typ souboru, zda byl soubor archivován, kteří uživatelé mají oprávnění soubor prohlížet nebo měnit a datum a čas vytvoření souboru.
  3. Operační systém zapisuje na začátek souboru informace, které identifikují soubor, nastavují typ možného přístupu a obsahují další informace, které vážou soubor k aplikaci.

    Ve všech těchto informacích jsou dotazy na diskovou jednotku a adresy počátečního a koncového bodu souboru ve formátech silně závislých na výrobci a modelu diskové jednotky.

Protože programátorka napsala svůj program tak, aby používal rozhraní API pro ukládání dat na disk, nemusí sledovat kódy instrukcí, datové typy a kódy odpovědí pro všechny možné pevné disky a páskové jednotky. Operační systém, napojený na ovladače pro různé hardwarové subsystémy, se stará o měnící se detaily hardwaru – programátor musí jednoduše napsat kód pro API a zbytek svěřit operačnímu systému.

API se v posledních letech stala jednou z nejostřejších oblastí počítačového průmyslu. Společnosti si uvědomují, že programátoři používající jejich API se v konečném důsledku promítnou do možnosti ovládat určitou část odvětví a profitovat z ní. To je jeden z důvodů, proč je tolik společností ochotno poskytovat aplikace, jako jsou čtečky nebo prohlížeče, veřejnosti zdarma. Vědí, že spotřebitelé budou požadovat, aby programy využívaly bezplatné čtečky, a společnosti vyrábějící aplikace budou ochotny platit licenční poplatky, aby jejich software mohl poskytovat funkce požadované spotřebiteli.

Uživatelské rozhraní
Stejně jako API poskytuje aplikacím konzistentní způsob využívání prostředků počítačového systému, uživatelské rozhraní (UI) vnáší do interakce mezi uživatelem a počítačem strukturu. V posledním desetiletí se téměř veškerý vývoj v oblasti uživatelských rozhraní odehrával v oblasti grafického uživatelského rozhraní (GUI), přičemž největší pozornost byla věnována dvěma modelům, Macintosh společnosti Apple a Windows společnosti Microsoft, které získaly většinu podílu na trhu. Existují i další uživatelská rozhraní, některá grafická a jiná ne, pro jiné operační systémy.

Unix má například uživatelská rozhraní nazývaná shelly, která představují flexibilnější a výkonnější uživatelské rozhraní než standardní textové rozhraní operačního systému. Programy jako Korn Shell a C Shell jsou textová rozhraní, která přidávají důležité nástroje, ale jejich hlavním účelem je usnadnit uživateli manipulaci s funkcemi operačního systému. Existují také grafická uživatelská rozhraní, například X-Windows a Gnome, která z pohledu uživatele přibližují Unix a Linux počítačům Windows a Macintosh.

Je důležité si uvědomit, že ve všech těchto příkladech je uživatelské rozhraní program nebo sada programů, které se nacházejí jako vrstva nad samotným operačním systémem. Totéž platí, s poněkud odlišnými mechanismy, pro operační systémy Windows i Macintosh. Základní funkce operačního systému, tedy správa počítačového systému, leží v jádře operačního systému. Správce zobrazení je oddělen, i když může být s jádrem pod ním pevně svázán. Vazby mezi jádrem operačního systému a uživatelským rozhraním, utilitami a dalším softwarem dnes definují mnoho rozdílů v operačních systémech a budou je definovat i v budoucnu.

Budoucnost
Jedna z otázek týkajících se budoucnosti operačních systémů se točí kolem schopnosti určité filozofie distribuce softwaru vytvořit operační systém použitelný společně korporacemi i spotřebiteli.

Linux, operační systém vytvořený a distribuovaný podle zásad open source, by mohl mít významný vliv na operační systém obecně. Většina operačních systémů, ovladačů a obslužných programů je napsána komerčními organizacemi, které distribuují spustitelné verze svého softwaru – verze, které nelze studovat ani měnit. Open source vyžaduje distribuci původních zdrojových materiálů, které lze studovat, měnit a stavět na nich, přičemž výsledky lze opět volně šířit.

Neustálý rozvoj internetu a rozšiřování počítačů, které nejsou standardními stolními počítači nebo notebooky, znamená, že operační systémy se budou měnit, aby udržely krok, ale základní funkce správy a rozhraní budou pokračovat, i když se budou vyvíjet.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.