Ajalugu

MULTICS-i projekt

UNIX-i ajalugu ulatub tagasi 1960. aastate keskpaika, kui Ameerika Telefoni- ja Telegraafikompanii (AT&T), Honeywell, General Electric ja Massachusettsi Tehnikainstituut ühendasid jõud suure infotöötlussüsteemi loomiseks. Projekti nimeks sai MULTICS, mis tähendas mitmesuunalist infotöötlus- ja arvutisüsteemi teenust. MULTICS-it rahastas peamiselt Kaitseministeeriumi üks agentuuridest - ARPA. Enamik projektiga seotud uurimustöid tehti Massachusettsi Tehnikainstituudis MIT, mis asub Cambridge'is.

MULTICS oli modulaarne süsteem, mis töötas omavahel kokkuühendatud arvutirühmadel (kobaratel). Kogu süsteem oli disainitud selliselt, et selle erinevaid komponente võis teiste töötavate osade tegevust ja kasutajaid häirimata hoolduseks või parandamiseks välja lülitada. Eesmärgiks oli pakkuda toimivat arvutiteenust 24 tundi ööpäevas ja 365 päeva aastas. Antud arvutit sai muuta kiiremaks ja töökindlamaks, lisades uusi komponente, milledest moodustusid uued arvutikobarad. Projekti võiks võrrelda elektrijaamaga, mille võimsust saab tõsta, kui ehitada juurde täiendavaid turbiine, boilereid ja katlaid. Kuigi tänapäeval on MULTICS-ga sama suure arvutusvõimsuse saavutamine väga lihtne, oli see projekti algupäevil veel üsnagi utoopiline.

MULTICS-i disainimisel peeti silmas ka sõjalist külge. Süsteem pidi olema kaitstud nii väljastpoolt tekkivate rünnakute vastu kui ka seestpoolt teiste arvutikasutajate eest. MUTLICS-i abil püüti arvutisüsteemis realiseerida mitmetasandilist turvalisust. Ülisalajane, salajane, konfidentsiaalne ja avalik informatsioon pidi olema salvestatud kõik ühte ja samasse suurarvutisse. MULTICS-i eesmärk oli vältida olukordi, kus salajane info jõuab süsteemis selle kasutajani, kellel pole õigust antud andmeid lugeda. Antud projekti raames saavutati lõpuks säärane turvalisuse tase ja teenuse osutamise kvaliteet, milleni ei küündi isegi tänapäeva arvutisüsteemid. Ka mitte need, mis kasutavad UNIX-it.

UNIX-i algus

1969. aastal oldi projektiga tõsiselt ajakavast maas. Selle loojad lubasid palju rohkem kui tegelikult valmis oli jõutud teha. Projekti venimise tõttu ja ka sellepärast, et AT&T laboratooriumid asusid Massachusettsist kaugel eemal New Jerseys, otsustas AT&T projektis osalemisest loobuda.

Samal aastal püüdis AT&T Bell Labs-i insener Ken Thompson, kes oli samuti osalenud MULTICS-i projektis, realiseerida mõningaid MULTICS-i ideid ühel kasutamata PDP-7 tüüpi arvutil. Õige pea liitus temaga ka Dennis Ritchie, kes oli samuti MULTICS-iga setud olnud. Uuele süsteemile soovitas Peter Neumann nimeks panna UNIX. See oli otseselt tuletatud ikka veel Cambridge'is kestva projekti nimest ning oli löögiks MULTICS-ile, mille kallal töötati pärast seda veel ligi viisteist aastat. Sel ajal kui MULTICS-i abil püüti realiseerida mitmeid erinevaid ülesandeid, oli UNIX-i eesmärk lihtne: võimaldada erinevatel programmidel töötada. Range turvalisus ei olnud seejuures omaette eesmärgiks.

Säärane lihtsustatud süsteem oli paljude analüütikute unistuseks. Esimene UNIX-i versioon valmis mitmeid kuid enne MULTICS-it. Vaid ühe aastaga kirjutasid Thompson, Ritchie ja teised programmeerijad UNIX-i ringi Digital-i poolt loodud uue PDP-11 arvuti jaoks.

Uute võimaluste lisamisega AT&T poolt 1970. aastatel muutus UNIX programmeerijate unelmaks. Kogu süsteem põhines väikestel kompaktsetel programmidel, mis kõik täitsid vaid ühte kindlat ülesannet. Nende abiprogrammide omavahelise sidumisega avanes programmeerijatel võimalus teostada üsnagi keerulisi operatsioone - UNIX püüdis jäljendada programmeerijate mõtteviisi. Et kasutada ära kogu süsteemi võimalusi, pidi kasutajatel olema ligipääs antud abiprogrammidele ning tihti ka nende lähtekoodidele. Seega avanes kõigile süsteemis olevatele kasutajatele võimalus uute abiprogrammide loomise ning olemasolevates leiduvate vigade parandamisega aidata kaasa UNIX-i arengule.

1973. aastal kirjutas Thompson enamiku UNIX-i koodist ringi programmeerimiskeeles C, mis oli Ritchie' poolt just selleks tarbeks loodud. Selle keele eesmärk oli olla lihtne ning samas säilitada sõltumatus riistvarast. C-s nagu ka mõnes teises kõrgkeeles (näiteks FORTRAN-is) kirjutatud programme sai vähese vaevaga panna käima erinevatel arvutitel. C-keelsed programmid töötasid erinevatel masinatel aga peaaegu sama kiiresti kui tarkvara, mis oli arvuti riistvaraga tihedalt seotud.

Vähemasti selline oli asi teoreetiliselt. Tegelikkuses oli igale arvutile Bell Labs-is installeeritud erinev operatsioonisüsteem. C programme, mis oli kirjutatud labori PDP-11 arvutil, sai küll ära kompileerida ka mõne teise masina peal, ent nad töötasid vigaselt. Üks põhjus oli näiteks selles, et iga operatsioonisüsteem korraldas suhtlemist sisend-väljundseadmetega erinevalt. Sellest ülesaamiseks töötas Mike Lesk välja "universaalsed I/O teegid", kuid ka need ei lahendanud probleemi täielikult. Aastal 1977 sai UNIX-i töögrupp aru, et palju lihtsamaks võib kujuneda hoopis kogu UNIX-i installeerimine teistele masinatele, selle asemel et püüda üle kanda vaid erinevaid programmijuppe. Esimesena paigaldati UNIX labori Interdata 8/32 mikroarvutile, mis oma ehituselt sarnanes PDP-11-le. 1978. aastal suudeti süsteem üle kanda ka Digital-i VAX miniarvutile. Kuigi sel ajal oli UNIX veel üsnagi katsetusjärgus olev süsteem, muutus ta kiiresti populaarseks erinevates ülikoolides ning tema turustamisega tegelesid juba mitmed ettevõtted. UNIX-ist oli saanud järsku midagi enamat kui vaid arendusprojekt.

Tõepoolest, juba 1973. aastal kasutas seda operatsioonisüsteemi 16 AT&T ja Western Electricu allüksust. UNIX levis väga ruttu. 1973. aasta oktoobris toiminud ACM-i sümpoosionil operatsioonisüsteemide põhialustest tutvustasid Thompson ja Ritchie UNIX-it kirjeldavat dokumenti. Kuigi AT&T-l oli sel ajal keelatud tegeleda reklaami, turunduse ja arvutitarkvara tugiteenuse pakkumisega, kasvas nõudlus UNIX-i järele pidevalt. 1977. aastaks oli süsteem installeeritud juba enam kui viiesajale masinale, millest 125 asusid USA ülikoolides ning teised ligi kümnes erinevas riigis väljaspool ühendriike. Samal aastal alustati esmakordselt ka UNIX-i tasulise tugiteenuse pakkumist. Selleks ajaks oli valmis jõutud juba süsteemi kuuenda versiooniga.

BSD tekkimine

Enamik UNIX-iga varustatud arvuteid sarnanesid oma asukoha poolest Bell Labs-le. Need asusid kõrgtehnoloogilistes laborites, mis olid väga hästi turvatud ning kuhu said siseneda vaid kitsas ringkond inimesi. Neil oli süsteemile pikaajaline ligipääs ning oma töös olid nad sunnitud tihti tegema olulisi muudatusi operatsioonisüsteemis. Kasutajatel ei olnud vaja muret tunda süsteemi turvalisuse pärast, sest arvutile oli juurdepääs vaid labori töötajatel. Tegelikult oleks turvameetmete rakendamine muutnud uurimistöödeks vajaliku tarkvara kohandamise ning täiendavate abiprogrammide lisamise süsteemi märksa tülikamaks. Tihti esines olukordi, kus näiteks administraatori parooli peeti häirivaks pisiasjaks, sest kõigil süsteemi kasutajatel oli lubatud arvutisse siseneda administraatorina.

Valitsenud olukorda kirjeldab tõenäoliselt kõige paremini Californias asuva Berkeley Ülikooli näide. Nagu paljud teisedki, oli ülikool ostnud 400 dollari eest magnetlindi operatsioonisüsteemi lähtekoodiga. Selle asemel, et lihtsalt UNIX-it kasutada, muutsid kaks Berkeley Ülikooli lõpetamisetapis olnud üliõpilast Bill Joy ja Chuck Haley olulisel määral süsteemi ülesehitust. Selle tulemusena saatis Joy 1978. aastal välja 30 koopiat "Berkeley Tarkvara Distributsioonist" BSD, mis kujutas endast muudetud UNIX-it koos suure hulga abiprogrammidega. Hinnaks vaid 50 dollarit pluss postikulu.

Järgmise kuue aasta jooksul kasvas sellest ARPA finantseerimisel ja eestvedamisel välja uus operatsioonisüsteem, nn. BSD UNIX, mis sisaldas võrreldes AT&T pakutavaga olulisi täiendusi ja parandusi. Näiteks sai BSD kasutaja käivitada paralleelselt mitut erinevat programmi ning jälgida kordamööda nende tööd. Kui AT&T UNIX-s võisid failinimed olla vaid kuni14 märki pikad, siis BSD versioonis võis pikkus ulatuda kuni 255 märgini. Kõige olulisemaks eeliseks oli BSD-l vast arvutivõrgutarkvara nimega BSD 4.2 UNIX, mille abil oli ülimalt lihtne ühendada mitu UNIX-i masinat ühtsesse kohtvõrku. Pole seega ime, et Berkeley UNIX-i versioon uurimisasutuste ja ülikoolide seas väga populaarseks muutus.

Umbes samal ajal vabanes AT&T keelust tegeleda tarkvara arenduse ja müügiga. Ettevõtte juhtkond mõistis, et UNIX-i näol on neil tegemist väga eesrindliku, eduka ja suurt kasu tõotava tarkvaratootega ning nad alustasid tööd, et anda sellele ka kaubanduslik välimus. See aga viis omapärasele muudatusele konkureeriva BSD versiooninumbrite vallas.

Segadus BSD versioonidega

Berkeley 4.2 UNIX oleks pidanud tegelikult kandma numbrit 5.0. Selleks ajaks aga kui nimetatud versioon turule jõudma pidi, ägenesid vaidlused Berkeley ja AT&T juhtkondade vahel. Viimasele kuulus UNIX-i kaubamärk ja kõik õigused antud operatsioonisüsteemile. UNIX-i populaarsuse kasvuga hakkas AT&T juhatus muret tundma Berkeley versiooni poolt tekitatud ohust, mis ähvardas neid väärtuslikust tulust ilma jätta. Et säilitada kontrolli UNIX-i üle, moodustas AT&T UNIX-i tugigrupi USG, et jätkata operatsioonisüsteemi edasiarendamist ja turustamist. USG ristis järgmise versiooni AT&T UNIX-ist System V-ks ning kuulutas selle uueks "standardiks". Selle tulemusena sai nüüd AT&T juhatus väita, et BSD UNIX on standardile mittevastav ja sellega mitteühilduv.

Vastavalt kokkuleppele AT&T-ga säilis Berkeley-l aga õigus jätkata tarkvarauuenduste pakkumist kõigile oma senistele UNIX-i kasutajatele. Kui aga ülikool oleks tahtnud avaldada oma uut versiooni UNIX "5.0" nime all, oleks ta pidanud saavutama kokkuleppe AT&T-ga, et pakkuda oma uut toodet ka kõigile ülejäänud ülikoolidele ja ettevõtetele. Seetõttu avaldati BSD järgmine versioon numbri all "4.2", mis näitas, nagu oleks tegemist olnud lihtsalt varasema toote täiendusega.

Millist UNIX-it eelistada?

UNIX-i huviliste kasvuga oli arvutitööstusel seega valida kahe rivaali vahel: Berkeley UNIX ja AT&T System V. BSD kõige suurem mitteakadeemiline pooldaja oli Sun Microsystems. Koostöös Berkeley Ülikooli lõpetanud arvutiinseneridega loodud SunOS oli kogu oma ülesehituselt puhas Berkeley operatsioonisüsteem, mis baseerus BSD 4.1.c-l. Paljude arvates oli just SunOS-i sidumine BSD-ga Sun Microsystemsi varajase edu põhjuseks. Teine arvutitootja, kes sarnase ettevõtmise teoks tegi, oli Digital Equipment Corporation. Tema Ultrix sarnanes samuti paljuski BSD-le, ning polnud just üllatav, et selle esivanemaks oli valitud BSD 4.2.

Ettevõtete siirdumisel UNIX-i turule seisis neil kõigil ees üks ja sama küsimus: kumba operatsioonisüsteemi varianti kasutada. Ühel pool oli varsti turuliidriks saav Berkeley UNIX, mida eelistas akadeemiline ringkond ja süsteemiarendajad, kuid mis oli "ebastandardne" ning samuti hirmuäratavalt sarnane Sun-i süsteemiga. Teiselt poolt oli valida AT&T System V UNIX-i vahel, mille AT&T kui UNIX-i looja oli kuulutanud ametlikuks "standardiks". Seega soovisid paljud arvutitootjad nagu näiteks Data General, IBM, Hewlett Packard, Silicon Graphics, kes kõik püüdsid 1980. aastate keskpaigas oma UNIX-i versiooni luua, võtta aluseks just System V. Mõned neist üritasid teha mõlemat, luues nn. "kaheuniversumilise" süsteemi.

UNIX-ist ilmus peagi ka kolmas versioon - Xenix. See töötati välja 1980. aastate alguses Microsoft-i poolt ning litsents anti edasi firmale Santa Cruz Operation (SCO). Xenix põhines AT&T varasemal operatsioonisüsteemil System III. Microsoft ja SCO uuendasid Xenixit kogu 80-ndate keskel, lisades süsteemile mõningaid täiendavaid võimalusi, kuid olulisema edasiarendusega nad ei tegelenud.

1980. aastate lõpus, kui UNIX oli muutunud tõeliseks kommertstooteks, hakkas säärane operatsioonisüsteemi erinevate versioonide hulk kõigile tootjatele peavalu valmistama. Eraettevõtted soovisid osta UNIX-i standardiseeritud varianti, lootes seeläbi hoida kokku koolitus- ja halduskulude pealt ning tagades ühtlasi ühe arvuti jaoks loodud tarkvara töötamise ka teiste tootjate poolt loodud masinatel. Täpselt samal põhjusel tahtsid standardiseeritud süsteemi ka just tegutsema asunud UNIX-i tarkvaratootjad. Viimastel oleks seeläbi olnud märgatavalt lihtsam konkureerida üha kasvava PC-tüüpi arvutite turuga.

Esimesed kaks UNIX-i haru, mis omavahel ühinesid, olid Xenix ja AT&T System V. Selle tulemusena tekkinud UNIX System V/386 versiooninumbriga 3.12 sisaldas kõiki traditsioonilise UNIX System V ja Xenixi võimalusi. Nimetatud versioon jõudis turule 1988. aasta augustis ning oli mõeldud 80386-tüüpi arvutitele.

1988. aasta kevadel allkirjastasid ka AT&T ja Sun Microsystems oma operatsioonisüsteemide ühendamise lepingu. Uus versioon nimega System V Release 4 (SVR4) pidi sisaldama System V ja Berkeley UNIX-i parimaid omadusi ning tagama tõrgeteta töö mõlema süsteemi jaoks kirjutatud programmidele. Lisaks kinnitas Sun, et loobub oma senise SunOS tarkvara edasiarendamisest ning kasutab edaspidi operatsioonisüsteemina uuest loodavast süsteemist kohandatud versiooni, mille nimeks saab Solaris.

Mõnedes allikates nimetatakse SunOS ja AT&T System V ühendatud varianti ka SunOS 5.0-ks. Nimi Solaris tähendab sel juhul aga SunOS 5.0 koos OpenWindows töökeskkonna ning teiste rakendusprogrammidega.

Seonduv sisu
  • GNU/Linux I

    Operatsioonisüsteemide roll. Unixi teke.

  • GNU/Linux II

    Vabavara. GNU-projekt ja Vaba Tarkvara Fond. GNU/Linux ja GNU/Hurd