Unix

Fra Wikipedia, den frie encyklopedi
Hopp til: navigasjon, søk
Arbeid pågår: Denne siden er under arbeid. Som leser bør du være forberedt på at artikkelen kan være uferdig, og at innholdet kan endre seg fra dag til dag. Som bidragsyter bør du være forberedt på redigeringskollisjoner; det kan være lurt å kopiere din tekst til en annen tekstbehandler før du lagrer. Diskuter gjerne artikkelens struktur og innhold på diskusjonssiden. Artikkelen er under arbeid og har store mangler i gjennomgangen av historien. Det har ikke blitt gjort noen endringer på mer enn to uker. Se også diskusjonssiden for ytterligere informasjon.
Screenshot av et nyere UNIX-system

Unix er en familie av operativsystemer med opprinnelse fra AT&T Bell Laboratories, der utviklingen startet i 1969. Karakteristika for systemet er portabilitet, multitasking og støtte for mange samtidige brukere gjennom tidsdeling. Systemets egenskaper i kombinasjon med Bell Labs' åpne deling av forskning med universiteter og andre forskningsmiljøer, førte til betydelig spredning av Unix gjennom 70-tallet.

Da 16- og 32-bits mikroprosessorer ble generelt tilgjengelige tidlig på 80-tallet, var Unix det naturlige OS-valg. Det samme var tilfellet for kraftige superminimaskiner, de fleste RISC-baserte, i andre halvdel av 80-tallet. Unix var lett å porte, anerkjent i det tekniske markedet, hadde kraftige utviklingsverktøy og bedre nettverks-støtte enn noen – det siste takket være utviklingen ved University of California, Berkeley (BSD), med økonomisk støtte fra det amerikanske forsvarsdepartementet (DARPA).

Den store interessen gjorde det naturlig for AT&T å kommersialisere Unix, og å etablere standarder for systemet. Sprikende interesser både kommersielt og teknisk blant aktørene i markedet, gjorde imidlertid standardisering vanskelig, og la grunnlag for det som senere er blitt hetende Unix-krigen. Først langt ut på 90-tallet ble reelle Unix-standarder etablert. Disse standardene finnes og brukes fortsatt – ikke bare for Unix og Unix-lignende systemer, men for operativsystemer generelt.

Unix er også en filosofi som dokumenteres i The Unix Philosphy (1995),[1] Eric Raymonds The Art of Unix programming (2003)[2] og i tidlige dokumenter fra utviklerne av systemet.[3] Essensen i filosofien er å lage små, oversiktlige komponenter som med ansvar for én eller få oppgaver, og som lett kan kombineres med hverandre. Filosofien har smittet til en rekke større og mindre konsepter og prosjekter senere, ikke minst Linux[4] og microservices.[5] Generelt har Unix påvirket samtlige operativsystemer som finnes på markedet i dag.[6]

Historie[rediger | rediger kilde]

Unix' historie starter med operativsystemet Multics, et ambisiøst samarbeidsprosjekt mellom MIT, Bell Labs og General Electric. Arbeidet med Multics mislyktes fordi ambisjonene overgikk kapasiteten til datidens datamaskiner. Unix ble på mange måter en motreaksjon på kompleksiteten i Multics, og tok samtidig med en rekke gode ideer og erfaringer fra systemet. Ken Thompson startet utviklingen på en avlagt PDP-7 maskin i 1969, og fikk følge av blant andre Dennis Ritchie og Douglas McIlroy kort tid senere. Målet var tydelig: Å skape et utviklingsmiljø der de kunne forske på programmering, operativsystemer, metoder og teknologi. I løpet av et par korte sommermåneder hadde de et system som sto på egne ben – med kompilator, OS, teksteditor og filsystem.[3]

Før UNIX var operativsystemene tunge og uoversiktlige, der programmer ofte var programmert til å utføre mange forskjellige oppgaver samtidig. Når strukturen i UNIX-systemet ble laget baserte man seg heller på små programmer som bare utførte en oppgave av gangen. Når maskinen skulle gjøre store tunge oppgaver baserte man seg heller på å kjøre informasjonen fra program til program gjennom pipes.

Under arbeidet med UNIX fikk man også bruk for et lett, enkelt, maskinuavhengig, men kraftig programmeringsspråk for å kunne flytte programmer fra maskin til maskin. På den tiden måtte nemlig et program skrives på nytt for hver nye type maskin, noe som var meget upraktisk. Det var starten på programmeringsspråket C.

En viktig del av UNIX er også det såkalte skallet som er et program som fortolker kommandoer brukeren skriver inn på et tekstvindu på skjermen. Skallet har vært og er fremdeles det viktigste grensesnittet mellom bruker og operativsystem. Gjennom skallet kan brukeren administrere filer, få oversikt over systemressurser, starte opp andre programmer og så videre. I stedet for å skrive kommandoene interaktivt på tekstvinduet, kan brukeren også lage en tekstfil med nøyaktig de samme kommandoene. Tekstfilen kan deretter kjøres som et vanlig program. Dette forenkler bruken av et UNIX-system vesentlig, idet arbeidsoppgaver som stadig må gjentas kan programmeres og tas vare på i en slik fil.

Flere operativsystemer har basert seg på eller hentet inspirasjon fra Unix, deriblant Linux, Minix, FreeBSD, NetBSD, plan9 og Darwin.

I dag er restene av det det opprinnelige Unix spredt rundt omkring, noe som har ført til flere kontroverser. AT&T solgte Unix til Novell i 1993, som senere bestemte seg for bare å beholde kildekoden og selge varemerket Unix og Single Unix Specification til The Open Group. Single UNIX Specification, som i dag er i sin tredje utgave (UNIX 03), er en spesifikasjon som sier hvilke krav som stilles til et operativsystem for at det skal kunne kalles Unix. Ingen Linux-distribusjoner er UNIX-sertifisert, og heller ingen av de gratis *BSD distribusjoner, selv om det ikke skal mye til for å få til dette rent teknisk. Hovedårsaken er antakelig at det er kostbart å søke sertifisering og at det krever streng kontroll over kodeendringer for å sikre at sertifiseringen forblir gyldig. Den gratis BSD-varianten Darwin er UNIX 03 kompatibel men ikke sertifisert.

Den mest utbredte sertifisert UNIX 03 operativsystem i dag er Mac OS X. Mac OS X er forøvrig det første BSD-variant med UNIX 03 sertifisering. Andre kjente kommersielle UNIX distribusjoner med UNIX 03 sertifisering er AIX, HP-UX, og Solaris.

Referanser[rediger | rediger kilde]

  1. ^ Gancarz, Mike (1995). The Unix Philosophy. Newton, MA: Digital Press. ISBN 1-55558-123-4. 
  2. ^ Raymond, Eric (2003). The Art of Unix Programming. USA: Addison-Wesley. ISBN 0-13-142901-9. 
  3. ^ a b Kernighan, Ritchie, Thompson et al (July-August 1978). «The UNIX Time Sharing System». Bell System Technical Journal. 
  4. ^ Gancarz, Mike (2003). Linux and the Unix Philosophy. USA: Digital Press. ISBN 9781555582739. 
  5. ^ Hart, Chris (10. februar 2016). «API microservices, the Unix philosophy, and the Richardson Maturity Model». Medium. Besøkt 14. september 2016. 
  6. ^ Salus, Peter H. (1994). «Introduction». A Quarter Century of Unix. USA: Addison-Wesley. s. 1. ISBN 0-201-54777-5. «The result is that Unix has influenced every operating system on sale today.» 

Se også[rediger | rediger kilde]