O SCURTĂ ISTORIE A UNIX-ului
-- de la MULTICS la Linux --

Mihai BUDIU -- mihaib+ at cs.cmu.ro
http://www.cs.cmu.edu/~mihaib

decembrie 1995, revizuit septembrie 1998


Contents

Orice informatician profesionist care s-a întîlnit cu UNIX odată s-a îndrăgostit cu siguranță de el. Motivele pasiunilor pe care le suscită constituie ele însele un subiect despre care s-au scris sute de cărți și nu despre asta intenționez să povestesc aici. Nu despre ``de ce'' voi vorbi, ci mai curînd despre ``cum'' și ``cînd''. Istoria genezei acestui sistem de operare este ea însăși plină de învățăminte interesante.

Conjunctura

Putem coborîpe firul timpului pentru a regăsi rădăcinile UNIX pînă la zilele de început ale calculatoarelor, prin anii '40-'50. Atunci lumea (de fapt ``selecta'' comunitate a informaticienilor) încerca să construiască un set de ``scule'' care să mărească productivitatea calculatoarelor, care pe atunci costau o grămadă de bani și-și petreceau tare mult timp citind cartele sau facînd alte treburi de același gen -- plictisitoare și mari consumatoare de timp -- scule care vor fi sămînța a ceea ce mai tîrziu se va numi ``Sistem de Operare''. Ar fi însă prea departe o astfel de întoarcere, deși cu siguranță nu lipsită de interes.

Povestea începe cu adevarat prin 1962, cînd trei mari companii din domeniul calculatoarelor din Statele Unite și-au unit forțele pentru a da naștere unui monstru software. MIT (Massachusets Institute of Technology -- o universitate de numele careia sunt legate multe pietre de hotar din istoria calculatoarelor), Bell Laboratories, care pe vremea aceea aparținea de AT&T (American Telephone and Telegraph -- un colos al telecomunicațiilor) și General Electric (atunci un important producător de calculatoare) s-au decis să pună la bătaie niște creiere, și o grămadă de bani ca să facă un ``utilitar'' sofisticat. Acesta trebuia să permită folosirea unei capacități de calcul în comun de către sute de utilizatori, cu un maximum de eficiență și securitate. Modelul la care aspirau era cel al rețelei de electricitate: vroiau ca fiecare potențial utilizator să aibă la dispoziție un fel de mufă la care să cupleze un terminal și prin care să aibă acces instantaneu la toate resursele de calcul ale sistemului. Vroiau sa aibă un singur calculator care să satisfacă toate nevoile utilizatorilor din Boston. Proiectul s-a numit MULTICS, prescurtare de la MULTiplexed Information and Computer Service -- serviciu multiplexat la informații și putere de calcul. Acesta este unul dintre cele mai răsunătoare eșecuri din istoria informaticii mondiale.

Proiectul n-a ajuns la sfîrșit. Bell s-a retras după cîțiva ani și cîteva milioane de dolari cheltuiți. General Electric a renunțat cu totul să mai lucreze în industria calculatoarelor.

Motivele eșecului sunt multe. Unul dintre ele este puterea hardware-ului de atunci. Ideea că peste douăzeci de ani un calculator de puterea celui pe care îl foloseau va putea să fie vîndut cu numai cîteva mii de dolari drept un calculator personal nu era bună nici ca SF. Un alt motiv, paradoxal, a fost o prea mare efervescență de idei. Fiecare din cei implicați era un artizan, și varietatea conceptelor a dus la o proastă integrare a părților. Nu în ultimul rînd a contribuit limbajul folosit: MULTICS ar fi trebuit să fie scris în PL/I, iar compilatorul era dezvoltat în același timp de o altă echipă, care niciodată nu era în termen.

Retrospectiv vorbind e greu de spus că MULTICS a fost un mare eșec. Majoritatea ideilor elaborate atunci sunt acum conceptele fundamentale din teoria sistemelor de operare. Pe de altă parte MIT a realizat pînă la urmă o variantă funcțională MULTICS care se folosește în cîteva locuri din lume.

MULTICS a fost prima dintre rădăcinile UNIX. O a doua a fost fenomenala dezvoltare a minicalculatoarelor. De la niște coloși (foarte, foarte scumpi), o ``rasă'' de calculatoare a evoluat spre dimensiuni mici și prețuri accesibile. Tipică este familia PDP a lui DEC (numit apoi Digital, cumpărat în 1998 de Compaq), care in 1961 vindea un PDP-1 cu 4K de memorie RAM de cîte 18 biți cu numai 120 000$ (de douăzeci de ori mai ieftin decît un IBM 7094). La prețul ăsta PDP-urile se vindeau ca pîinea caldă. La asta s-a adăugat și politica DEC de a scoate o întreagă familie de calculatoare (PDP) compatibile unele cu altele.

Faptele

Unul dintre participanții la proiectul MULTICS din partea Bell Labs, Ken Thomson, după nefericita experiență, a găsit prin sediul firmei un PDP-7 pe care aparent nimeni nu-l folosea. Și-a propus să scrie pe el un program foarte interesant, și anume un joc de simulare a unor nave spațiale și a sistemului solar. Calculatorul avea tot hard-ul necesar, dar soft de loc. Așa că Thomson s-a apucat de lucru folosind întîi un cross-assembler (un asamblor care se executa pe o mașină dar genera cod pentru alta). După ce s-a plictisit să tot care benzi cu hîrtie găurita de la asamblor la PDP ca să încarce programele s-a hotărît să-și scrie un asamblor pentru PDP. Zis și făcut.

Să scrii un joc însă nu e o treabă deloc banală. E o provocare pentru orice programator, oricît de experimentat. Jocurile sunt programe extrem de complexe, care implică adesea algoritmi sofisticați. Pe deasupra sunt greu de depanat și testat. Ei, asta-i trebuia de fapt și lui Thomson: un mediu de dezvoltare, care să-i permită să scrie ușor și eficient programul. Atunci el și-a folosit cunoștințele acumulate cu prilejul MULTICS și a scris, împreună cu un coleg, Dennis Ritchie, o variantă mai sărăcuță a acestuia pentru PDP. Prima piesă a fost un sistem de fișiere, duipă care au urmat un subsistem pentru execuția proceselor și apoi un interpretor de comenzi (shell). Colegii lui au numit rezultatul, ca să rîdă de Thomson, UNICS (UNiplexed Information...). Uite însă că numele a prins, deși grafia a fost apoi schimbată in UNIX. Această primă variantă era scrisă in assembler PDP-7.

Programul lui Thomson i-a fermecat pe colegii lui, programatori și ei. Iată însă că unul din departamentele hîrțogare ale Bell avea nevoie de niște programe mai de doamne-ajută pentru prelucrarea de texte. Sarcina a căzut tot pe umerii lui Thomson, care a primit pentru aceasta un calculator mai mare și mai frumos, numit PDP-11/20. Si pentru că decît să scrie direct programele mai simplu i-ar fi fost să aibă un mediu de programare asemănător pe noua mașină, s-a decis să ``porteze'' UNIX pe noua arhitectură. Compatibile, compatibile, dar nu chiar de tot. Totul trebuia rescris de la cap, in limbaj de asamblare PDP-11.

Un nou limbaj

Aici interesele lui s-au unit cu al altui grup de la Bell, care lucra la niște limbaje de programare care pot exprima algoritmi mai precis decît engleza și mai fiabil decît FORTRAN-ul. Ei elaborasera deja două noi limbaje care vor avea un rol important în evoluția ulterioară a domeniului. Acestea erau Algol și BCPL. Thomson și-a scris un interpretor de B -- o versiune proprie de BCPL, dar acesta era mult prea lent ca să poată fi folosit pentru programe mari. Denis Ritchie a fost însărcinat să scrie un compilator pentru B. Ritchie era și el un tip foarte inventiv, așa ca a modificat masiv limbajul pentru a-l face cit mai eficace fără a pierde însă portabilitatea. Programele nu trebuia să facă prea multe presupuneri despre arhitectura mașinii pe care rulează, pentru a se potrivi pe cît mai multe dintre ele. Dialectului creat de el, Ritchie i-a spus C.

C a fost limbajul potrivit la momentul potrivit. Este totodată simplu (sub 40 de cuvinte rezervate!), flexibil, extrem de eficient (aproape de mașină!), structurat, rapid și portabil. De altfel, de atunci încoace a dominat categoric scena programării de sistem: majoritatea sistemelor de operare, compilatoarelor și utilitarelor existente în lume sunt scrise în C. Succesul C a depășit cu mult pe cel al Unix-ului. C este încă direct sau indirect limbajul dominant în lume și la ora actuală (indirect prin urmașii săi C++ și Java).

Thomson și Ritchie au rescris UNIX în C pentru noile mașini, și apoi pe succesoarele lor PDP-11/45 și PDP-11/70. Acestea din urmă aveau mecanisme de protecție hardware și au permis o implementare eficientă a mecanismelor de securitate din UNIX.

Primele versiuni de Unix au fost folosite numai în interiorul Bell Laboratories. Ediția a treia, din februarie 1973 includea un compilator de C. În același an întregul Unix a fost rescris în C. Thomson și Ritchie au fost co-autori ai unui articol acum faimos, numit ``The Unix Time-Sharing System'', publicat în Communications of the ACM în iulie 1974.

O nouă gazdă

Prima portare în afara familiei PDP a fost făcută pe un calculator Interdata 8/321. Aceasta a fost ocazia de a constata că UNIX se baza cîteodată pe anumite particularități ale mașinii pe care trebuia să ruleze (cum ar fi că adresele sunt pe 16 biți, deci sunt maximum 64K de memorie). O grămadă de timp a fost petrecută pentru a face UNIX independent de asemenea idiosincrazii.

La început transpunerea pentru Interdata s-a desfășurat lent, pentru că dezvoltarea se făcea pe PDP, care se afla la etajul 5 al clădirii. Interdata era la etajul 1. O nouă versiune însemna să compilezi la etajul 5, și să cobori cu benzile la 1, să vezi dacă merge. Dupa ce s-au uzat scările, a apărut un amplu interes pentru posibilitatea conectării a două mașini printr-un mediu electronic. Acesta a fost începutul programelor de comunicație în rețea de calculatoare din UNIX.

Sistemul era foarte ușor acum de portat, pentru ca 95 la sută din el era scris in C. Dacă vroiai să-l muți pe o mașină nouă, tot ce aveai de făcut era să scrii un compilator de C pentru mașina aceea, iar un compilator e mult mai mic decît un întreg sistem de operare. Asta nu era chiar totul, pentru că pe noua mașină trebuia să mai scrii un pic cod în asamblare (intreruperi, porturi) și să rescrii partea care se ocupa cu perifericele (driverele pentru discuri, benzi, terminale). Oricum, treaba era mult mai simplă pentru că tot ceea ce rămînea putea fi transportat neschimbat, iar asta e mare lucru! (Cîte din programele scrise de dumneavoastra se compilează ușor pe un calculator complet diferit de cel pe care le-ați dezvoltat?)

Lucrurile nu s-au oprit aici! Steve Johnson de la Bell s-a apucat să studieze compilatorul de C și a constatat că o mare parte din compilare se face la fel independent de mașina pentru care se generează codul. Ideea lui a fost să parametrizeze compilatorul în așa fel încît să-i furnizezi doar o descriere a mașinii pentru care trebuie să genereze cod, iar grosul compilatorului să fie neschimbat. Acesta a fost compilatorul portabil de C. Ani întregi compilatoarele de C de peste tot au fost bazate pe cel al lui Johnson, și aceasta a ajutat mult la răspîndirea UNIX-ului.

Versiunea cea mai importantă de Unix numită ``Versiunea 7'' a fost lansată în ianuarie 1979; era primul sistem Unix cu adevărat portabil, mult mai robust și mai funcțional decît toate versiunile anterioare.

Propagarea

Poate nici unul din motivele de mai sus nu ar fi fost suficient pentru ca UNIX să cunoască popularitatea de care se bucură azi. A mai fost ceva. Pe vremea aceea AT&T era un monopol pe telecomunicații in SUA. Or americanii au niște legi destul de severe anti-trust (vedeți și procesul intentat de departamentul de justiție împotriva companiei Microsoft.) AT&T semnase cu DOJ (Department of Justice) o înțelegere prin care se abținea să activeze în industria calculatoarelor. De aceea n-a avut nimic împotrivă să vîndă licența codului sursă UNIX, pentru prețuri modice, universităților. PDP-11 era, printr-o fericită coicidență, foarte răspîndit în universități, dar sistemul de operare cu care era livrat de DEC nu prea era pe placul utilizatorilor. UNIX a fost providențial. Cursurile erau ținute pe UNIX, cu exemple luate din UNIX. Codul se putea studia la seminare. Lumea era într-o efervescență nesfîrșită (un informatician obsedat este foarte obsedat!). Fiecare inova ceva, fiecare depana ceva. Conferințe, întruniri, comunicări. Un profesor australian, John Lions, a scris pe marginea codului un comentariu de genul celor pentru operele lui Shkespeare sau Chaucer. Versiunile se succedau versiunilor.

În 1975 sistemul deja rula în colțuri foarte îndepărtate ale lumii: universitatea Berkeley din California, universitatea Ebraică din Ierusalim, universitatea South Wales din Australia și universitatea din Toronto din Canada. Studenții absolvenți au dus apoi cu ei în industrie lecțiile învățate cu UNIX, contribuind la răspîndirea lui în continuare. AT&T încorpora adesea contribuții din întreaga lume în codul sistemului (colaborare care s-a deteriorat simțitor cînd AT&T a început mai tîrziu să comercializeze sistemul).

In 1984 Thomson și Ritchie au primit prestigiosul premiu Turing al ACM (Association for Computing Machinery) pentru lucrarea lor din 1974 care descria pentru prima oară UNIX. ACM este o asociație profesională a calculatoriștilor din întreaga lume, de un prestigiu rivalizînd cu IEEE.

Lucrurile păreau a fi într-o deplină concordie, dar nu a fost să rămînă așa.

Divergența

În 1979 Microsoft (sic!) împreuna cu Santa Cruz Operations (SCO) au portat sistemul Unix pentru PCuri cu 80x86, sub numele de XENIX, una dintre primele variante comerciale ale sistemului.

Cam în acea perioadă, Thomson a avut un an sabatic (în sistemul american un cercetător cu experiență din industrie face o dată la cîțiva ani o pauză și lucrează -- de obicei -- în învățămînt și invers) la Universitatea Berkeley din California. Berkeley era una dintre primele universități care avusese licența codului. Studenții și cercetătorii de la Berkeley au dezvoltat un sistem propriu gen UNIX numit BSD (Berkeley Software Distribution) și care avea o mulțime de îmbunătățiri față de System V.

Printre părțile tari BSD: un mecanism de memorie virtuală cu paginare, inspirat din sistemul de operare VMS de la Digital, scris de Bill Joy și Ozap Babaoglu, care permitea executarea unor programe mai mari decît încăpeau în memorie, un sistem de fișiere mult mai rapid (``The Fast File System''), compilatoare de LISP și Pascal și o implementare a protocolului de comunicații pentru rețele de calculatoare numit TCP/IP, care este de departe cel mai răspîndit astăzi, mult înafara lumii UNIX (este protocolul folosit în rețeaua Internet), plus o grămadă de utilitare de toate felurile. Armata a investit o grămadă de bani în cercetarea legată de Unix la Berkeley, prin agenția DARPA (Defense Advanced Research Projects Agency)2. Dezvoltarea lui BSD a fost continuată la Berkeley pîna în 1993.

În 1982 Bill Joy a plecat de la Berkeley pentru a înființa propria lui companie numită Sun Microsystems, care a lansat o variantă proprie de Unix numită SunOS, bazată pe BSD.

Tot în 1982 legea americana a spart AT&T în mai multe companii independente și concurente pentru a sfărîma monopolul asupra telecomunicațiilor. AT&T a avut voie să intre în arena calculatoarelor. Prima mișcare: a schimbat clauzele licenței și a făcut din el un sistem comercial, pentru care trebuia să dai o grămadă de bani și ale cărui surse nu erau public disponibile. Prima variantă s-a numit System III, urmată curînd după aceea de System V. SV (cum mai este numit) avea multe facilități și inovații față de BSD (memorie partajată, semafoare, o nouă arhitectură de memorie virtuală, biblioteci partajate, STREAMS, etc.).

Spre sfîrșitul anilor '80 în lume existau două stiluri mari de UNIX: BSD și System V, care adesea nu prea se potriveau între ele. Acest lucru împiedica succesul comercial al produselor, pentru că nu puteai garanta că programele vîndute vor funcționa pe orice variantă.

Marile firme de calculatoare au început să elaboreze propriile variante, cu tot felul de adaosuri și modificări. Unele dintre ele se bazează pe codul cumpărat de la AT&T și dezvoltat, altele sunt scrise de la cap la coadă, altele împrumută idei de la BSD. Fiecare mare fabricant de calculatoare are propriul sau UNIX:

Firmă Unix
Hewlet Packard HP UX
IBM AIX
Sun Microsystems SunOS, Solaris
Digital Ultrix
Silicon Graphics IRIX
SCO SCO Unix

Numai pentru calculatoarele din familia PC există mai multe UNIXuri mititele: XENIX, Coherent, 386BSD, Minix, Linux, etc.

Standardizarea

Datorită proliferării de variante nu mai era foarte clar ce e și ce nu e Unix. Fiecare fabricant adăuga propriile lui ``ornamente''. Sistemele bazate pe BSD și SV erau diferite într-o mulțime de aspecte fundamentale.

Din păcate încercarea de a standardiza Unix a dus la apariția unui întreg set de standarde incompatibile! În final 3 standarde diferite s-au bucurat de o acceptare largă: SVID, POSIX și X/Open. Standardele descriu numai ce fel de servicii trebuie să exporte sistemul de operare, și nu modul în care acestea sunt implementate.

Primul standard a fost făcut public de AT&T și a fost numit System V Interface Definition, sau SVID (1983). Acesta este practic o descriere precisă a tuturor funcționalităților pe care SV le oferea. AT&T a publicat și o serie de teste pe care un sistem trebuia să le treacă înainte de a putea fi numit ``Unix''.

Oficiul de standarde al IEEE (Asociația Inginerilor Elecroniști) a făcut un alt pas spre reconciliere. Sute de experți din industrie, universități și guvern au format un colectiv numit POSIX (Portable Operating System -- unIX).

Standardul elaborat de ei este publicat într-o serie de documente numite seria POSIX 1003. Ele spun explicit cum trebuie să arate un sistem de operare ca să fie un UNIX.

Spre deosebire de standardele obișnuite din calculatoare, acesta este deosebit de bine scris, și a extras din Sys V și BSD intersecția calităților iar nu reuniunea lor, plus cîteva din lucrurile foarte bune din BSD. Prima versiune a fost publicată în 1990.

In plus limbajul C a fost standardizat de ANSI (American National Standard Institute).

În fine, X/Open este o coaliție de fabricanți și comercianți de calculatoare care a extins specificațiile POSIX cu o grămadă de alte recomandări, de pildă despre sistemele de ferestre sau managementul datelor. Recomandările lor sunt publicate sub numele X/Open Portability Guide.

Bariera sonică

La mijlocul anilor '80, la universitatea Carnegie Mellon a început un proiect de cercetare în arhitectura sistemelor de operare, folosind un nou sistem de operare numit Mach3. Mach era un sistem revoluționar, micro-nucleu, care oferea o serie foarte simplă de servicii peste care se puteau construi ca din cărămizi de Lego oricare altele; de exemplu Mach putea executa Unix ca pe un proces și putea oferi toate serviciile Unix, simultan cu ale unui alt sistem de operare. Mach nu avea nici un fel de restricții de licențiere ca Unix, așa că a devenit extrem de popular; multe sisteme comerciale se bazează pe Mach 2.5: OSF/1, despre care vom vorbi mai jos, și NextSTEP, al companiei NEXT, fondată de Steve Jobs (cunoscut ca creator al primului calculator Apple).

Sistemul de operare Windows NT (1992) de la Microsoft are o arhitectură extrem de apropiată de Mach.

Războiul

În 1987 AT&T a cumpărat 20% din ac'tiunile Sun 'si a intrat într-un parteneriat strîns cu Sun pentru a dezvolta noile versiuni de Unix. AT&T a anunțat că Sun se va bucura de tratament preferențial în ceea ce privește accesul la surse; Sun a renunțat complet la nucleul SunOS, bazat pe BSD și a îmbrățișat cealaltă versiune, SV. AT&T și Sun au lansat împreună System V Release 4, sau SVR4. Sistemul de operare de la Sun este numit de atunci încoace Solaris 2.x.

În reacție, un grup de mari fabricanți, cuprinzînd IBM, Digital, Hewlet Packard, Apollo a fondat un consorțiu numit OSF (Open Software Foundation) care lupta împotriva dominației AT&T și Sun în arena UNIX. OSF era finanțată de membrii componenți și trebuia să dezvolte o gamă largă de software și să extindă sistemul Unix în alte direcții; unele din părțile dezvoltate sunt: un sistem de ferestre grafice (X11, dezvoltat la MIT), o interfață grafică (Motif), un mediu de calcul distribuit (DCE -- Distributed Computing Environment), un mediu de management distribuit al resurselor (DME).

Primul sistem de operare al OSF a fost lansat de Digital s-a numit OSF/1 și era bazat pe o combinație de Mach, 4.3BSD și anumite funcțiuni din nucleul de la IBM, AIX. În plus oferea o sumedenie de avantaje tehnologice care nu se găseau în oferta de la Sun/AT&T (suport pentru multiprocesoare, biblioteci dinamice, etc.)

Ca să se răzbune AT&T, Sun și alți comercianți care se bazau pe SVR4 su făcut un consorțiu numit Unix International (UI).

Decăderea

Cînd doi se ceartă al treilea cîștigă. O scădere economică la începutul anilor '90, rapida evoluție a performanței PCurilor și dominanța crescîndă a sistemului de operare Windows al Microsoft au oprit creșterea și au amenințat supraviețuirea Unix. UI a fost desființată în 1993 iar OSF și-a îngustat simțitor anvergura planurilor. (Chiar și sistemul OSF/1 a fost redenumit în 1995 Digital Unix).

A urmat o serie rapidă de schimbări de proprietar pentru marca comercială Unix și drepturi asupra codului. În 1991 Novell a cumpărat o parte din drepturile asupra Unix de la AT&T și a lansat propria lui versiune numită UnixWare în 1992. În 1993 Novell a cumparat ce mai rămăsese de la AT&T, iar Sun a cumpărat dreptul de a folosi cod de la Novell. De curînd SCO a cumpărat în întregime Unix de la Novell.

Supraviețuirea?

Lupta marilor companii pentru dominanță a dus aproape la pieirea Unix. Dar un contracurent foarte spectaculos și-a făcut la apariția la început pe nesimțite, dar apoi cu din ce în ce mai multă forță.

Lucrurile au pornit de la un informatician american care lucrează la universitatea ``Frei'' din Amsterdam, Andrew Tanenbaum. În 1987 el a publicat codul unui mic sistem de operare, care pe dinafară seamănă cu UNIX, deși pe dinauntru este complet diferit (într-un stil micro-nucleu, ca Mach). Sistemul lui Tanenbaum se numea MINIX și putea fi folosit fără nici un fel de plată în scopuri academice, dar cu restricții de copiere, modificare și distribuire. Codul merge pe o varietate de calculatoare și este excelent comentat. (O a doua ediție a cărții și MINIX 2.0 au fost publicate în 1997.)

Comunitatea utilizatorilor MINIX se bucura de o creștere constantă cînd, în 1992, un student finlandez în vîrstă de 22 de ani, Linus Torvalds, după lectura cărții în care Tanenbaum dă sursele sistemului lui, modifică inițial MINIX, scrie un sistem pentru PC cu 80386, și îl face ``free software'', adică fără restricții de copiere și distribuire. Faptul că era ceva mai performant, datorită design-ului tradițional, a dus la o răspîndire explozivă a sistemului, care are la ora actuală milioane de utilizatori în întreaga lume.

La versiunea actuală de Linux (2.1.10x) au pus umărul mii de programatori pasionați din întreaga lume. Fiecare a găsit un bug, a scris un utilitar, a scris o documentație. În aceste condiții codul Linux este de foarte bună calitate (eficient și fără bug-uri grave) rivalizînd și surclasînd implementări de firmă. În plus este absolut gratuit.

Colaborarea aceasta a fost posibilă datorită dezvoltării extraordinare a rețelelor de calculatoare. La crearea produsului final au contribuit mii de oameni care nu s-au întîlnit niciodată! Lipsa restricțiilor și disponibilitatea codului sursă face Linux un candidat ideal pentru cercetare și dezvoltare. La ora aceasta Linux este considerat de analiști singurul sistem de operare care poate oferi o alternativă solidă dominației totale Microsoft. Cele mai mari firme de calculatoare renunță încetul cu încetul la variantele lor de Unix speriate de creșterea rapidă a Windows NT. Deși Windows NT este încă un sistem relativ imatur față de Unix, forța comercială a Microsoft precum și compatibilitatea cu alte sisteme Windows, care domină 95% din pia't'a sunt ni'ste adversari de temut.

Pentru comparație, iată dimensiunile nucleelor în linii de cod-sursă:

Nucleu Linii
Linux 1 milion
Solaris 11 milioane
Windows NT 40 milioane

Pe de altă parte Linux se bucură de o creștere constantă, sub directa supervizare a autorului său, Linus, care acum lucrează la o companie nou înființată în California. Linux este pe departe cel mai portat sistem de operare din istorie, funcționînd pe o gamă extrem de largă de calculatorare și stații de lucru, și pentru care din ce în ce mai multe companii lansează software.

Încheiere

Sistemele Unix comerciale sunt încă niște realizări impresionante, care oferă funcționalități superioare Linux sau NT.

Unii analiști cred că versiunile de Unix vor dispărea încet din arena jucătorilor ``grei'' economici; ultimul supraviețuitor comercial pronosticat fiind Sun. Mulți pariază pe o luptă Linux/NT. Ce se va întîmpla însă numai un profet ar putea spune. Oricum, deși substanțial sub cifra de afaceri a lui Microsoft, sistemele Unix continuă să reprezinte o piață de mai multe zeci de miliarde de dolari.

La ora actuală UNIX este singurul sistem de operare care funcționează simultan pe microcalculatoare și supercalculatoare. Este practic singurul sistem de operare pentru minicalculatoare și stații de lucru. TCP/IP este protocolul folosit pe cea mai mare rețea de calculatoare din lume: Internet, cu sute milioane de abonați pe toate continentele.

Eleganța interfețelor sale și calitatea remarcabilă a abstracțiilor pe care le oferă utilizatorilor au influențat și vor continua să influențeze profund arhitectura sistemelor de calcul.

Să ne amintim că totul a început de la un joc.

Note Bibliografice

Informațiile din acest text sunt extrase dintr-o multitudine de surse. Iată aici unele dintre ele:

Versiuni de UNIX

Nume Bazat pe Fabricant
AIX SV IBM
A/UX SV Apple
BOS SV Bull
BSD BSD University of California at Berkeley (UCB)
Chorus SV Chorus
Coherent SV Mark Williams Company
EP/IX POSIX Control Data Corporation
FreeBSD BSD UCB
GNU Hurd Mach Free Software Foundation
HP-UX SV+BSD Hewlet Packard
IRIX SV Silicon Graphics
Linux -- Linus Torvalds + hackeri
Minix clone SV Tanenbaum (Vrije Universitet Amsterdam)
Net/2 BSD UCB
NEWS-OS ? Sony
QNX ? Quantum Software
OSF/1 Mach DEC, Open Software Foundation
Plan 9 - AT&T
SCO Xenix SV SCO
SCO Unix SV SCO
Solaris SV Sun Microsystems
SunOs BSD Sun Microsystems
Ultrix BSD DEC
UNICOS SV Cray
UnixWare SV Novell
UTEK ? Tektronix
Xenix SV Microsoft

Cronologie

1968 Proiectul Multics
1969 Unics pentru PDP-7, Bell Labs, AT&T
1971 Unix versiunea 1, asamblor PDP11/20
1974 Unix versiuna 4, C
1975 Unix versiunea 6, foarte răspîndit
1978 2.x Berkeley Software Distribution (BSD)
1978 3BSD, memorie virtuală
1979 Unix V7 ``ultimul Unix adevărat''
1980 4.0BSD
1982 System III, Unix comercial de la AT&T
1982 Fondat Sun Microsystems
1983 System V
1983 4.2BSD, TCP/IP
1984 System V Release (SVR)2; publicată SV Interface Definition SVID
1984 X/Open, consorțiu de comercianți Unix
1985 SVID1, SVR2
1986 SVR3, SVID2
1986 4.3BSD
1986 Mach
1987 X/Open Portability Guide 2 publicat
1987 Alianță AT&T - Sun
1988 SVR4, amestecă SV, BSD, SunOS
1988 Se fondează OSF
1989 X/Open Portability Guide 3
1991 OSF/1 bazat pe SVR2; micronucleu Mach2.5
1992 Linux e creat
1992 X/Open Portability Guide 4
1992 Windows NT 1.0
1993 4.4BSD; dezvoltarea Unix la Berkeley încetează
1993 Novell cumpără Unix System Laboratories
1993 Novell vinde dreptul pentru marca UNIX lui X/Open
1995 Digital OSF/1
1996 GNU Hurd alfa lansat
1998 Solaris 2.6
1998 Windows NT 5.0 (amînat)

Standardul POSIX 1003

1003.1 funcții de bibliotecă, apeluri de sistem
1003.2 shell-ul și utilitarele
1003.3 metode de testare
1003.4 timp real
1003.5 limbajul Ada pentru Unix
1003.6 securitatea
1003.7 administrația sistemului
1003.8 accesul la fișiere
1003.9 Limbajul FORTRAN pentru Unix
1003.10 super-calculatoare
1003.12 interfețele independente de protocol
1003.13 real-time profiles
1003.15 interfețele pentru supercalculatoare - batch processing
1003.16 limbajul C
1003.17 servicii de directoare
1003.18 POSIX standardized profile
1003.19 FORTRAN 90



Footnotes

... 8/321
Investigații istorice au arătat că prima portare a fost de fapt făcută la universitatea Wollongong din Australia, urmată la scurtă durată de o portare făcută de Bell Labs.
... Agency)2
O mare parte din cercetarea tehnologică în Statele Unite este sposorizată de DARPA.
... Mach3
Ernst Mach este un mare fizician din secolul 20; 1 Mach este și unitatea de măsură a vitezei egală cu viteza sunetului; de aici și titlul acestei secțiuni.