Artikel top billede

(Foto: Computerworld)

UNIX fylder 50 år

I dag er UNIX at finde blandt verdens mest udbredte styresystemer. Men det hele startede egentlig med et simpelt grafisk computerspil på en mainframe.

Af Palle Vibe, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

”It’s a UNIX. I know this!” udbryder den unge heltinde Lex Murphy i den første Jurassic Park-film fra 1993, da hun finder vej ind til dinosaurparkens kontrolrum. Her opdager hun, at parkens computerstyring er baseret på samme operativsystem, som hun kender fra sin spilcomputer derhjemme. Og det lykkes hende at få alle parkens løbske computersystemer til at køre normalt igen. Scenen vidner om dette amerikanske styresystems kolossale betydning i såvel privat sammenhæng som kommercielt og industrielt.

UNIX hører så absolut til mellem computerverdenens mest navnkundige operativprogrammer og har været en væsentlig faktor i udviklingen af internettet. Det var under UNIX, at de TCP/IP-protokoller, som får internettet til at fungere, blev udfærdiget. UNIX har også dannet grundlag for udviklingen af styresystemerne BSD, PC-DOS, MS-Windows, Windows NT, Linux, Mac OS X, iOS og Android.

Set fra et programmeringsmæssigt synspunkt er UNIX nem at have med at gøre, fordi stort set alt er udformet som enkeltfiler, der kan arbejde sammen om løsninger frem for at skulle lave store selvstændige programmer til hver mulig opgave. Og det er nok mere end noget andet kendetegnende for UNIX.

Rumspil til 75 dollar

Du kan diskutere, hvornår UNIX helt nøjagtigt så dagens lys, men officielt markeres 50-års jubilæet af Bell Labs, hvor programmet er udviklet, nu i år, og ”fødselsåret” må derfor være 1969. Men den egentlige historie starter allerede i 1964, da Bell Labs indleder samarbejde med MIT og General Electric om at udvikle et operativsystem til mainframe-computeren GE 645.

Operativsystemet blev døbt Multics (Multiplexed Information and Computing Service) og havde for så vidt mange gode egenskaber. Men det var både indviklet og komplekst, og efter adskillige forsinkelser og budgetoverskridelser valgte Bell Labs at trække sig fra projektet.

En af programmørerne var Ken Thompson, der undervejs havde skrevet et grafisk planetspil, som han kaldte for ”Space Travel” for Multics. Men da hans arbejdsplads trak sig, tilpassede han i stedet sit spil til operativsystemet Gecos og kørte det på GE 635, der var GE 645 mainframens forgænger.

Bogen ”The C Programming Language”, som Dennis Ritchie skrev sammen med Brian Kernighan i 1978.

Det var imidlertid et om end endnu mere kluntet system at spille på, og derudover var omkostningerne for CPU-tiden også meget høje. Det har været nævnt, at det i 1966 kostede helt op til 75 dollar at spille spillet. I stedet begyndte Ken Thompson sammen med kollegaen Dennis Ritchie at skrive sit rumspil om, så det kunne køre på en DEC PDP-7 maskine (Programmed Data Processor).

Styresystemet på denne computer var også lidt håbløst, og derfor begyndte de to programmører at erstatte dygtige bidder af det med deres egne programstumper inspireret af Multics, men blot betydeligt forenklet og dermed også langt mere effektivt. Det nye styresystem kunne imidlertid ikke køres på andre computere, og i begyndelsen understøttede det heller ikke samtidig brug af flere brugere eller processer.

I starten havde det heller ikke engang et navn, og det var formentlig først i 1970, at den canadiske computeringeniør Brian Wilson Kernighan (der også på det tidspunkt arbejdede på Bell Labs), foreslog navnet Unics (Uniplexed Information and Computing Service), der jo altid smagte lidt af Multics. Endelsen ”x” blev først tilføjet senere.

I 1971 blev UNIX færdiggjort på en nyindkøbt DEC PDP-11-minicomputer, og Version 1 UNIX blev udgivet den 3. november 1971. Samme år startede Dennis Ritchie en videreudvikling af programmeringssproget B skrevet af Ken Thompson, og resultatet kaldte han følgelig C. C er siden blevet kildekode til alle UNIX-styresystemer.

UNIX får børn

I 1973 blev UNIX præsenteret uden for Bell Labs og tiltrak sig hurtigt interesse. Blot kunne styresystemet ikke markedsføres som et selvstændigt produkt, fordi moderselskabet Bell System var kendt som leverandør af telekommunikationstjenester og ikke pludselig kunne begynde at slå sig ind på andre gebeter. Men Thompson sendte så bare kopier af UNIX ud til de mest lovende aftagere mod blot at få dækket kostprisen og forsendelsen.

Taktikken virkede, og efterhånden fik Bell System og moderselskabet AT&T tilsyneladende lov til at sælge Version 6 UNIX som kildekode. Det skete på rimeligt gunstige vilkår for uddannelsesinstitutioner, men på temmelig ugunstige betingelser for kommercielle brugere. Det var imidlertid først da Ritchie og Thompson udgav artiklen ”The UNIX Time-sharing System” i 1974, at UNIX virkelig etablerede sig på verdensmarkedet. Den første kommercielle udgave af UNIX var IS/1 fra Interactive Systems Corporation fra 1977, der var en variant af Version 6 UNIX på licens.

Med lanceringen af Version 7 i 1979 blev UNIX tilpasset en række andre systemer og processorarkitekturer. AT&T udviklede selv UNIX System III, mens Microsoft lancerede Xenix, og Berkeley-universitetet (der havde brugt udgaven Research UNIX siden 1974) udviklede sine egne versioner, som også andre universiteter var interesserede i. En variant, som fortsat distribueres, kaldes netop BSD (Berkeley Software Distribution).

Oprør om ophavsret

Skilt brugt i markedsføringen af UNIX og her fotograferet foran en DEC PDP-7, der var den computer, som operativsystemet oprindelig blev udviklet til.

I den anden halvdel af 1990’erne var det almindeligt, at diverse UNIX-kloner brugte betegnelsen ”UN*X” for at omgå UNIX varemærket, og styresystemets historie har i det hele taget været fuld af ophavsstridigheder. For eksempel kastede SCO Group (der oprindelig hed Caldera Systems) sig i 2001 ud i et gevaldigt slagsmål efter købet af (dele af) UNIX-rettighederne fra softwareselskabet Novell for at udnytte dem under det separate softwareselskab Santa Cruz Operation (SCO).

Mange af de UNIX-relaterede rettigheder havde Novell nemlig fået fat i, da selskabet købte UNIX System Laboratorie-afdelingen (USL) af AT&T Corporation i 1993. Hvis det hele skal med, så blev SCO til SCO Group i 2002 (men skiftede siden navn til Tarantella).

Det var for øvrigt også SCO, som i 1987 købte rettighederne til Microsofts UNIX-version Xenix (efter at have solgt UNIX-udgaver på licens siden 1983). På den baggrund mente SCO Group herefter at besidde rettighederne til UNIX-kildekoden og gik systematisk i gang med at lægge sag an mod sine konkurrenter.

I 2003 sagsøgte SCO-koncernen IBM for at have brugt bidder af UNIX-koden i deres Linux operativsystem og forlangte 1 milliard dollar for tabte licensindtægter samt fremtidige licensafgifter fra alle Linux-brugere. SCO Group sagsøgte sideløbende en række andre selskaber inklusive Novell. Desværre for SCO slog en række retsinstanser fast, at det var Novell, der stadig havde ophavsret til UNIX, SCO måtte i 2012 begære sig konkurs.

I dag er det imidlertid først og fremmest Apple, der har udbredt kendskabet til UNIX blandt sine mange brugere. I 1997 købte Apple den tidligere computerleverandør NeXT og fik NeXTStep-operativsystemet med i købet. Det var en UNIX-variant delvis baseret på BSD og programmeringsgrænsefladen OpenStep, og Apple begyndte at sysle med planer om at udvikle sit helt eget operativsystem.

Efter et par testudgaver blev Mac OS X Server operativsystemet udgivet i 1999. Hurtigt efter i 2000 blev kernen i Mac OS X udgivet som åben kildekode under navnet Darwin, og den første klientversion Mac OS X kom i 2001. Senere blev operativsystemet døbt om til OS X, før det i 2016 fik navnet macOS, der sandsynligvis i dag er den bedst kendte UNIX- og BSD-variant.

Sol over UNIX

Også det tidligere Sun Microsystems udviklede i 1983 sin egen UNIX-version SunOS 1.0 baseret på BSD. SunOS kørte på Suns Motorola 68k-computere, men i 1987 indgik AT&T og Sun et samarbejde om at slå de mest populære UNIX-varianter sammen til ét enkelt system, som man kaldte UNIX System V Release 4 (SVR4). Sun erstattede siden selv sit SunOS med en SVR4-version, der fik navnet Solaris og i dag udgives af Oracle.

Hen ad vejen kom også DEC med Ultrix, HP med HP-UX, Silicon Graphics med Irix og IBM med AIX. Det åbne GNU-operativsystem, der med Linux-kerne som oftest hedder Linux, selv om den korrekte betegnelse er GNU/Linux (GNU står for GNU is Not UNIX). Andre eksempler er Idris, Coherent, Minix, Cromix og Android. Faktisk konkurrerede 30-40 varianter i en grad, så rivaliseringen senere er blevet kendt som UNIX-krigene.

Derfor startede i 1985 et internationalt projekt med det formål at standardisere alle disse UNIX-varianter. Resultatet blev konkretiseret i POSIX (Portable Operating System Interface) fra 1988, der nu varetages af standardiseringsorganisationen Open Group. Kravene er sammenfattet i Single UNIX Specification (SUS) og skal opfyldes for at kunne skilte med ”UNIX” som varemærke.