[Home]

Historie systémů typu UNIX

Copyright (c) 1995, 1998 Lukáš Petrlík <L.Petrlik -at- centrum dot cz>. Všechna práva vyhrazena.

Text je dovoleno libovolně kopírovat a používat s podmínkou, že při použití jakékoli jeho části v jiném textu bude zřetelně uvedena předchozí informace o copyrightu, tak jak je to koneckonců mezi slušnými lidmi zvykem.

Vznik systému UNIX

V roce 1965 se Bellovy laboratoře spojily s General Electric a MIT (Massachusetts Institute of Technology) na vývoji nového operačního systému se sdílením času MULTICS. Projekt byl na svou dobu příliš ambiciózní a nebylo zřejmé, zda jeho vývoj bude někdy dokončen. Proto v roce 1969 Bellovy laboratoře svou spolupráci na projektu ukončily.

Programátorům vývojového týmu Bellových laboratoří však scházelo vhodné vývojové prostředí. Proto jeden z vývojářů, Ken Thompson, napsal v assembleru na nepoužívaném minipočítači PDP-7 omezenou verzi systému MULTICS. Thompsonova práce natolik zaujala jeho kolegy, že se k němu připojil nejprve Dennis Ritchie a později celé oddělení. Jméno UNIX navrhl další z vývojářů, Brian Kernighan, jako slovní hříčku na jméno MULTICS.

Aby bylo UNIX možné reálně používat, byl přenesen na modernější minipočítač PDP-11/45. Pro usnadnění dalších přenosů systému navrhl Ritchie programovací jazyk C a napsal pro něj překladač. Spolu s Thompsonem pak přepsali UNIX do jazyka C.

V roce 1974 Ritchie s Thompsonem publikovali zprávu o systému UNIX v časopise CACM. Zveřejnění zprávy vedlo mnohé univerzity k tomu, že požádaly Bellovy laboratoře o kopii UNIXu pro výukové účely. Firma AT&T, které Bellovy laboratoře patřily (dnes jsou podstatnou součástí Lucent Technologies), byla v té době omezena protimonopolním zákonem a nemohla se komerčně zabývat výpočetní technikou. Proto neměla žádné zábrany poskytovat univerzitám systém i se zdrojovými texty za symbolickou cenu 150 dolarů.

Díky přístupnosti zdrojových textů se mohla odborná veřejnost seznámit s vnitřní činností systému a také navrhovat jeho vylepšení. V té době bylo do systému UNIX začleněno mnoho nových a zajímavých vlastností z jiných operačních systémů.

Verze, která se stala faktickým standardem v univerzitním světě, byla Version 6. Ta byla v roce 1978 nahrazena verzí UNIX Version 7, která již měla všechny podstatné vlastnosti současných systémů UNIX a přitom si ještě zachovala původní jednoduchost a čistotu návrhu. Proto ji někteří považují za "poslední opravdový UNIX".

V té době AT&T zjistila, že UNIX může být hodnotným komerčním produktem a proto vydala UNIX Version 7 s licencí, která prohlašovala jeho zdrojové texty za obchodní tajemství. Tím zabránila univerzitám v jejich používání při výuce operačních systémů.

Komerční systémy

Pro komerční podporu UNIXu bylo v rámci Bellových laboratoří vytvořeno samostatné oddělení, které se později vyvinulo v Unix System Laboratories (USL).

Prvním komerčním systémem AT&T byl UNIX System III (1982), který však nebyl dobře přijat a proto byl o rok později nahrazen vylepšenou verzí UNIX System V. Původní System V byl pak nahrazen postupně verzemi System V Release 2, 3 a 4.

Rozšíření UNIXu na počátku osmdesátých let má přímou souvislost se vznikem nových hardwarových platforem. Výrobci počítačů mohli nákupem licence UNIXu snížit náklady na vývoj operačního systému a podstatně urychlit uvedení svých produktů na trh. Za relativně nízkou cenu (asi $20000) totiž získali úplný a funkční operační systém i se zdrojovými texty.

Skupina výrobců, vedená firmami IBM, DEC, Hewlett-Packard a dalšími založila v devadesátých letech konsorcium OSF (Open Software Foundation), jehož cílem je vytvoření systému, který by splňoval mezinárodní standardy a obsahoval další rozšíření (například grafické uživatelské rozhraní OSF/Motif). První verze systému, OSF/1, byla uvedena na trh na konci roku 1991.

Univerzitní systémy

Jedna z prvních univerzit, která získala licenci systému UNIX, byla kalifornská Univerzita v Berkeley. Na této univerzitě předtím studoval Ken Thompson a v roce 1975 se tam vrátil jako hostující profesor. V osmdesátých letech univerzita vydala sérii rozšířených verzí původního systému, nazvaných Berkeley Software Distribution (BSD).

Díky kvalitě těchto rozšíření získala univerzita granty agentury DARPA, kromě jiného pro zařazení podpory síťových protokolů TCP/IP. Tak vznikly verze 4 BSD, z nichž nejnovější je 4.4 BSD. Rozšíření pocházející z Berkeley vedly mnohé výrobce k tomu, že založili své verze systému na BSD, místo na oficiální verzi od AT&T.

Přístup ke zdrojovým textům systémů BSD však byl omezen na firmy vlastnící licenci od USL. Proto v červenci 1991 univerzita uveřejnila "Second Networking Release" (známou jako Net2), která byla míněna jako zveřejnění těch částí částí systému BSD, na které se nevztahuje licence USL. Na to však USL zareagovala žalováním univerzity pro porušení copyrightu a zneužití obchodního tajemství. Některé části Net2 údajně obsahovaly původní zdrojové texty, na které se licence vztahuje. Univerzita zahájila protiakci žalobou USL pro porušení licence systému BSD.

Nakonec došlo ke kompromisu. Zdrojové texty obsahující údajný původní kód AT&T byly napsány znovu nebo nahrazeny kódem z jiných zdrojů (např. Carnegie-Mellon University nebo projekt GNU). Výsledkem je nová distribuce, 4.4 BSD-Lite, která zachovala téměř všechny vlastnosti Net2 a přidala nové vlastnosti poslední verze 4.4 BSD.

Volně šířené systémy

Historie volně šířených systémů začíná jménem Richard M. Stallman. V průběhu sedmdesátých let byl Stallman jedním z nejproduktivnějších členů Laboratoří umělé inteligence na MIT, kde pracoval na výzkumu a vývoji v oblasti překladačů, editorů a operačních systémů.

Když byl v roce 1982 prodán laboratorní operační systém, na jehož vývoji se podílel, Stallman opustil své zaměstnání. Rozhodl se totiž vytvořit nový operační systém, který by mohl kdokoli používat a upravovat. Jako model byl zvolen systém UNIX, který se v té době začal lavinovitě šířit. Odtud pochází i rekurzivní jméno projektu: GNU znamená Gnu's Not Unix.

Po dvou letech práce Stallman vytvořil GNU Emacs, programovatelný editor pro UNIX. Stejný rok založil Free Software Foundation (nadaci pro vývoj volného software) a publikoval informace o projektu GNU s nadějí, že výrobci počítačů budou projekt sponzorovat. Ze strany výrobců však nebyl zájem a proto Stallman místo shánění sponzorů raději psal další programy a živil se konzultacemi. Postupně přibíral další spolupracovníky a později mohl z poplatků za distribuci GNU Emacsu a dalších programů zaměstnat tým programátorů.

Od té doby projekt GNU dokončil množství dalších programů, z nichž zřejmě nejdůležitějším je překladač jazyka C. Asi polovina těchto programů byla vytvořena dobrovolníky mimo FSF. Nyní se FSF zaměřuje na dokončení vlastního operačního systému, nazvaného Hurd, který by měl být kompatibilní nadmnožinou systémů BSD.

Systém Linux

Koncem devadesátých let nastal příhodný čas pro vznik volně šířených systémů typu UNIX. FSF udělala spoustu práce a připravila tak půdu pro vznik dalšího volného software. V té době vznikly přibližně ve stejné době dva systémy, Linux a 386BSD.

Operační systém Linux je nazván podle jeho původního autora, kterým je finský student Linus B. Torvalds. Celý systém byl napsán znovu od začátku podle normy POSIX. První verze Linuxu pracovaly pouze na počítačích PC s procesory Intel 80386 a vyššími, současné verze podporují i procesory Alpha a SPARC a pro několik dalších procesorů existují vývojové verze systému. V současné době Linux vyvíjí směrem k vyšší kompatibilitě s komerčními systémy.

Vzhledem k prudkému růstu uživalské základny si Linuxu všimli i producenti komerčních produktů. Netscape uvolnil v roce 1998 zdrojové texty svého prohlížeče a firmy Oracle, Ingres a Corel ohlásily přenos svých produktů pod OS Linux.

Volně šířené systémy typu BSD

Operační systém 386BSD byl původně dotvořen z dostupných částí Berkeley Net2. Verzi 386BSD 0.1 (květen 1992) vytvořil William F. Jolitz, který již předtím přispíval k vývoji systémů BSD.

V současnosti jsou dostupné kromě původního 386BSD dvě novější verze, které z něj vycházejí, a to NetBSD a FreeBSD. NetBSD je míněno jako systém, podporující různé architektury (podporuje 10 různých procesorů). FreeBSD se zaměřuje zpříjemnění práce na počítačích PC s procesory Intel a podporu periferií počítačů PC. Oba systémy jsou jinak velmi podobné a oba se ubírají podobnou cestou (například přechod na BSD 4.4 Lite). [Dnes existuje ještě existuje OpenBSD.]

Standardizace systému

Firma AT&T zpočátku nebyla ochotna řídit vývoj systému UNIX. Proto se objevilo množství rozšíření, pocházejících z různých dalších zdrojů, z nichž nejvýznamnější jsou kalifornská Univerzita v Berkeley (BSD), Sun Microsystems (SunOS) a Microsoft Corporation (Xenix).

Hlavním problémem byla nejednotnost. Velké množství systémů bylo založeno na verzi System V, množství jiných vycházelo z BSD. Mnozí nezávislí výrobci podporovali obě větve a poskytovali hybridní systémy. Navíc některé významné firmy, jako například IBM, vytvořily vlastní verzi systému. Proto bylo často potřebné provádět úpravy programového vybavení při jeho přenosu na jiný systém.

První vážný pokus o sjednocení hlavních variant systému byl projekt POSIX. Standardizační komise IEEE vytvořila normu 1003.1, která definuje množinu služeb systému, které musí každý systém odpovídající normě obsahovat. Další dokumenty standardizují ostatní vlastnosti systému UNIX.
IEEE/ANSI a ISO/IEC standardy POSIX (Portable Operating System Interface)
číslo IEEE standardu číslo ISO normy Popis
1003.0 14252 Průvodce a přehled norem
1003.1 9945-1 Rozhraní (API) pro jazyk C
1003.2 9945-2 Příkazový interpret (shell) a utility
1003.3 13210 Metody testování slučitelnosti
1003.5 14519 Rozhraní (API) jazyka Ada
1003.6 Bezpečnostní rozšíření
1003.7 Administrace systému
1003.8 Transparentní přístup k souborům
1003.9 Vazby jazyka Fortran 77
1003.10 AEP: Superpočítače
1003.13 AEP: Podpora RT aplikací
1387.2 Administrace softwaru
1387.3 Administrace uživatelských účtů
2003.1 Testovací metody pro 1003.1
2003.2 Testovací metody pro 1003.2

Další vývoj systému

V červnu 1993 byla USL koupena firmou Novell. Současně s koupí přešlo na Novell také právo používat ochrannou známku UNIX. V listopadu téhož roku přenechal Novell ochrannou známku UNIX sdružení X/Open a v roce 1995 prodal zdrojové texty systému firmě SCO.

X/Open je mezinárodní organizace pro standardizaci takzvaných "otevřených systémů". Úmluva X/Open s firmou Novell posílila předchozí dohodu, kdy se 75 firem shodlo na společné specifikaci aplikačního programového rozhraní, známého jako Spec 1170, nověji jako Single UNIX Specification. V roce 1996 vznikla OSF a X/Open "The Open Group", kterou jsou v současnosti testovány a označeny všechny systémy, které nesou jméno UNIX. Tím má být uživatelům poskytnuta jistota slučitelnosti s normou. V budoucnu bude zřejmě další vývoj UNIXu řízen sdružením The Open Group.

Shrnutí

Původním cílem autorů systému UNIX bylo vytvořit produktivní vývojové prostředí. Ve skutečnosti však dosáhli mnohem více, než bylo jejich záměrem. Systém se rozšířil nejprve v akademickém a později i v komerčním prostředí. Thompson a Ritchie tak prakticky ukázali, že i v tak složité oblasti jako jsou operační systémy mohou jedinci významné ovlivnit vývoj oboru.

Operační systém UNIX má za sebou již 25 let historie a z dnes běžně používaných systémů je nejstarší. Přesto je stále považován za moderní a perspektivní systém. Většina významných vlastností UNIXu je totiž poměrně mladého data a souvisí s celkovým vývojem operačních systémů. Od ostatních systémů se tedy UNIX liší zejména tím, že jeho vývoj probíhá evolučně.

Zajímavým fenoménem je vznik volně šířených systémů, které mnozí chápou jako návrat k původním myšlenkám systému UNIX. Je pravděpodobné, že volně šířené systémy budou v budoucnosti významnou alternativou systémů komerčních.


POSIX je registrovaná ochranná známka IEEE. The Open Group je ochranná známka Open Software Foundation, Inc. a X/Open Company Ltd. UNIX je ochranná známka registrovaná ve Spojených státech a dalších zemích, jejíž licenci uděluje výhradně sdružení The Open Group. Linux je ochranná známka Linuse Torvaldse ve Spojených státech a dalších zemích.