Unix

Det hele startet med et dataspill. Nå er Unix 50 år

Arven lever videre i mye brukte operativsystemer.

Bilskilt brukt i markedsføringen av UNIX, foran et tilsvarende system som det Unix først ble utviklet for – DEC PDP-7 – fotografert ved Universitetet i Oslo i 2005.
Bilskilt brukt i markedsføringen av UNIX, foran et tilsvarende system som det Unix først ble utviklet for – DEC PDP-7 – fotografert ved Universitetet i Oslo i 2005. (Foto: Wikimedia Commons/Tore Sinding Bekkedal, Wikimedia Commons/KHanger, Montasje: digi.no. (CC BY 3.0))

Arven lever videre i mye brukte operativsystemer.

Hei, dette er en Ekstra-sak som noen har delt med deg.
Lyst til å lese mer? Få fri tilgang for kun 235,- i måneden.
Bli Ekstra-abonnent »

På slutten av 1960-tallet skjedde det svært mye innovasjon innen informasjonsteknologien som har fått stor betydning for hvordan vi i dag benytter datamaskiner til å kjøre programvare og kommunisere. Én av de store milepælene var oppfinnelsen av operativsystemet Unix, som ble utviklet ved Bell Laboratories.

En kan nok diskutere når Unix egentlig ble født, men 50-årsjubileet markeres av nåværende Nokia Bell Labs i år. Det vil si at Unix ble født i 1969. 

Andre vil si at fødselsdatoen heller burde være 1. januar 1970 eller 3. november 1971, da den første versjonen ble utgitt.

Det startet med Multics og et dataspill

Egentlig starter historien om Unix noen år tidligere. I 1964 startet Bell Labs med MIT og General Electric et samarbeid utvikle et operativsystem for stormaskinen GE 645. Operativsystemet ble kalt for Multics (Multiplexed Information and Computing Service).

Etter betydelige forsinkelser og budsjettoverskridelser valgte Bell Labs å trekke seg fra Multics-prosjektet. Det var komplekst, men hadde samtidig mange positive egenskaper. 

Ken Thompson var blant de Bell Labs-ansatte som jobbet i Multics-prosjektet. I forbindelse med dette hadde han skrevet et dataspill, Space Travel, for Multics. Etter at Bell Labs trakk seg fra Multics-prosjektet, skrev han det om til operativsystemet GECOS og stormaskinen GE 635. Det var et klønete system å spille på. I tillegg var kostnaden for CPU-tiden svært høy. I 1979 ble det oppgitt at det kostet 75 dollar å spille spillet på stormaskinen. 

Derfor fant Thompson en DEC PDP-7-maskin som var lite i bruk, og sammen med kollega Dennis Ritchie skrev han om spillet slik at det det kunne kjøres på denne. Men fordi Thompson og Ritchie mislike programvaren som fantes på PDP-7-maskinen, erstattet de flere deler av de eksisterende operativsystemet med sine egne. 

Les også

Dette inkluderte et skall (shell) og verktøy for blant annet å kopiere, skrive ut, redigere og slette filer, i tillegg til en pakke for flyttallsaritmetikk og en hel del annet. Mye var inspirert av Multics, men betydelig forenklet.

Noe av det som kjennetegner Unix og Unix-lignende systemer, er utgangspunktet i programvaredesign hvor problemer løses ved å koble sammen enklere verktøy, framfor å lage store, monolittiske programmer.

Papirbånd

Inntil det ble lagd en egen assembler-programvare for PDP-7-maskinen, noe som skal ha kommet på plass i august 1969, ble programvaren skrevet i et assembly-språk for en kryss-assembler på en GECOS-basert maskin, for så å bli overført til PDP-7-maskinen på papirbånd. 

Operativsystemet var fortsatt temmelig enkelt. Det kunne ikke kjøres på andre systemer, og det støttet ikke time-sharing med flere samtidige brukere eller prosesser. Dette kom først senere. Sentralt i denne første fasen var utviklingen av et filsystem med filer som effektivt kunne deles innad i en arbeidsgruppe, prosessorkontroll og omdirigering av IO-strømmer ved hjelp av <- og >-tegnene. Pipes mellom kommandoer med |-tegnet kom først i 1972.

I starten ble operativsystemet utviklet uten støtte fra Bell Labs. Det hadde heller ikke noe navn. 

Saken fortsetter under bildet.

De to sentrale Unix-oppfinnerne, Dennis Ritchie (stående) og Ken Thompson, foran minidatamaskinen DEC PDP-11 og kabinetter med en hel del annet utstyr. Bildet er trolig tatt i 1972.
De to sentrale Unix-oppfinnerne, Dennis Ritchie (stående) og Ken Thompson, foran minidatamaskinen DEC PDP-11 og kabinetter med en hel del annet utstyr. Bildet er trolig tatt i 1972. Foto: Bell Labs

Uniplexed Information and Computing Service

Men i 1970 var det trolig Brian Kernighan som kom med navneforslaget Unics (Uniplexed Information and Computing Service), som et slags ordspill på Multics. Først senere ble det stavet på en x på slutten. 

I løpet av 1970 ble det utviklet kompilatorer for språkene TMG og B til Unix-systemet på PFP-7-maskinen.

I 1971 ble Unix for første gang flyttet til et nytt system - den nyinnkjøpte DEC PDP-11-minidatamaskinen. Dette var en betydelig oppgradering fra den opprinnelige stormaskinen. Noe av det første som ble flyttet over, var B-kompilatoren.

Den første ferdige versjonen av Unix, Version 1 Unix, ble utgitt 3. november 1971.

Ble C-basert

Samme år startet Dennis Ritchie utviklingen av det som skulle bli programmeringsspråket C, som etter hvert ble det språket det meste av Unix ble skrevet i. Den viktigste begivenheten skjedde i 1973, da kjernen til operativsystemet ble skrevet om i C og introdusert i Version 4 Unix. 

Andre utgave av boken «The C Programming Language» som Dennis Ritchie opprinnelig forfattet sammen med Brian Kernighan i 1978. Bilde: Wikimedia

Det var først i 1973 at Unix ble presentert på utsiden av Bell Labs. Dette førte til at også andre ønsket systemet, men kunne ikke tilby det som et produkt fordi moderselskapet, Bell System, av antitrust-årsaker kunne drive med annen næring enn telekommunikasjonstjenester.

Derfor skal Thompson ha sendt ut kopier av Unix til interesserte, kun mot kostnaden av frakt og mediet som operativsystemet ble levert på. Noe senere fikk Bell System og moderselskapet AT&T tilsynelatende lov til å selge Version 6 Unix som kildekode, men med temmelig ugunstige betingelser for kommersielle brukere, noe Byte omtaler i en artikkel i 1983. Betingelsene for utdanningsinstitusjoner var langt bedre. 

Det at Unix etter hvert ble skrevet nesten fullstendig i C, gjorde det enklere da Bell Labs til slutt bestemte seg for at det var på tide å gjøre operativsystemet tilgjengelig for annet enn DEC-maskiner. 

Ny maskinvare

Selskapet fikk i 1977 tak i en Interdata 8/32-maskin, som ble valgt fordi den var mest mulig forskjellig fra den DEC PDP-11-maskinen Unix kjørte på fra før. I en artikkel publisert i The Bell System Technical Journal sommeren 1978, heter det at systemkjernen og mye av den tilhørende programvaren nylig var blitt flyttet til den nye maskinen. Nesten all programvaren var skrevet i C, og nesten alt var identisk på de to systemene. 

Les også

Senere, og da særlig med Version 7 Unix, ble operativsystemet portet til langt flere systemer og prosessorarkitekturer.

Den nevnte serien med Unix-versjoner fra Bell Labs, gjerne kalt for Research Unix, var langt fra den eneste. Med årene kom det en rekke andre varianter, både kommersielle og ikke-kommersielle. Noen av de første variantene, MERT (Multi-Environment Real-Time) og PWB/UNIX, ble også utviklet hos Bell Labs. 

BSD

En variant eller forgreining som fortsatt lever videre i mer moderne etterkommere, var BSD (Berkeley Software Distribution). Berkeley-universitet hadde brukt Research Unix siden 1974, og utviklet en del tillegg og forbedringer som også andre universiteter var interesserte i.

Bill Joy, som senere var med på å etablere Sun Microsystems, startet i 1977 arbeidet med å sette sammen den første distribusjonen som ble kalt for 1BSD. Den kom i mars 1978 og var først og fremst en utvidelse til Version 6 Unix. I senere versjoner ble langt mer erstattet av BSD-prosjektets egne løsninger. 

Version 6 Unix som kjører på en PDP-11-simulator.
Listing av kataloger i Version 6 Unix som her kjøres på en PDP-11-simulator. Foto: Wikimedia Commons/Huihermit (CC0 1.0)

I 1979 kom Version 7 Unix, som var den siste utgaven av Research Unix som i noen særlig grad ble distribuert på utsiden av Bell Labs.

UNIX System III

I stedet satset moderselskapet AT&T på å utvikle et kommersielt produkt som fikk navnet UNIX System III. Det kom i slutten av 1981 og kombinerte egenskaper ikke bare fra Version 7 Unix, men også fra en rekke andre Unix-utgaver innen AT&T, inkludert nevnte PWB/UNIX.

Dette var likevel ikke den første kommersielle utgaven av Unix. Først var IS/1 fra Interactive Systems Corporation. Den kom allerede i 1977 og var en variant av Version 6 Unix basert på en lisens fra AT&T. 

Det er likevel fra og med UNIX System III at det virkelig begynner å bli vanskelig å følge all utviklingen som skjedde innen Unix. For en rekke selskaper skaffet seg lisens fra AT&T til å lage egne, kommersielle Unix-utgaver. Dette kom i tillegg til alle som baserte seg på BSD. 

SunOS og Solaris

Unix-versjonen til tidligere Sun Microsystems har en litt spesiell historie. Da SunOS 1.0 kom i 1983, var operativsystemet basert på BSD og kjørte på Suns Motorola 68k-baserte maskiner.  SunOS ble videreutviklet med nye versjoner fram til november 1994. 

Men allerede i 1987 inngikk AT&T og Sun et samarbeid om å slå sammen de mest populære Unix-variantene på denne tiden – BSD, Unix System V (som etterfulgte System III i 1983), SunOS og Xenix. 

Xenix var Microsoft Unix-utgave, som kom i 1980. 

Resultatet av samarbeidet mellom AT&T og Sun kom i 1988 og ble kalt for Unix System V Release 4 (SVR4). I 1991 ble det klart at Sun ville erstatte SunOS med et en Unix-utgave basert på SVR4. Dette operativsystemet fikk navnet Solaris, som i dag utgis av Oracle. 

Les også

Den første nye og bredt tilgjengelige utgaven av Solaris fikk versjonsnummer 2.1 som kom i desember 1992. 2.0-versjonen var kun tilgjengelig for utviklere, mens 1.x-utgavene bare var et annet navn på SunOS 4.x-oppdateringer som ble utgitt etter dette.

Unix-krigene

Suns Unix-utgaver var på ingen måte de eneste kommersielle Unix-utgavene. DEC hadde sitt Ultrix, HP hadde sitt HP-UX, Silicon Graphics hadde sitt Irix og IBM hadde sitt AIX, for å nevne noen. Enkelte lever videre den dag i dag.

En nokså fullstendig oversikt over alle varianter og versjoner av Unix-operativsystemer og Unix-lignende operativsystemer finnes i dette dokumentet, som fortsatt vedlikeholdes. Det viser også hvilke Unix-varianter nye Unix-varianter og -versjoner til enhver tid har bygget på. I enkelte år var det mellom 30 og 40 varianter tilgjengelig på samme tid.

I tillegg til at det var en kamp om dominans mellom «de langhårede» på BSD-siden og «de kortklipte» på AT&T System V-siden, var det også større og mindre forskjeller på alle de Unix-utgavene til de kommersielle leverandørene. Denne rivaliseringen har blitt kalt for Unix-krigene

Alle forskjellene på de ulike Unix-variantene gjorde blant annet at det var vanskelige programvare som kunne kjøres på tvers av variantene. 

Standardisering

Mens dette pågikk, ble kom det flere overlappende initiativer til standardisering av Unix. I 1988 kom POSIX (Portable Operating System Interface), som opprinnelig var konsentrert om en del funksjoner i C-baserte systembiblioteker. Senere ble den ansett som en minste fellesnevner som ble oppfylt av både System V- og BSD-variantene, men også av enkelte andre, Unix-lignende systemer. 

Flere av standardiseringsinitiativene ble i 1996 samlet i The Open Group, som blant annet er standardiseringsorganisasjonen for UNIX-varemerket. Systemer som skal kunne bruke UNIX-varemerket, må fullstendig etterleve det som kalles for Single UNIX Specification, et felles navn på en familie med standarder for operativsystemer, inkludert nevnte POSIX. Den nyeste utgaven kom i fjor.

Ved siden av alt dette har det blitt utgitt flere Unix-lignende systemer. GNU-operativsystemet med Linux-kjernen er nok det mest kjente. Andre eksempler er Idris, Coherent, Minix, Cromix og Android. Sistnevnte er basert på Linux-kjernen, men lite fra GNU. 

Santa Cruz Operation

Historien til Unix har ikke vært fri for stridigheter om opphavsrett. De mest kjente stridighetene var det SCO Group som satte i gang. Før vi kommer til det, er det greit å repetere hvordan SCO Group fikk tak i (deler av) Unix-rettighetene.

Les også

Opprinnelig het selskapet Caldera Systems, før det skiftet navn til SCO Group i 2002 . Caldera Systems kjøpte i 2001 Unix-rettighetene og -virksomheten til det separate programvareselskapet Santa Cruz Operation (SCO), som kort tid etter navnet til et av datterselskapene, Tarantella. Handelen inkluderte teknologiene til produktet UnixWare, som var blant det SCO mottok i forbindelse med en avtale med Novell i 1995.

Mange av Unix-relaterte rettigheter hadde Novell fått tak i da selskapet kjøpte Unix System Laboratories-divisjonen (USL) til AT&T Corporation i 1993. USL var ansvarlig for å utvikle og vedlikeholde UNIX System V Release 4-kildekoden (SVR4). Inkludert i handelen var også varemerket UNIX, men dette ble samme år donert til X/Open, én av standardiseringsgruppene som senere ble en del av The Open Group.

Det var for øvrig Santa Cruz Operation som i 1987 kjøpte rettighetene til Microsofts Unix-versjon, Xenix, etter å ha portert og solgt lisensierte utgaver av operativsystemet siden 1983. 

Trussel mot Linux

All denne forhistorien gjorde at SCO Group mente å eie rettighetene til all Unix-kildekoden utviklet hos AT&T-eide USL. Det var på ingen måte enighet om dette, men tidlig i 2003 ble det kjent at selskapet var i ferd med å undersøke om Linux kunne inneholde opphavsrettsbeskyttet materiale. 

GNU- og Linux-maskotene.
GNU/Linux har mye felles med Unix, men er ikke basert på Unix-kildekode. Foto: Wikimedia Commons

I mars samme år ble IBM saksøkt av SCO Group for å ha tatt biter av Unix-koden og lagt dette inn i Linux. Det ble ikke oppgitt hva IBM skulle ha kopiert, men erstatningskravet fra SCO Group var på 1 milliard dollar for tapte lisensinntekter fra Unix. 

Selskapet truet også med å trekke tilbake lisensen på IBMs Unix-versjonen innen 100 dager dersom IBM ikke betalte. SCO Group gjorde alvor av trusselen i juni 2003.

Senere saksøkte SCO Group en rekke andre selskaper for lignende forhold, inkludert Novell. I tillegg truet selskapet med å kreve lisensavgift fra alle Linux-brukerne. 

SCO Group huskes i dag kanskje best som patenttrollet som ikke ville dø. Det siste av vesentlig karakter som skjedde med selskapet, var at det begjærte seg konkurs i 2012. Før det hadde en rekke rettsinstanser har slått fast at det er Novell og ikke SCO som eier rettighetene til Unix.

«*nix for normale»

Selv om det er flere av de eldre Unix-variantene som fortsatt lever i dag, inkludert BSD-baserte FreeBSD, OpenBSD, NetBSD og DragonFly, er det hos Apple at Unix når ut til de store brukermengdene. 

I 1997 kjøpte Apple den tidligere datamaskinleverandøren NeXT. Med på kjøpet fikk Apple og NeXTStep-operativsystemet, en Unix-variant delvis basert på BSD, og programmeringsgrensesnittet OpenStep

Allerede den 7. januar 1997 kunngjorde Apple planene om et nytt operativsystem basert på NeXT-teknologien. Dette fikk kodenavnet Rhapsody. Etter noen testutgaver ble operativsystemet utgitt som Apples første serveroperativsystemet, Mac OS X Server, i 1999

Den første klientversjonen, Mac OS X, ble først lansert den 24. mars 2001. Digi.no omtalte operativsystemet litt flåsete som «*nix for normale». Senere ble operativsystemet døpt om til OS X, før det i 2016 fikk navnet macOS. 

Les også

I 2000 ble blant annet kjernen i Mac OS X utgitt som åpen kildekode under navnet Darwin. Også de fleste andre av Apples operativsystemer er basert på Darwin, inkludert watchOS, iOS og tvOS. Men det skal kun være macOS som er sertifisert som kompatibel med den nevnte Single UNIX Specification.

Dermed er MacOS er sannsynligvis den Unix- og BSD-varianten som flest har et forhold til i dag. 

Kildene til saken inkluderer blant annet: Unix: An Oral History, Wikipedia, The Open Group, Dennis M. Ritchie

Kommentarer (0)

Kommentarer (0)
Til toppen