15/12/2011
Historien om Unix-operativsystemet er en fortælling om innovation, samarbejde og en filosofi, der har formet moderne databehandling. Dets rødder kan spores tilbage til midten af 1960'erne og et ambitiøst projekt ved navn MULTICS, som stod for Multiplexed Operating and Computing System. Dette var et samarbejde mellem General Electric, Massachusetts Institute of Technology (MIT) og Bell Laboratories. Projektets mål var at skabe et tidsdelingssystem, der kunne betjene mange brugere samtidigt. I 1969 trak Bell Laboratories sig dog ud af projektet, da de følte, at det var blevet for komplekst og uhåndterligt.

En af de medarbejdere fra Bell Labs, der var involveret, var Ken Thompson. Han så potentialet i MULTICS' vision, men var overbevist om, at de samme mål kunne nås på en meget enklere og mere elegant måde. Drevet af denne vision satte han sig i 1969 for at skrive sin egen, simplere version af et operativsystem. Han kaldte det UNICS (Uniplexed Operating and Computing System), et bevidst spil på navnet MULTICS. Selvom operativsystemet har gennemgået enorme forandringer siden da, hang navnet ved og blev med tiden forkortet til det nu ikoniske Unix.
Samarbejdet der skabte en revolution: C-sproget
Kort efter skabelsen af den første version af Unix, indgik Ken Thompson et partnerskab med en anden nøglefigur fra Bell Labs, Dennis Ritchie. Ritchie var på det tidspunkt i gang med at udvikle et nyt programmeringssprog, som han kaldte C. Sammen traf de en beslutning, der skulle vise sig at være revolutionerende for hele softwareindustrien. I 1973 omskrev de hele Unix-kernen fra assembly-sprog til C.
På det tidspunkt var den gængse opfattelse, at et operativsystem *skulle* skrives i assembly-sprog for at kunne kommunikere direkte og effektivt med computerens hardware. At skrive et OS i et højniveausprog som C var uhørt. Fordelen var dog enorm: C-sproget var designet til at være portabelt. Det betød, at Unix ikke længere var bundet til en specifik computertype. Med relativt få justeringer kunne det nu kompileres og køres på en bred vifte af forskellige hardwareplatforme. Denne portabilitet var en af de afgørende faktorer for Unix' udbredelse og succes. Forbindelsen mellem Unix og C er stadig dybt forankret i dag; mange af Unix' systemkald er defineret som C-funktioner, og en forståelse for C gør det betydeligt lettere at forstå Unix' indre funktioner.
To grene af samme træ: SVR4 og BSD
I 1974 blev den femte udgave af Unix for første gang licenseret til universiteter, hvilket åbnede op for en helt ny verden af udviklere og brugere. Udgivelsen af den syvende udgave i 1978 blev et vendepunkt, der delte Unix' udviklingshistorie i to store, divergerende grene: System V (ofte kaldet SVR4 for System V Release 4) og BSD (Berkeley Software Distribution).
Splittelsen begyndte, da Ken Thompson tilbragte et sabbatår ved University of California, Berkeley. Her arbejdede han sammen med to kandidatstuderende, Bill Joy og Chuck Haley, på at videreudvikle Unix-koden. Deres version, som blev distribueret frit til andre studerende og forskere, blev kendt som BSD. Fordi kildekoden var åben, bidrog mange forskellige mennesker til dens udvikling. BSD-grenen gav os nogle af de mest fundamentale værktøjer og teknologier, vi bruger i dag, herunder vi-editoren, C shell, understøttelse af virtuel hukommelse, Sendmail og afgørende nok, den første udbredte implementering af TCP/IP, protokollen der driver internettet.
Den anden gren, SVR4, kom direkte fra AT&T og Bell Labs og var i mange år den mere konservative, kommercielt orienterede og officielt understøttede version. Med tiden er de to grene dog vokset tættere på hinanden, og i dag ligner de hinanden meget. En af de få tilbageværende, kosmetiske forskelle, som en systemadministrator ofte bemærker, er den måde, hvorpå `ps`-kommandoen (der viser kørende processer) fungerer og præsenterer sit output.
Sammenligning af SVR4 og BSD
| Egenskab | BSD (Berkeley Software Distribution) | SVR4 (System V Release 4) |
|---|---|---|
| Oprindelse | University of California, Berkeley | AT&T's Bell Laboratories |
| Fokus | Akademisk, forskningsdrevet og innovativt | Kommercielt, stabilt og understøttet |
| Vigtige Bidrag | vi editor, C shell, TCP/IP-support, Sendmail, virtuel hukommelse | Dannede grundlag for mange kommercielle Unix-versioner |
| Nuværende Status | Funktionelt meget lig SVR4; grundlag for macOS, FreeBSD m.fl. | Funktionelt meget lig BSD; grundlag for Solaris, AIX m.fl. |
Hvorfor vælge Unix? Filosofien bag succesen
En af de største årsager til Unix' vedvarende popularitet er dens indbyggede netværkskapacitet. Mens andre operativsystemer i mange år krævede tilkøb af separat software for at kunne netværke, var disse funktioner en integreret del af Unix fra starten. Dette gjorde systemet ideelt til formål som global e-mail og til at forbinde sig til det spirende internet.

Unix bygger på en filosofi, der kan opsummeres som "småt er godt". Ideen er, at hvert program skal designes til at udføre én enkelt opgave, og gøre det exceptionelt godt. Komplekse opgaver løses ved at kombinere disse små, specialiserede værktøjer. Fordi Unix blev udviklet af mange forskellige mennesker med forskellige behov, voksede det til et operativsystem, der er utroligt fleksibelt og let at tilpasse til specifikke formål. Denne modularitet og fleksibilitet er kernen i Unix' design. Endelig, fordi det er skrevet i et maskinuafhængigt sprog og er tilgængeligt fra mange kilder (nogle endda gratis), betragtes Unix som et åbent system. Det giver brugerne frihed til at vælge hardware uden at skulle gå på kompromis med deres softwaremiljø.
Arven fra Unix: Linux og moderne systemer
Ingen diskussion om Unix er komplet uden at nævne Linux. Linux-kernen blev udviklet i starten af 1990'erne af Linus Torvalds som et Unix-lignende system, der kunne køre på almindelige PC'er. Linux er ikke teknisk set Unix (da det ikke deler kildekode), men det er designet til at ligne og opføre sig som det. Det følger den samme designfilosofi, bruger en lignende kommandostruktur (tæt på SVR4-standarden) og er i dag et af de mest udbredte operativsystemer i verden, især på servere, i indlejrede systemer og i cloud-infrastruktur. Arven fra Unix lever således videre i fuldt flor i milliarder af enheder verden over.
Ofte Stillede Spørgsmål (FAQ)
Hvem skrev det første Unix-operativsystem?
Ken Thompson skrev den allerførste version af Unix i 1969. Han var stærkt inspireret af MULTICS-projektet, men ønskede at skabe et meget enklere system.
Hvorfor var det så banebrydende, at Unix blev skrevet i C?
Fordi de fleste styresystemer dengang blev skrevet i assembly-sprog, som er bundet til specifik hardware. Ved at bruge C blev Unix maskinuafhængigt og kunne let flyttes (porteres) til forskellige computertyper, hvilket var afgørende for dets udbredelse.
Hvad er den største forskel på BSD og SVR4 i dag?
Oprindeligt var der store forskelle i deres fokus (akademisk vs. kommercielt), men i dag er de funktionelt meget ens. Artiklen nævner, at en af de mest synlige, kosmetiske forskelle for en bruger kan være, hvordan `ps`-kommandoen fungerer.
Er Linux det samme som Unix?
Nej, teknisk set er det ikke det samme, da Linux-kernen blev skrevet fra bunden. Men Linux blev designet som en klon af Unix og følger den samme filosofi, kommandostruktur og API-standarder (POSIX). Man kalder det derfor ofte et "Unix-lignende" operativsystem.
Hvis du vil læse andre artikler, der ligner Historien om Unix-operativsystemet, kan du besøge kategorien Teknologi.
