40 jaar Unix: hoe het was, en hoe nu verder
Gepubliceerd: Vrijdag 5 juni 2009
Auteur: Gary Anthes
Unix bestaat 40 jaar! Reden voor Techworld-zuster Computerworld om uitgebreid stil te staan bij de geschiedenis van misschien wel het meest invloedrijke stukje software allertijden.
Het is deze zomer veertig jaar geleden dat een programmeur een van de belangrijkste stukjes software ooit met een maandje werk in elkaar ramde. Ken Thompson zag in augustus 1969, toen zijn vrouw met zoontje een maandje op vakantie gingen, kans om lang-sudderende ideeën voor een besturingssysteem in de praktijk te brengen. De eerste versie van Unix schreef hij in assembleercode voor een toen al erg simpele minicomputer van Digital Equipment Corps.: de DEC PDP-7. Elke week van de maand besteedde hij aan een ander component. Eerst de OS zelf. Daarna een shell. Week 3 was voor de editor, terwijl de laatste week voor de assembler was.
FrustratieHet project kwam een beetje voort uit de frustratie die Thompson en zijn collega bij Bell Labs, Dennis Ritchie, hadden toen moederbedrijf AT&T na vele problemen de ontwikkeling van Multics staakte, een timesharing-systeem. Niet dat ze wegliepen met Multics, want dat was in hun ogen een onhandelbaar gedrocht, maar Thompson en Ritchie hadden ook geen trek om vast te blijven zitten aan de batch OS'en van toen.
Thompson schreef de allereerste versie van Unix na het nodige brainstormen, en de jaren daarna zou het tweetal met hulp van collega's Doug McIlroy, Joe Ossanna en Rudd Canaday verder ontwikkelen aan het systeem. Een paar van de principes van Multics werden overgeheveld, maar de schoonheid van Unix moest gaan liggen in het 'minder-is-meer' principe.
"Een krachtig besturingssysteem voor interactief gebruik hoeft niet duur te zijn. Niet als het gaat om benodigde apparatuur, en ook niet als het gaat om menselijke inspanning", schreven Ritchie en Thompson vijf jaar later in Communications of the ACM (CACM), de periodiek van de Association for Computing Machinery. "We hopen dat gebruikers vooral de simpliciteit, elegantie en gebruiksvriendelijkheid van Unix inzien."
En dat deden ze kennelijk. Unix groeide uit tot de hoeksteen van de ict, met een duidelijke aanwezigheid op servers en werkstations van universiteiten, overheid en ondernemingen. De invloed strekte zelfs verder dan daar waar het daadwerkelijk in werd gezet, zoals de ACM in 1983 onderkende toen deze Thompson en Ritchie beloonde met zijn belangrijkste onderscheiding voor verdiensten in de ict, de A.M. Turing Prijs: "Het Unix-model heeft een generatie van software-ontwerpers aangezet om op nieuwe programmeermethodes te komen."
De eerste stappenHet succes van Unix kwam uiteraard niet vanzelf. In 1971 poortten de ontwikkelaars het systeem naar de PDP-11 minicomputer, een robuuster platform dan de oorspronkelijke PDP-7 waar Unix voor was geschreven. Toegevoegd werden programma's waarmee tekst kan worden opgesteld en opgemaakt. Deze versie werd beschikbaar gesteld aan een select groepje typisten van het patentbureau van Bell Labs. Dat zijn na de ontwikkelaars de allereerste Unixgebruikers.
Een jaar later schreef Ritche de C-programmeertaal, waarna Thompson besloot om Unix opnieuw te programmeren in C. Dat maakte het OS een stuk beter te poorten naar verschillende computeromgevingen. Het is tijdens dat proces dat de makers de naam Unics (Uniplexed Information and Computing Service) gingen voeren als knipoog naar Multics. De naam verbasterden ze al snel naar Unix.
Met de tijd kwamen de geruchten rond Unix op gang. Het artikel dat Thompson en Ritchie in juli 1974 plaatsten in CACM onder de titel The UNIX Time-Sharing System maakte een storm los in de ict-wereld. Terwijl het besturingssysteem eerst door een handjevol Bell-medewerkers werd gebruikt, kon de steun van de ACM (een van de redacteuren gaf het predicaat 'elegant') Unix naar zijn omslagpunt leiden. "Het artikel in CACM had een enorme impact", schreef ict-historicus Peter Salus in zijn boek The Daemon, the Gnu and the Penguin. "Als snel werd Ken overspoeld met aanvragen voor Unix."
De hackershemelThompson en Ritchie waren echt hackers van de oude snit, uit de tijd dat de term iemand beschreef die voor anderen onbekende softwareproblemen oplost met keiharde denkkracht en onuitputtelijke werklust.
Hum methode en de code die eruit rolde, sprak eerst programmeurs binnen universiteiten enorm aan, en later die binnen beginnende bedrijfjes die niet de budgetten van bijvoorbeeld een IBM, HP of Microsoft tot hun beschikking hadden. Unix had alles in zich wat echte hackers, zoals Bill Joy van de Universiteit van Californië, Rock Rashid van Carnegie Mellon en David Korn van Bell Labs zich maar konden wensen.
"Het systeem kon zichzelf al bijna vanaf het begin onderhouden, en dat deed het ook", schreven Thompson en Ritchie in het artikel. "Omdat alle bronprogramma's altijd beschikbaar waren en aan te passen zijn tijdens operaties, konden we het systeem herzien en herschrijven op het moment dat we nieuwe ideeën zelf bedachten of suggesties kregen."
Korn, tegenwoordig een Fellow bij At&T, werkte in de jaren 70 voor Bell Labs. "Een van de sterke punten van Unix is dat je daar tools voor kon schrijven, en dat je oudere tools kunt vervangen door nieuwe", zegt hij. "Het was geen gesloten systeem waar je je overal in moest kopen, je kon gewoon zelf betere versies ontwikkelen." Van hem komt de Korn Shell, eigenlijk een programmeertaal om Unixoperaties mee te sturen. Die is beschikbaar gekomen als open source.
De schrijver en historicus Salus kan zich zijn werk nog herinneren met de programmeertaal APL op een IBM System/360 mainframe toen hij nog een professor was op de universiteit van Toronto in de jaren 70. Dat ging verre van goed. Maar de dag na kerstmis in 1978 gaf een vriend van de universiteit van Columbia hem een demonstratie van Unix op een minicomputer. "Ik zei 'o mijn god', en ik was helemaal om", zegt Salus.
Voor hem lag het grote voordeel van Unix in de pipe-functie. Dat onderdeel, toegevoegd in 1973, maakt het mogelijk om snel de uitkomst van een programma over te zetten naar een ander programma. Het pijpleidingconcept, die is uitgevonden door McIlory van Bell Labs, werd vervolgens afgekeken door ontwikkelaars van andere besturingssystemen. Alle Unixvarianten en Linux, maar ook DOS en Windows pasten het vervolgens toe.
Een ander voordeel van Unix, of de tweede 'wow' zoals Salus het beschrijft, is dat je geen dure mainframe nodig had. Het was geschreven voor een kleine, primitieve DEC PDP-7. Dat systeem speelde bijna niets klaar, maar het was het enige waar de ontwikkelaars beslag op konden leggen. "Ik was direct verkocht", aldus Salus.
Hij was niet de enige. Onderzoekers van universiteiten stapten massaal over op Unix omdat het relatief eenvoudig en snel aan te passen was. Het vroeg niet veel van de systeembronnen, en de broncode was zo goed als vrij beschikbaar. Beginnende bedrijfjes als Sun Microsystems en gespecialiseerde firma's die ondertussen niet meer bestaan, kozen om dezelfde redenen voor het besturingssysteem.
Neerlands glorieUnix kreeg de ruimte om te ontwikkelen tot een niet-proprietair systeem omdat AT&T in 1956 door de overheid met een richtlijn werd gedwongen om zich vooral toe te leggen op telefonie. Software ontwikkelen mocht, net als het licenseren daarvan voor een 'redelijk bedrag', maar een entree in de computermarkt werd ze onthouden. Unix werd in eerste instantie door het management van AT&T dan ook meer gezien als iets dat tussen hebbedingetje en kopzorg in zweefde.
Pas eind jaren 70 begon AT&T in te zien dat ze wel eens een commercieel nuttig iets in handen konden hebben. De advocaten kregen het voor elkaar om de richtlijn van 1956 breder te laten interpreteren, waardoor het bedrijf Unix als een bedrijfsgeheim kon gaan behandelen. Vanaf 1979, toen Versie 7 op de markt kwam, mochten universiteit de broncode niet langer aanwenden voor onderzoek.
Maar dat hoefde geen probleem te zijn, zo vond Unix V6-gebruiker Andrew Tenenbaum van de Vrije Universiteit in Amsterdam. Hij schreef in 1987 een Unixkloon die hij vrij kon gebruiken tijdens zijn colleges, het open source Minix-besturingssysteem dat hij draaide op een 80286-processor.
"Minix nam alle goede ideeen van Unix over, en was een verbluffend staaltje werk", zegt Salus. "Alleen een echt goede programmeur die thuis was in het fijne van het besturingssysteem kon zoiets klaarspelen.
Minix zou de basis worden van Linux, geschreven door Linus Torvalds in 1991. Dat is niet bepaald een Unixkloon, maar het lijkt er wel degelijk op.
Ongeveer een decennium eerder had Bill Joy, in de jaren 70 een student en programmeur aan de universiteit van Californie in Berkeley, zijn hand weten te leggen op Unix van Bell Labs. Hij zag het als een prima platform voor het bouwen van een compiler en text editor voor Pascal. De aanpassingen die hij en collega's maakten resulteerde in de andere grote vertakking van Unix, de Berkeley Software Distribution Unix; BSD dus. Joy verkocht de eerste kopietjes van 1BSD in 1978 voor 50 dollar.
Daardoor bestonden er in 1980 twee grote Unixlijnen, eentje van Berkeley en de andere van AT&T. Dat moest haast wel tot conflicten leiden, en de Unixoorlogen braken inderdaad uit. Het goede nieuws was dat programmeurs eenvoudig aan de broncode konden komen en de software zelf kunnen aanpassen aan eigen eisen en smaak. Het slechte nieuws? Dat ze dat ook daadwerkelijk deden. Unix dook overal op, en de verschillende varianten groeiden steeds verder uit elkaar.
Joy richtte in 1982 samen met anderen Sun Microsystems op en ontwikkelde de Sun-1 werkstation waarop een BSD-variant met de naam SunOS draaide, de voorloper van Solaris. Het daaropvolgende jaar bracht AT&T de eerste versie uit van Unix System V. Die was bijzonder invloedrijk, en vormde uiteindelijk de basis voor AIX van IBM en HP-UX van HP.
De UnixoorlogenGebruikers, waaronder ook overheidsinstellingen, klaagden er midden jaren 80 over dat hoewel Unix in theorie een enkel, eenvoudig te poorten besturingssysteem was, in de praktijk was niets minder waar. Leveranciers bewezen die klachten een lippendienst, maar werkten ondertussen dag en nacht verder aan het vangen van gebruikers in hun eigen Unixfuncties en API's. Pas in 1987 begonnen Unix System Laboratories (onderdeel van Bell Labs) en Sun gezamenlijk aan een systeem die beide vertakkingen samen moest gaan brengen. Daar kwam na twee jaar Unix System V Release 4.0 uit, een combinatie van functies uit System V release 3, BSD, SunOS en Xenix van Microsoft.
Andere Unixleveranciers waren bang voor een AT&T/Sun-combinatie. Verschillende partijen vormden alternatieve 'standaardenorganisaties' die luisterden naar namen als X/Open. Open Software Foundation, Unix International en Corporation for Open Systems. Je kunt een boek vullen met alle argumenten en tegenargumenten van de veschillende clubs, maar allemaal beweerden ze de sleutel te hebben tot een eenduidig, verenigd Unix terwijl ze elkaar tegelijkertijd naar het leven stonden.
In een niet-gepubliceerde paper uit 1988 voor de Defense Advanced Research Projects Agency (DARPA) schreef minicomputer-pionier Gordon Bell dit over de net opgerichte Open Software Foundation, waarin onder andere IBM, HP en DEC zaten: "OSF is een manier voor de Unix have-nots om in te stappen in een groeiende markt, terwijl ze gewoon door kunnen gaan met hun musea van code met hun hoge marges."
Uit de Unixoorlogen kwamen geen concrete oplossingen of echte standaarden. Pas in 1993 kreeg de Unixgemeenschap een broodnodige dreun van Microsoft, in de gedaante van Windows NT. Het propieritaire NT was er puur op gericht om Unix te verdringen en de hegemonie van Microsoft op de desktop uit te breiden naar het datacentrum.
Gebruikers van Microsoft waren daar blij mee, terwijl Unixleveranciers in paniek raakten. De grote Unixconcurrenten van weleer balden hun vuist samen met een initiatief, de Common Open Software Environment, welke een jaar later een einde maakte aan de oorlog door de OSF te fuseren met de Unix International Group van AT&T/Sun. Dat werd uiteindelijk het huidige Open Group, die Unixsystemen certificeert en beschikt over de Single Unix Specification.
Deze ontwikkelingen hebben weliswaar voor een 'standaardisatie' gezorgd voor Unix, althans zoveel als mogelijk gezien de rivaliteit die de leveranciers gewend zijn. Maar ze zijn wellicht te laat gekomen om de vloedgolf genaamd Linux af te stoppen, het open source-initiatief dat zijn oorsprong vind in Tanenbaum's Minix.
De toekomst van UnixHet treurige is dat het gebrek aan portabiliteit tussen concurrerende Unixversies en het feit dat Linux en Windows op x86 uiteindelijk goedkoper is ervoor zullen zorgen dat steeds meer ict-bedrijven zullen wegmigreren, zo voorspelt Gartner naar aanleiding van een peiling. "Het resultaat bevestigt dat er groot enthousiasme bestaat voor Linux als een platform voor host servers, dat Windows ook zal blijven groeien en dat Unix terrein verliest", zo schrijft de marktvorser in het toelichting op de enquête die Gartner in februari publiceerde. "Unix heeft tot nog toe een lang en interessant leven geleid. Het zal niet verdwijnen, maar het zal gaandeweg wel steeds verder worden weggedrukt", zegt Gartneranalist George Weiss. "Linux is nu de 'Unix' waar bedrijven strategisch voor kiezen." Volgens Weiss heeft Linux niet het voordeel dat het net zo lang in ontwikkeling geweest is als Unix, maar dat het Unix snel zal achterhalen op prestaties, betrouwbaarheid en schaalbaarheid.
Maar een recent onderzoek van Computerworld laat zien dat het wegmigreren van Unix niet heel snel zal gaan. Van de 130 Unixgebruikers onder de 211 ict-managers gaf 90 procent aan 'extreem' of 'heel erg' afhankelijk te zijn van Unix. Iets meer dan de helft zei dat 'Unix essentieel is, en dat ook zal blijven', terwijl slechts 12 procent verwacht in de toekomst verwacht af te stappen van Unix. Kostenbesparing, en dan vooral via serverconsolidatie, is dan de belangrijkste reden.
Weiss zegt dat de migratie naar x86 uiteindelijk zal versnellen vanwege de goedkopere hardware. "Horizontale, schaalbare architecturen , clustering, cloud computing, virtualisatie, allemaal op x86... als je al die trends aan elkaar knoopt, dan kies je uiteindelijk tussen Linux en Windows", zegt hij.
"als je bijvoorbeeld de recente Unified Computing-architectuur van Cisco erbij pakt, dan krijg je een combinatie van netwerken, storage, processorkracht en geheugen allemaal in een enkel pakket gegoten zonder dat je Unix nodig hebt. Je kunt gewoon Linux of Windows draaien op x86, dus eigenlijk is Intel de oorlog voor Linux op Unix aan het winnen.
The Open Group buigt nog niet voor Linux, en noemt Unix nog steeds hét systeem voor high-end functionaliteit, schaalbaarheid en prestaties voor bedrijfskritische applicaties. Voor Linux blijft volgens de groep genoeg over omdat het prima geschikt is voor de kleinere, niet zo kritische applicaties.
Korn van AT&T is een van degenen die devoot blijft aan Unix. Volgens hem is de kracht van Unix dat het sinds 1973 nog steeds in stukken kan worden gehakt en gedistribueerd kan worden. Dat zal Unix op zijn benen houden, zo voorspelt hij. "Het pijpleiding-principe werkt goed met cloud computing, omdat je daar ook werkt met kleine, herbruikbare onderdelen in plaats van een groot monolithisch geheel."
Wat het uiteindelijk lot van Unix ook moge zijn, het besturingssysteem heeft een nalatenschap gecreëerd die al veertig jaar duurt en waarschijnlijk nog decennia zal voortduren. Het is de wortel van een lange lijst van veelgebruikte software, waaronder Unix-producten van IBM, HP en Sun, van Mac OS X en van Linux. Het had zelfs een grote invloed op systemen die niet direct tot Unix terug te leiden zijn, zoals Windows NT en de DOS-versies van IBM en Microsoft.
Unix gaf startups de kans om te bouwen op een voor hun betaalbaar platform. Het was een van de hoekstenen van het internet en vormt nu nog steeds het hart van grote telecomsystemen. Kernideeën als pijpleidingen zijn van wezenlijk belang geweest voor computerarchitectuur, terwijl Unix-derivaat Mach een enorme toevoeging was voor wetenschappelijk, gedistribueerd rekenwerk dat uitmondde in multicore.
Het ACM sloeg in 1983 de spijker nog het meest op zijn kop toen Thompson en Ritchie de Turing-prijs kregen: "Het briljante van het Unixsysteem is het raamwerk, welke het de programmeur mogelijk maakt om voort te bouwen op het werk van anderen."
Wat is Unix eigenlijk?
De meesten zullen zeggen dat Unix een besturingssysteem is die tientallen jaren geleden is ontwikkeld door AT&T Bell Labs, en later door hun opvolgers is opgepikt. De belangrijkste huidige versies van Unix stammen af van een van de twee wortels, eentje direct van AT&T en eentje van AT&T via Berkeley. De grootste distributies van nu zijn AIX van IBM, HP-UX van HP en Solaris van Sun.
Maar de Open Group is de houder van het Unix handelsmerk, en die definieert Unix als een besturingssysteem dat is gecertificeerd volgens de Single Unix Specification (SUS). Daartoe horen ook OS'en die in de regel niet als Unix worden beschouwd, zoals Max OS X Leopard (een afstammeling van BSD) en IBM z/OS (een kind van mainframe-OS MVS). Het komt erop neer dat iets Unix is op het moment dat het zich als Unix gedraagt, wat de onderliggende code ook moge zijn.
Nog breder is de definitie van de Unix-like of Unixachtige, die wel bepaalde ideeën van Unix toepast maar geen Unixcode bevat. Linux is de grootste daarvan.
Uiteindelijk is Unix meer dan alleen een besturingssysteem, al is het wel redelijk om het zo aan te duiden. Naast de kernel, bevatten Uniximplementaties meestal utilities als command line editors, api's, ontwikkelomgevingen, libraries en documentatie.
Bron: Computerworld
Bron: Techworld
