Wikipedista:Josef Vlach/Pískoviště4

Z Wikipedie, otevřené encyklopedie


Komponenty[editovat | editovat zdroj]

Komponenty operačního systému slouží k tomu, aby různé části počítače spolupracovaly. Veškerý uživatelský software musí procházet operačním systémem, aby mohl používat hardware, ať už je jednoduchý jako myš nebo klávesnice, nebo je tak složitý jako internetové komponenty.

Kernel (Jádro)[editovat | editovat zdroj]

Více na: Jádro operačního systému

S pomocí ovladačů firmwaru a zařízení, poskytuje jádro nejzákladnější úroveň kontroly všech hardwarových zařízení počítače. Spravuje přístup k paměti pro programy v paměti RAM, určuje, které programy získají přístup ke zdrojům hardwaru, nastavuje nebo obnovuje provozní stavy procesoru pro optimální provoz a organizuje data pro dlouhodobé, energeticky nezávislé, ukládání dat se systémy souborů na takových médiích, jako jsou disky, pásky, flash paměť atd.

Spuštění programu[editovat | editovat zdroj]

Více na: Proces (informatika)

Operační systém poskytuje rozhraní mezi aplikačním programem a počítačovým hardwarem, takže aplikační program může komunikovat s hardwarem pouze dodržováním pravidel a postupů naprogramovaných v operačním systému. Operační systém je také soubor služeb, které zjednodušují vývoj a spouštění programů. Spuštění programu zahrnuje vytvoření procesu jádrem operačního systému, které přiřazuje paměťový prostor a další zdroje, stanoví prioritu procesu ve víceúlohových systémech, načte programový binární kód do paměti a spustí provádění programu, který pak spolupracuje s uživatelem a hardwarovými zařízeními.

Přerušení[editovat | editovat zdroj]

Více na: Přerušení

Přerušení jsou pro operační systémy klíčová, neboť poskytují efektivní způsob, jakým může operační systém komunikovat a reagovat na prostředí. Alternativa - operačním systémem "sledovat" různé zdroje vstupů pro události (polling), které vyžadují akci - lze nalézt ve starších systémech s velmi malými stacky (50 nebo 60 bajtů), ale je neobvyklý v moderních systémech s velkými stacky. Programování založené na přerušení je přímo podporováno většinou moderních procesorů. Přerušení poskytuje počítači způsob, jak automaticky ukládat místní kontexty registru a spouštět určitý kód v reakci na události. Dokonce i velmi základní počítače podporují přerušení hardwaru a umožňují programátorovi zadat kód, který může být spuštěn, když k tomu dojde.

Při přijetí přerušení se hardware počítače automaticky pozastaví. Jakýkoli program, který je aktuálně spuštěn, uloží svůj stav a spustí počítačový kód, dříve přidružený k přerušení, to je analogické k umístění záložky v knize, jako odpověď na telefonní hovor. V moderních operačních systémech jsou přerušení zpracovávány jádrem operačního systému. Přerušení mohou pocházet buď z hardwaru počítače nebo z běžícího programu.

Když hardware zařízení spustí přerušení, jádro operačního systému rozhodne, jak se s touto událostí vypořádat, obecně tím, že spustí nějaký kód zpracování. Množství spuštěného kódu závisí na prioritě přerušení (například: osoba obvykle reaguje na alarm detektoru kouře před odpovědí na telefon). Zpracování přerušení hardwaru je úloha, která je obvykle delegována na software nazývaný ovladač zařízení, který může být součástí jádra operačního systému, součástí jiného programu nebo obojího. Ovladače zařízení pak mohou přenášet informace do běžícího programu různými způsoby.

Program také může spustit přerušení operačního systému. Pokud chce program například přistupovat k hardwaru, může přerušit jádro operačního systému, což způsobí, že se kontrola přenese zpět do jádra. Jádro potom zpracuje požadavek. Pokud si některý program přeje další zdroje (nebo si přeje zbavit zdrojů), jako je například paměť, spustí přerušení, aby získalo pozornost jádra.

Režimy[editovat | editovat zdroj]

Více na: User space

Moderní mikroprocesory (CPU nebo MPU) podporují více režimů provozu. CPU s touto schopností nabízejí alespoň dva režimy: uživatelský režim a režim supervizora. Obecně řečeno, režim supervizora umožňuje neomezený přístup ke všem strojním zdrojům včetně všech instrukcí MPU. Režim uživatelského režimu nastavuje limity pro použití instrukcí a obvykle zakazuje přímý přístup k strojním zdrojům. CPU mohou mít i jiné režimy podobné uživatelskému režimu, například virtuální režimy, aby emulovali starší typy procesorů, například 16bitové procesory na 32bitovém nebo 32bitové procesory na 64bitové.

Po zapnutí nebo resetování začne systém v režimu supervizora. Po načtení a spuštění jádra operačního systému lze vytvořit hranici mezi režimem uživatele a režimem supervizora (také známým jako režim jádra).

Režim supervizora se používá jádrem pro úkoly s nízkou úrovní, které vyžadují neomezený přístup k hardwaru, jako je například kontrola přístupu k paměti a komunikace se zařízeními, jako jsou diskové jednotky a zařízení pro zobrazování videa. Uživatelský režim se naopak používá téměř pro všechno ostatní. Aplikační programy, jako jsou textové procesory a správci databází, pracují v uživatelském režimu a mají přístup pouze ke strojním prostředkům tím, že převádějí ovládání na jádro, což způsobí přepnutí do režimu supervizora. Přenos řízení do jádra je typicky dosažen provedením instrukce pro přerušení softwaru, například instrukce Motorola 68000 TRAP. Přerušení softwaru způsobí, že mikroprocesor přepne z uživatelského režimu do režimu supervizora a spustí provádění kódu, který umožní jádru převzít kontrolu.

V uživatelském režimu mají programy obvykle přístup k omezené sadě instrukcí mikroprocesoru a obecně nemohou provádět žádné pokyny, které by mohly potenciálně způsobit narušení provozu systému. V režimu supervizora jsou obvykle odstraněny pokyny k provádění instrukcí, což umožňuje jádru neomezený přístup ke všem strojním zdrojům.

Termín "prostředek uživatelského módu" obecně odkazuje na jeden nebo více registrů CPU, které obsahují informace, které běžící program nesmí měnit. Pokusy o změnu těchto zdrojů obecně způsobí přepnutí do režimu supervizora, kde se operační systém může vypořádat s nelegální činností, o kterou se program pokoušel, například násilným ukončením ("zabíjením") programu).

Správa paměti[editovat | editovat zdroj]

Více na: Správa paměti

Kromě jiného musí být jádro operačního systému s více programy, programem odpovědným za správu všech systémových pamětí, které jsou v současné době používány. To zajistí, že program nenaruší paměť, kterou již používá jiný program. Vzhledem k tomu, že programy sdílejí čas, každý program musí mít nezávislý přístup k paměti.

Kooperativní správa paměti, používaná mnoha ranými operačními systémy, předpokládá, že všechny programy využívají správce paměti jádra a nepřekračují alokovanou paměť. Tento systém správy paměti není moc používán, protože programy často obsahují chyby, které mohou způsobit, že překročí alokovanou paměť. Pokud program selže, může dojít k ovlivnění nebo přepsání používané paměti. Škodlivé programy nebo viry mohou pozměnit data v paměť jiného programu nebo mohou ovlivnit provoz samotného operačního systému.

Ochrana paměti umožňuje jádru omezit přístup procesu k paměti počítače. Existují různé způsoby ochrany paměti, včetně segmentace paměti a stránkování. Všechny metody vyžadují určitou úroveň hardwarové podpory (například 80286 MMU), která ve všech počítačích neexistuje.

V segmentaci a stránkování, chráněný režim registrů určuje CPU, jakou adresu paměti má běžícím programům zpřístupnit. Pokusy o přístup k jiným adresám způsobují přerušení, které způsobí, že procesor znovu vstoupí do režimu supervizora a přesune jádro do primárního módu. Toto se nazývá porušení ochrany paměti (segmentation violation), zkráceně Seg-V, a protože je obtížné přiřadit k takové operaci smysluplný výsledek a jelikož je to obvykle známka chybného programu, jádro ukončí program, který se porušil předpisy a nahlásí chybu.

Windows verze 3.1 až ME měla jistou úroveň ochrany paměti, ale programy mohly snadno obcházet přiřazení potřebné paměti. Byla vytvořena obecná chyba ochrany, což naznačuje, že došlo k narušení segmentace. Systém i tak často spadnul.

Virtuální paměť[editovat | editovat zdroj]

Více na: Virtuální paměť

Použití adresování virtuální paměti (jako je stránkování nebo segmentace) znamená, že jádro si může zvolit, jakou paměť může používat každý program v daném okamžiku, což umožňuje operačnímu systému používat stejné paměti pro více úkolů.

Pokud se program pokusí přistupovat k paměti, která není v dosavadním rozsahu dostupné paměti, ale přesto byla přidělena, je jádrem přerušen stejným způsobem, jako kdyby program překročil přidělenou paměť. (Viz část týkající se správy paměti.) Pod UNIXem se tento druh přerušení označuje jako chyba stránky.

Když jádro zjistí chybu stránky, obecně upraví rozsah virtuální paměti programu, který ji spustil, a poskytl jí přístup k požadované paměti. To dává jádru diskrétní pravomoc, kde je uložena paměť konkrétní aplikace, nebo dokonce, zda byla nebo nebyla dosud přidělena.

V moderních operačních systémech může být paměť, ke které se přistupuje méně často, dočasně uložena na disku nebo na jiném médiu, aby byl prostor dostupný pro jiné programy. Toto se nazývá výměna(swapping), protože oblast paměti může být používána více programy, a co tato paměťová oblast obsahuje, lze "swappnout" nebo vyměnit na požádání.

"Virtuální paměť" poskytuje programátorovi nebo uživateli pocit, že v počítači je mnohem větší množství operační paměti (RAM) než tam skutečně je.

Multitasking[editovat | editovat zdroj]

Více na: Multitasking, Změna kontextu, Preempce (informatika)

Multitasking se týká provozování více nezávislých počítačových programů ve stejném počítači; což naznačuje, že provádí úkoly současně. Vzhledem k tomu, že většina počítačů může dělat nejvýše jednu nebo dvě věci najednou, je to obvykle prováděno prostřednictvím sdílení času, což znamená, že každý program používá ke spouštění část "času" počítače.

Jádro operačního systému obsahuje plánovací program, který určuje, kolik času každý proces využije při provádění a v jakém pořadí budou procesy prováděny. Řízení předává proces jádru, které dovoluje programu přístup k CPU a paměti. Později je kontrola vrácena do jádra pomocí nějakého mechanismu, takže může být povoleno použít jiný program CPU. Toto tzv. Předávání kontroly mezi jádrem a aplikacemi se nazývá kontextový přepínač.

Prvotní model, který řídil přidělování času na programy, se nazýval kooperativní multitasking.

Moderní operační systémy rozšiřují koncepty předběžné aplikace na ovladače zařízení a "jádrový" kód, takže operační systém má předběžnou kontrolu nad interními run-times.

Filozofií, která řídí předběžný multitasking, je zajistit, aby všechny programy byly na CPU poskytovány řádně. To znamená, že všechny programy musí být omezeny v tom, kolik času mohou trávit na CPU bez přerušení. Za tímto účelem využívají moderní jádra operačního systému časované přerušení. Časovač chráněného režimu je nastaven jádrem, které po uplynutí nastaveného času spouští návrat do režimu superuživatele. (Viz výše uvedené části o přerušení a provozu s duálním režimem.)

Na mnoha operačních systémech pro jednotlivé uživatele je kooperativní multitasking dokonale adekvátní, protože domácí počítače obecně provozují malý počet dobře testovaných programů. AmigaOS je výjimkou, která má předběžný multitasking od své první verze. Windows NT byla první verzí systému Microsoft Windows, která vynucovala předběžný multitasking, ale nedosáhla na trh s domácími uživateli, dokud nevyšel Windows XP (protože Windows NT byl zaměřen na profesionály).

Přístup k diskům a souborovým systémům[editovat | editovat zdroj]

Více na: Virtuální souborový systém

Přístup k datům uloženým na discích je ústředním prvkem všech operačních systémů. Počítače uchovávají data na discích pomocí souborů, které jsou strukturovány specifickými způsoby, aby umožnily rychlejší přístup, vyšší spolehlivost a lépe využívaly dostupný prostor disku. Konkrétní způsob, jakým jsou soubory uloženy na disku, se nazývá souborový systém a umožňuje souborům mít jména a atributy. Umožňuje také ukládání do hierarchie adresářů nebo složek uspořádaných ve stromovém adresáři.

Včasné operační systémy obecně podporují jeden typ diskové jednotky a jediný druh souborového systému. Systémy časných souborů byly omezeny kapacitou, rychlostí a druhy názvů souborů a adresářových struktur, které by mohly používat. Tato omezení často odrážejí omezení v operačních systémech, pro které byly navrženy, a proto je pro operační systém velmi obtížné podporovat více než jeden souborový systém.

Zatímco mnoho jednodušších operačních systémů podporuje omezený rozsah možností pro přístup k úložným systémům, operační systémy jako UNIX a Linux podporují technologii známou jako virtuální souborový systém nebo VFS. Operační systém, jako je UNIX, podporuje širokou škálu paměťových zařízení, bez ohledu na jejich design nebo souborové systémy, což jim umožňuje přístup prostřednictvím společného aplikačního programovacího rozhraní (API). Tím je zbytečné, aby programy měly nějaké znalosti o zařízení, ke kterému přistupují. VFS umožňuje operačnímu systému poskytovat programy přístup k neomezenému počtu zařízení s nekonečnou řadou souborových systémů, které jsou na nich instalovány, pomocí konkrétních ovladačů zařízení a ovladačů souborového systému.

Připojené úložné zařízení, například pevný disk, je přístupné pomocí ovladače zařízení. Ovladač zařízení rozumí konkrétnímu jazyku jednotky a dokáže tento jazyk přeložit do standardního jazyka používaného operačním systémem pro přístup ke všem diskovým jednotkám. V systému UNIX je to jazyk blokových zařízení.

Pokud má jádro správný ovladač zařízení, pak může přistupovat k obsahu disku v syrovém formátu, který může obsahovat jeden nebo více souborových systémů. Ovladač souborového systému se používá k překládání příkazů používaných pro přístup ke každému konkrétnímu souborovému systému do standardní sady příkazů, které může operační systém používat ke komunikaci se všemi systémy souborů. Programy pak mohou zpracovávat tyto systémy souborů na základě názvů souborů a adresářů / složek obsažených v hierarchické struktuře. Mohou vytvářet, odstraňovat, otevírat a zavírat soubory, stejně jako shromažďovat různé informace o nich, včetně oprávnění k přístupu, velikosti, volného místa a údajů o vytvoření a úpravách.

Různé rozdíly mezi souborovými systémy ztěžují podporu všech souborových systémů. Povolené znaky v názvech souborů, citlivost případů a přítomnost různých druhů atributů souborů činí implementaci jediného rozhraní pro každý souborový systém náročnou úlohou. Operační systémy obvykle doporučují používat (a tak podporovat nativně) souborové systémy speciálně určené pro ně; například NTFS v systému Windows a ext3 a ReiserFS v Linuxu. Ovšem v praxi jsou většinou ovladače třetích stran k dispozici pro podporu nejpoužívanějších souborových systémů ve většině operačních systémů s obecným účelem (například NTFS je k dispozici v Linuxu přes NTFS-3g a ext2 / 3 a ReiserFS jsou k dispozici v systému Windows prostřednictvím softwaru třetí strany).

Podpora souborových systémů je mezi moderními operačními systémy velmi rozmanitá, i když existuje několik běžných souborových systémů, které téměř všechny operační systémy obsahují podporu a ovladače. Operační systémy se liší podle podpory souborového systému a formátů disků, na kterých mohou být nainstalovány. V systému Windows je každý systém souborů obvykle omezen v aplikaci na určitá média; například CD musí používat ISO 9660 nebo UDF a od systému Windows Vista je NTFS jediným souborovým systémem, na kterém může být nainstalován operační systém. Je možné instalovat Linux na mnoho typů souborových systémů. Na rozdíl od jiných operačních systémů umožňují Linux a UNIX používat libovolný souborový systém bez ohledu na médium, které je uloženo, ať už jde o pevný disk, disk (CD, DVD ...), USB flash disk v rámci souboru umístěného na jiném souborovém systému.

Ovladače zařízení[editovat | editovat zdroj]

Více na: Ovladač zařízení

Ovladač zařízení je specifický typ počítačového softwaru vyvinutého pro umožnění interakce s hardwarovými zařízeními. Typicky to představuje rozhraní pro komunikaci se zařízením přes konkrétní počítačovou sběrnici nebo komunikační subsystém, ke kterému je hardware připojen, poskytující příkazy a / nebo přijímání dat ze zařízení a na druhém konci potřebná rozhraní k operačnímu systémových a softwarových aplikací. Jedná se o specializovaný počítačový program, který je také specifický pro operační systém, který umožňuje jinému programu, obvykle operačnímu systému nebo aplikačnímu softwarovému balíčku nebo počítačovému programu spuštěnému pod jádrem operačního systému, transparentně komunikovat s hardwarovým zařízením a obvykle poskytuje potřebná manipulace s přerušeními nutná pro všechny potřebné asynchronní časově závislé požadavky na rozhraní hardwaru.

Klíčovým cílem návrhu ovladačů zařízení je abstrakce. Každý model hardwaru (i v rámci stejné třídy zařízení) je jiný. Novější modely jsou také vydávány výrobci, kteří poskytují spolehlivější nebo lepší výkon a tyto novější modely jsou často ovládány odlišně. Od počítačů a jejich operačních systémů nelze očekávat, že budou ovládat všechna zařízení, a to jak nyní, tak i v budoucnosti. K vyřešení tohoto problému operační systémy v podstatě diktují, jak by měl být řízen každý typ zařízení. Funkce ovladače zařízení pak převede tyto funkční volání do operačního systému, do hovorů specifických pro zařízení. Teoreticky by nové zařízení, které je řízeno novým způsobem, mělo fungovat správně, pokud je k dispozici vhodný ovladač. Tento nový ovladač zajišťuje, že se zdá, že zařízení funguje jako obvykle z hlediska operačního systému.

Ve verzích systému Windows před verzí systému Windows a verzích Linux před verzí 2.6 byla veškerá práce s ovladači kooperativní, což znamená, že pokud řidič vstoupil do nekonečné smyčky, zmrazil by systém. Novější verze těchto operačních systémů zahrnují předběžnou výjimku jádra, kde jádro přerušuje ovladač, aby mu dělal úkoly, a poté se oddělí od procesu, dokud neobdrží odpověď z ovladače zařízení nebo mu udělí více úkolů.

Ovladače zařízení[editovat | editovat zdroj]

Více na: Ovladač zařízení

Ovladač zařízení je specifický typ počítačového softwaru výhradně pro umožnění interakce s hardwarovými zařízeními. Typicky se jedná o rozhraní pro komunikaci se zařízením přes počítačovou sběrnici nebo komunikační subsystém ("podsystém"), ke kterému je hardware připojen, poskytuje příkazy nebo přijímá data ze zařízení a na druhém konci rozhraní - z operačního systému a jeho softwarových aplikací (programů).

Prvotním cílem návrhu ovladačů zařízení je abstrakce. Každý model hardwaru (i v rámci "stejného" zařízení) je jiný. Novější modely jsou také vydávány výrobci, jelikož poskytují například vyšší spolehlivost nebo lepší výkon a tyto novější modely mají často odlišný způsob ovládání. Od počítačů a jejich operačních systémů nemůžeme očekávat, že budou ovládat všechny zařízení (periferie). K vyřešení tohoto problému operační systémy v podstatě "diktují", jak by mělo být ovládáno každé zařízení (periferie). Teoreticky by nové zařízení, které je řízeno odlišným způsobem, mělo fungovat správně, pokud je k dispozici vhodný ovladač. Tento nový ovladač zajišťuje, že zařízení (periferie) pracuje v souladu s operačním systémem.

Ve verzích systému Windows před verzí Vista a u operačního systému Linux před verzí 2.6 byla veškerá práce s ovladači kooperativní.

Sítě[editovat | editovat zdroj]

Více na: Počítačová síť

Většina operačních systémů v současné době podporuje celou řadu síťových protokolů. To znamená, že počítače odlišnými operačními systémy mohou být napojeny na jednu společnou síť pro sdílení periferií, a to i počítačů, souborů, tiskáren a skenerů, a to buď pomocí kabelového nebo bezdrátového připojení. Sítě mohou v podstatě umožnit operačnímu systému počítače přístup k vzdálenému počítači. To zahrnuje vše od jednoduché komunikace až po používání síťových systémů, souborů nebo dokonce sdílení grafického nebo zvukového vybavení jiného počítače. Některé síťové služby umožňují transparentní přístup k prostředkům počítače, jako je SSH, který umožňuje uživatelům v síti přímý přístup k rozhraní formou příkazového řádku počítače.

Síť klient / server umožňuje programu v počítači, připojit se přes síť k jinému počítači nazvanému server. Servery nabízejí různé služby ostatním počítačům připojeným přes síť. Tyto služby jsou obvykle poskytovány prostřednictvím portů nebo očíslovaných přístupových bodů mimo IP adresu serveru. Každé číslo portu je obvykle přiděleno maximálně jednomu běžícímu programu, který je zodpovědný za zpracování požadavků na daném portu.

Mnoho operačních systémů podporuje jeden nebo více dodavatelských nebo otevřených síťových protokolů, jako například SNA v systémech IBM, DECnet na systémech od společnosti Digital Equipment Corporation a protokolů specifických pro Microsoft (SMB) v systému Windows. Mohou být podporovány také specifické protokoly pro konkrétní úkoly, jako například NFS (Network File System) pro přístup k souborům. Protokoly jako ESound nebo esd lze snadno nahrát na síť, aby poskytovaly zvuk z lokálních aplikací na zvukovém hardwaru vzdáleného zařízení.

Bezpečnost[editovat | editovat zdroj]

Více na: Počítačová bezpečnost

Bezpečnost počítače, závisí na správném fungování mnoha technologií.

Operační systém musí být schopen rozlišovat žádosti, které se mají provést a žádosti které by se měli zamítnout. Zatímco některé systémy mohou jednoduše rozlišovat mezi "privilegovanými" a "ne privilegovanými", tak ostatní musí rozlišovat na základě některých údajů například uživatelské jméno. Ke kontrole totožnosti může existovat proces autentizace. Ve většině případů probíhá proces autentizace formou zadání uživatelského jména popřípadě hesla. Jsou i jiné možnosti autentizace jako například: magnetické karty nebo biometrické údaje (otisky prstů, snímání oční duhovky). Některé aplikace mohou být omezeny pro některé uživatele i po jejich autentizaci a to z důvodu nedostatečných práv.

Externí zabezpečení zahrnuje žádost mimo počítač, například přihlášení na připojené konzoli nebo nějaké síťové připojení. Externí požadavky jsou často předávány prostřednictvím ovladačů zařízení k jádru operačního systému, kde mohou být předávány přímo do aplikací nebo prováděny přímo. Bezpečnost operačních systémů je již dlouho velké téma jelikož na počítačích uchováváme i dost citlivé informace, a to jak komerční, tak vojenské.

Síťové služby zahrnují nabídky jako sdílení souborů, tiskové služby, e-mail, webové stránky a protokoly přenosu souborů (FTP), většina těchto služeb může znamenat bezpečnosti "díru". Základním systémovým zabezpečením je "firewall". Na úrovni operačního systému je k dispozici řada firewallů, antivirů a pod. Většina moderních operačních systémů obsahuje firewall, který je v základním nastavení PC zapnut. Firewall může být nastaven tak, aby blokoval určitý typ síťové komunikace, nebo například i některé softwary běžící na operačním systému. Proto je možné instalovat a používat nezabezpečenou síťovou službu, jako je například Telnet nebo FTP a nemusíme se bát nežádaného narušení, jelikož zapnutá brána firewall zablokuje všechnu nevyžádanou komunikaci na daném portu.

Interní zabezpečení v systémech je důležité při práci více uživatelů na jednom zařízení, na příklad umožňuje každému uživateli mít soukromé soubory, se kterými ostatní uživatelé nemohou manipulovat, upravovat nebo i číst.

Uživatelské rozhraní (Shell)[editovat | editovat zdroj]

Více na: Shell

Každý počítač, který má být ovládán uživatelem, vyžaduje uživatelské rozhraní. Uživatelské rozhraní je obvykle označováno jako shell a je nezbytné, pokud má se zařízením pracovat uživatel. Dvě nejčastější uživatelské rozhraní jsou rozhraní příkazového řádku (dnes už není skoro k vidění), kde jsou napsány příkazy počítače po řádcích a grafické uživatelské rozhraní, kde je přítomno vizuální prostředí (nejčastěji WIMP).

Většina moderních počítačových systémů podporuje grafické uživatelské rozhraní (GUI - "Graphical user interface"). V některých počítačových systémech, jako například u operačního systému Mac OS, je grafické rozhraní integrováno do jádra OS.

Grafické rozhraní se z technického hlediska nedá bát jako operační systém začleněný do podpory jádra OS který může umožnit, aby bylo grafické rozhraní více "citlivé" tím, že sníží počet kontextových přepínačů (context switch) potřebných pro výstupní funkce rozhraní. Jiné operační systémy jsou modulární, oddělují grafický subsystém od jádra a operačního systému. V osmdesátých letech UNIX, VMS a mnoho dalších měli operační systémy, které byly postaveny tímto způsobem. Linux a macOS jsou také postaveny tímto způsobem. Verze operačního systému Microsoft Windows, jako je Windows Vista, implementují grafický subsystém.

Mnoho operačních systémů podporují uživatele v instalovaní nebo vytvářet uživatelských rozhraní dle jejich představ. Systém X Window ve spojení s GNOME nebo KDE Plasma 5 je běžně instalovaným systémem na většině systémů Unix (BSD, Linux, Solaris). V systému Microsoft Windows byla vydána řada změn v shellu - v systému Windows, které nabízejí alternativy k zahrnutému shellu systému Windows, ale samotný shell nelze oddělit od systému Windows.

Grafické uživatelské rozhraní se neustále vyvíjí. Například systém Windows změnil své uživatelské rozhraní téměř vždy při vydání nové hlavní verze systému Windows a grafické uživatelské rozhraní Mac OS se v roce 1999 dramaticky změnilo zavedením systému Mac OS X.

Operační systém reálného času (Real-time operating systems)[editovat | editovat zdroj]

Více na: Operační systém reálného času

Operační systém reálného času (RTOS) je operační systém určený pro aplikace s pevnými lhůtami (výpočty v reálném čase). Mezi takové aplikace patří některé malé vestavěné systémy, regulátory automobilových motorů, průmyslový roboti, kosmické lodě, průmyslová kontrola a některé rozsáhlé výpočetní systémy.

Prvním příkladem rozsáhlého operačního systému reálného času byla Transaction Processing Facility vyvinutá společnostmi American Airlines a IBM pro Saber Airline Reservations System.

Vestavěné systémy s pevnými termíny používají operační systém reálného času jako jsou VxWorks, PikeOS, eCos, QNX, MontaVista Linux a RTLinux. Windows CE je operační systém pracující v reálném čase. Symbian OS má také RTOS jádro (EKA2) od verze 8.0b.

Některé vestavěné systémy používají operační systémy jako Palm OS, BSD a Linux, ačkoli tyto operační systémy nepodporují výpočet v reálném čase.

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.

Rozmanitost operačních systémů a přenositelnost[editovat | editovat zdroj]

Aplikační software je obecně psán pro použití v konkrétním operačním systému a někdy dokonce i pro konkrétní hardware. Při přenosu aplikace na jiný operační systém mohou být funkce vyžadované touto aplikací implementovány odlišně tímto systémem (názvy funkcí, význam argumentů apod.), Které vyžadují úpravu, změnu nebo jinou údržbu aplikace.

Unix byl první operační systém, který nebyl napsán v assemblerovém jazyce, takže je velmi přenosný pro systémy odlišné od jeho původního PDP-11.

Tato cena při podpoře rozmanitosti operačních systémů může být vyloučena tím, že aplikace namísto zápisu do softwarových platforem, jako je Java nebo Qt. Tyto abstrakce již vznášely náklady na přizpůsobení konkrétním operačním systémům a jejich systémovým knihovnám.

Dalším přístupem je, aby dodavatelé operačních systémů přijali standardy. Například vrstvy abstrakce POSIX a OS poskytují společné funkce, které snižují náklady na přenos.

Zdroj:https://en.wikipedia.org/wiki/Operating_system#Components