Libor Vaněk
libor@conet.cz

Historie operačních systémů

se zaměřením na jiné OS než Windows a UNIX

Raná historie (50. léta)

První počítače neměly žádný operační systém. Každý počítač byl unikátní a bylo nutno napsat program přímo pro něj a často jej dokonce zadávat přímo v binárním kódu. Tehdy byl cena času hardwaru mnohonásobně převyšovala cenu kvalifikované lidské práce. Na konci 50. let až začátkem se objevovaly první náznaky OS, tehdy zvaného monitor - ten zaváděl úplně základní systém ochrany paměti (program nemohl zapisovat do oblasti paměti monitoru), IO operace (počítač se přepínal mezi 2 módy - čtení/zápis z/na děrné štítky a provádění programu) a kontrola nekonečné smyčky (timeout, po jehož vypršení se program přerušil).

První operační systémy (60. - 70. léta)

S rozvojem rychlosti počítačů se čím dál tím více stávalo, že počítač čekal na dokončení IO operací (děrné štítky, páskové mechaniky). Zpočátku se v počítačových centrech používalo kromě hlavního rychlého počítače i několik pomalejších, které sloužily k přehrání dat z děrných štítků (které se načítaly pomalu) na pásky (se kterými se pracovalo rychleji) a teprve pásky byly předloženy hlavnímu počítači ke zpracování.

Logickým dalším krokem bylo zavedení jednoduchého OS, který umožňoval běh více programů zároveň a přepínal mezi nimi, jak postupně čekaly a dokončovaly IO operace. Byly to takzvané spool-ovací systémy (SPOOL - Simultaneous Peripheral Operation OnLine). Každý výrobce měl takovýto vlastní operační systém, které se od sebe naprosto odlišovaly a operátor se musel vždy vše znovu učit od začátku.

UNIX, Multics a VMS (70. léta)

70. léta znamenaly zrod snad nejvýznamnějšího operačního systému vůbec - UNIXu. Tento systém je i dnes, po 30. letech stále jeden z nejpoužívanějších OS a rozhodně se nechystá odejít ze scény. Jeho návrh je jedinečný ve své jednoduchosti, nezávislosti na jakémkoliv HW a především poměrně velké standardizaci (hlavně snaha POSIX), která umožňovala správcům systému přecházet mezi jednotlivými implementacemi UNIXu bez časově náročného zaškolování na úplně jiné prostředí. Každá implementace měla (a má) své speciality, ale základ je všude stejný.

Kromě UNIXu se v 70. létech zrodily i jiné významné OS - Multics a VMS. Multics byl svého času velkým konkurentem UNIXu a byl prosazován hlavně firmou Honeywell ve spolupráci s univerzitou MIT. Multics byl poměrně hodně rozšířen v sálových počítačích počátkem 80. let, ale již v roce 1985 bylo oznámeno ukončení jeho vývoje. Přesto byl poslední systém vypnut až v říjnu 2000 (Kanadské ministerstvo obrany, systém byl plně využíván až do července 2000 a byl upraven pro Y2K).

VMS byl operační systém firmy DEC. Jeho první plná verze je z roku 1978 a již má na svoji dobu velmi moderní architekturu (32 bitový, multitaskový, multiprocesorový operační systém s virtuální pamětí). Byl aktivně vyvíjen až do roku 2000, hlavně pro běh na procesorech Alpha. Pro tyto účely byl upraven na 64 bitů, byla přidána podpora vláken, rychlých IO operací atd.

MacOS, CP/M, DOS a UN*Xy (80. léta)

80. léta znamenala velké rozšíření 8 a 16 bitových počítačů (Commodore 64, ZX Spectrum, Amiga, IBM PC/XT, Apple). Tyto počítače se rozšířily nejen do normálních firem (což bylo předtím nemyslitelné - dříve si počítač mohly dovolit pouze univerzity, vlády a velké korporace), ale i do domácností. Každý výrobce se snažil prosazovat svůj operační systém, více či méně úspěšně. Jedním z nejrozšířenějších byl OS CP/M, který vznikl jako velmi zjednodušená verze UNIXu. Zavedl neblaze proslulá jména souboru 8.3, s nimiž se setkáváme na platformě Microsoft dosud.

Na svou dobu revoluční OS byl operační systém MacOS. Ten poprvé integroval do operačního systému grafické rozhraní (GUI), který učinil z myši hlavní pracovní nástroj. Podobný přístup měl i Amiga TOS, který bohužel nebyl úspěšný, i když měl oproti ostatním platformám výhodu v rychlé architektuře, podpoře multimédií, ale byl založen na přísně proprietárním a drahém hardware, který zabránil jeho dalšímu rozšíření.

V roce 1981 uvedlo IBM na trh IBMP PC/XT. IBM pro tento systém psalo vlastní OS (TopView), ale nestihlo jej včas dokončit, takže licencovalo OS DOS od Microsoftu. Ten měl mnoho omezení - 640 kB RAM, bez podpory více uživatelů a multitaskingu, ale díky agresivnímu marketingu a nízké ceně se stal na dlouho nejrozšířenějším OS. DOS vycházel velmi silně z CP/M (dokonce lehce upravené verze CP/M na IBM PC/XT běžely). Za zmínku stojí i to, že Microsoft uvedl i svoji implementaci UNIXu zvanou Xenix. IBM se snažilo odstranit nedostatky DOSu nejprve vývojem vlastní verze DOSu (PC-DOS) a pak vývojem vlastního OS (zpočátku v kooperaci s Microsoftem) OS/2 (z něhož Microsoft vyvinul Windows NT), ale tyto systémy většího rozšíření nedosáhly.

V oblasti sálových počítačů se profilovaly jednotlivé firmy, které měly vlastní implementace UNIXu úzce svázanou se svojí hardwarovou platformou (IBM - AIX, Sun - Solaris, SGI - IRIX). Kromě toho začal vývoj prvních "open source" systému v dnešním smyslu (dříve OS byly dodávány i se zdrojovými kódy, ale OS vyvíjel hlavně výrobce) - BSD Unixů (FreeBSD, OpenBSD a NetBSD).

Jako nejzajímavějśí OS této doby bych zmínil NeXT Step, který byl vyvinut firmou NeXT založenou Stevem Jobsem - zakladatelem Applu. Ten kompletně objektový a plně grafický OS byl úzce svázán (podobně jako MacOS) s dodávaným hardware a možná to zapříčinilo společně s nedostatkem aplikací jeho praktický záník.

Dominace Windows, nástup Linuxu (90. léta)

V 90. létech byl synonymem pro operační systém nejprve DOS+Windows 3.1, později Windows 9x/NT. Microsoftu se podařilo dosáhnout praktického monopolu v oblasti osobních počítačů a pomocí Windows NT se snažil vstoupit i na trh serverů, kde zatím dominoval UNIX. V polovině 90. let se zdálo, že vládu Windows nemůže nic narušit. Rozšířil se ale nejméně čekaný "protivník" - GNU/Linux. Myslím, že není třeba se o něm a o open source komunitě nějak více rozepisovat - jen bych zmínil, že z hlediska FSF (Free Software Foundation - tvůrce a hlavního propagátora GNU licence) je Linux pouze "přechodné" řešení, než bude dokončen vývoj OS Hurd. Hurd je koncipován jako OS nové generace s plně modulární architekturou mikrokernelu, který pouze zajišťuje základní služby (přepínání procesů, správu paměti) a zbytek služeb (I/O, síťové služby atd.) zajišťují příslušné moduly - "servery".

Jako velmi zajímavý a svého času velmi perspektivní OS bych jmenoval BeOS. Tento systém byl vytvořen s velkým důrazem na multimediální aplikace (editace videa, zvuku), ale nedosáhl komerčního úspěchu a byl pohlcen firmou Palm, aby se stal součástí nového OS pro Palmy.

Windows/Linux everywhere - současnost a budoucnost?

Jak vypadá současnost a blízká budoucnost? Microsoft jako největší softwarová společnost na trhu se snaží prosadit Windows do všech aplikací - od embedded zaŕízení (Windows CE), přes osobní počítače (Windows XP), servery (Windows 2000) až po mainframy (Windows Advanced Data Center). Jako největší nevýhodou bych viděl odlišné verze jádra OS, které je navíc úzce spjato s grafickým rozhraním a nemá příliš dobrou pověst z hlediska modularity, stability a rychlosti.

Tradiční výrobci a dodavatelé mainframů dnes postupně opouštějí svoje implementace UNIXu a začínají přecházet pomalu na Linux. Nemohou si dovolit přestat s podporou stávajícíh systémů, takže tento přechod bude postupný, ale jak se zdá, tak nevyvratitelný - jako poslední velký výrobce, který propagoval jen "svůj" UNIX byl donedávna Sun a i ten začíná dodávat řešení postavené na Linuxu. Výhodou Linuxu je jeho neskutečná modularita - totéž jádro systému je schopno pracovat na PC 386, palmtopu iPaq, nejnovějším procesoru IA64, RISCovém procesoru Alpha a SPARC a mnoha dalších. Jeho největší nevýhoda - nepříliš dobrá škálovatelnost při větším (>8) počtu procesorů se zdá, že bude v brzké době odstraněna.

Bude opravdu budoucnost černo/bílá (Windows/Linuxová)? Nebo jenom bílá (Linuxová)? Myslím si, že ne - vždy se najdou "rebelové", jdoucí proti většině a odsuzující to, co většina používá (bez ohledu na skutečné kvality) - jmenujme za všechny třeba jen Hurd. Kromě toho se dnes zkouší různé experimentální přístupy (3D GUI, kvantové a DNA počítače) a nelze říct, který z nich (zda-li vůbec) se prosadí.

Použitá literatura:

amed VAX (Virtual Address eXtension). The first VAX model, the 11/780, was code-named "Star", hence the code name for the VMS operating system, "Starlet", a name that remains to this day th