How did Unix become a modern operating system?

UNIX: Fødslen af et revolutionerende OS

06/12/2005

Rating: 4.9 (16830 votes)

Man siger, at når en dør lukkes, åbnes en anden. Dette stykke visdom, der ofte tilbydes som trøst, blev en konkret realitet for Ken Thompson og den afdøde Dennis Ritchie, to af det 20. århundredes giganter inden for informationsteknologi. Deres skabelse, UNIX-operativsystemet, betragtes i dag som en af de mest inspirerende og indflydelsesrige softwarestykker, der nogensinde er skrevet. Døren, der smækkede i for dem, var AT&T's beslutning i marts 1969 om at trække sig fra et ambitiøst samarbejdsprojekt kaldet Multics. Men ud af asken fra dette fejlslagne projekt voksede et system, der skulle definere moderne databehandling i årtier fremover.

When was Unix born?
... Unix was born in 1969 not 1974, and the account of its development makes a little-known and perhaps instructive story. This paper presents a technical and social history of the evolution of the system. ...
Indholdsfortegnelse

Fra Multics' aske: En frustrerende begyndelse

I slutningen af 1960'erne var databehandling domineret af batch-systemer, hvor opgaver blev kørt én efter én via hulkort. Multics (Multiplexed Information and Computing Service), et samarbejde mellem AT&T's Bell Labs, MIT og General Electric, skulle ændre dette. Målet var et interaktivt time-sharing-system, der ville lade flere brugere få adgang til en enkelt mainframe-computer samtidigt fra fjerntliggende terminaler. Det var en visionær idé, men projektet var for ambitiøst, komplekst og faldt langt bagefter tidsplanen. Til sidst trak AT&T stikket, hvilket efterlod forskere som Thompson og Ritchie dybt frustrerede. De havde mistet det interaktive og samarbejdsorienterede programmeringsmiljø, de var blevet glade for.

Ledelsen på Bell Labs var efterfølgende imod enhver yderligere forskning i operativsystemer. Men for Thompson, Ritchie og deres kolleger var trangen til at skabe et bedre, enklere og mere elegant system for stærk til at ignorere. De besluttede sig for at fortsætte i det skjulte, drevet af en passion for at genvinde det tabte programmeringsmiljø.

En uventet fødsel på en PDP-7

Projektet, der skulle blive til UNIX, startede for alvor, da Ken Thompson fandt en støvet og sjældent brugt DEC PDP-7 minicomputer i et hjørne af laboratoriet. Han havde oprindeligt skrevet et computerspil kaldet 'Space Travel' til Multics-systemets GE-645 mainframe, men det var dyrt at køre. For at kunne spille sit spil billigere, besluttede han sig for at portere det til den lille PDP-7. Denne proces afslørede behovet for et ordentligt operativsystem.

I sommeren 1969, mens hans kone og nyfødte søn var på en månedlang ferie, udnyttede Thompson den stille tid til at skrive kernen i et helt nyt operativsystem. Han skrev filsystemet, processestyring og en simpel kommandofortolker. Systemet var i starten en-bruger, hvilket fik en kollega til spøgefuldt at kalde det UNICS (Uniplexed Information and Computing Service) som en "kastreret" version af Multics. Navnet hang ved og udviklede sig hurtigt til UNIX.

Who invented Unix?
Four decades ago, Ken Thompson, the late Dennis Ritchie, and others at AT&T's Bell Laboratories developed Unix, which turned out to be one of the most influential pieces of software ever written. Their work on this operating system had to be done on the sly, though, because their employer had recently backed away from operating-systems research.

For at overbevise ledelsen om at købe nyere hardware, en PDP-11, fremlagde Thompson og Ritchie et forslag om at skabe et system til tekstbehandling og formatering af patentansøgninger. Behovet for at skrive et operativsystem til maskinen blev nævnt som en fodnote. Ledelsen bed på, og med den nye hardware kunne UNIX for alvor begynde sin udvikling.

C-sproget og Unix: Et symbiotisk forhold

De tidligste versioner af UNIX var skrevet i assembly-sprog, hvilket betød, at de var tæt bundet til den specifikke hardware, de kørte på. Dette begrænsede systemets portabilitet – evnen til at flytte det til andre computertyper. Dennis Ritchie løste dette problem ved at skabe et nyt programmeringssprog, C. C var et højniveausprog, der gav programmørerne kraften fra assembly, men med en struktur og læsbarhed, der gjorde koden meget lettere at vedligeholde og flytte.

I 1973 blev en milepæl nået: UNIX-kernen blev næsten fuldstændigt omskrevet i C. Dette var en revolution. For første gang var et operativsystems kerne skrevet i et højniveausprog, hvilket gjorde UNIX utroligt let at portere til ny hardware. Denne beslutning var afgørende for UNIX's senere udbredelse og succes og cementerede samtidig C-sprogets status som et af de vigtigste programmeringssprog nogensinde.

Unix-filosofien og dens kernefunktioner

Det, der gjorde UNIX så elsket af programmører, var dets designfilosofi. I modsætning til de monolitiske systemer som Multics, var UNIX bygget på et simpelt, men kraftfuldt princip: "Gør én ting, og gør den godt." Systemet bestod af en samling små, specialiserede værktøjer (som `ls` til at liste filer, `grep` til at søge i tekst), der kunne kombineres på uendelige måder ved hjælp af "pipes" (rør), der sendte output fra et program direkte som input til et andet.

Kernefunktionerne i den første udgave af UNIX lagde grunden for standarder, vi tager for givet i dag:

  • Et hierarkisk filsystem, hvor filer kunne organiseres i mapper, som igen kunne ligge i andre mapper.
  • Begrebet om processer, hvor hvert kørende program var en selvstændig enhed.
  • En simpel, tekstbaseret kommandofortolker (shell), der fungerede som brugerens primære interface.
  • Time-sharing, der tillod flere brugere at arbejde på systemet samtidigt.

Denne modularitet og enkelhed gjorde UNIX til et ekstremt kraftfuldt og fleksibelt miljø for softwareudvikling.

How did Unix change computer science?

Sammenligning: Multics vs. Unix

Den grundlæggende forskel i filosofi mellem de to systemer kan illustreres i en simpel tabel:

EgenskabMulticsUnix
KompleksitetEkstremt høj og kompleksDesignet til at være simpelt
MålgruppeAlmene brugere i et kommercielt miljøProgrammører og udviklere
Primært sprogPL/I, AssemblyAssembly, senere C
FilosofiAlt-i-én, monolitisk løsningSmå, modulære værktøjer, der arbejder sammen

En utilsigtet spredning og et voksende fællesskab

UNIX's udbredelse uden for Bell Labs skete næsten ved et tilfælde. En retskendelse fra 1956 forbød AT&T at handle med produkter, der ikke var direkte relateret til telekommunikation. Derfor kunne de ikke sælge UNIX som et kommercielt produkt. I stedet begyndte de at licensere kildekoden til universiteter og forskningsinstitutioner for et symbolsk beløb. Vigtigst af alt inkluderede licensen ingen support eller fejlrettelser. Deres politik blev berømt opsummeret på en slide: "Ingen reklame, ingen support, ingen fejlrettelser, betaling forud."

Denne mangel på officiel support tvang brugerne til at hjælpe hinanden. De dannede brugergrupper som Usenix, delte rettelser, skrev ny software og forbedrede systemet kollektivt. De havde kildekoden, så de kunne selv foretage ændringer. Dette skabte en kultur af deling og samarbejde, der var en direkte forløber for nutidens open source-bevægelse.

Unix-krigene og den evige arv

I 1980'erne, efter opsplitningen af AT&T, blev UNIX kommerciel, og dette førte til en periode kendt som "Unix-krigene". Forskellige virksomheder skabte deres egne, ofte inkompatible, versioner. De to store lejre var AT&T's System V og den version, der kom fra University of California, Berkeley (BSD). Denne fragmentering skadede UNIX's brand, men kunne ikke stoppe dets indflydelse.

Den måske største del af UNIX's arv er de systemer, det inspirerede. Juridiske stridigheder omkring BSD-koden i de tidlige 90'ere skabte et vakuum for et frit, Unix-lignende operativsystem til PC'er. Dette vakuum blev fyldt af en ung finsk studerende ved navn Linus Torvalds, som skabte Linux-kernen fra bunden, stærkt inspireret af UNIX's design. I dag driver Linux alt fra Android-smartphones og webservere til supercomputere.

Samtidig er Apples macOS en direkte efterkommer af BSD-versionen af UNIX. Dermed er UNIX's DNA dybt integreret i næsten alle de enheder, vi bruger i vores dagligdag. Fra et lille, oprørsk projekt i et laboratorium er UNIX's principper blevet den usynlige rygrad i den digitale tidsalder.

What is Unix operating system?
UNIX is an innovative or groundbreaking operating system which was developed in the 1970s by Ken Thompson, Dennis Ritchie, and many others at AT&T Laboratories. It is like a backbone for many modern operating systems like Ubuntu, Solaris, Kali Linux, Arch Linux, and also POSIX.

Ofte Stillede Spørgsmål (FAQ)

Hvem opfandt Unix?

Unix blev primært skabt af Ken Thompson og Dennis Ritchie, mens de arbejdede på AT&T's Bell Laboratories i 1969 og de tidlige 1970'ere. Andre kolleger som Rudd Canaday, M. Douglas McIlroy og Joseph F. Ossanna bidrog også væsentligt til projektet.

Hvorfor er Unix så indflydelsesrigt?

Unix's indflydelse skyldes flere faktorer: dets simple og kraftfulde designfilosofi (små værktøjer, der arbejder sammen), dets portabilitet, som blev muliggjort ved at omskrive det i C-sproget, og dets tidlige distributionsmodel, hvor kildekoden blev delt med universiteter, hvilket skabte et stærkt og innovativt brugerfællesskab.

Hvad er forskellen på Unix og Linux?

Unix er det oprindelige operativsystem fra Bell Labs og navnet på en familie af operativsystemer, der nedstammer fra det (f.eks. macOS, Solaris, AIX). Linux er teknisk set kun en kerne, skabt fra bunden af Linus Torvalds. Systemer, der bruger denne kerne (f.eks. Ubuntu, Android), kaldes "Unix-lignende", fordi de implementerer samme designfilosofi og overholder de samme standarder (POSIX), men de indeholder ikke den originale AT&T-kode.

Bruges Unix stadig i dag?

Ja, i høj grad. Mens rene, kommercielle Unix-installationer er mindre udbredte end tidligere, er dets efterkommere og Unix-lignende systemer dominerende. macOS (som er certificeret UNIX), iOS, Linux-distributioner på servere og desktops, og Android er alle en del af den store Unix-familie og bygger direkte på de koncepter, der blev skabt for over 50 år siden.

Hvis du vil læse andre artikler, der ligner UNIX: Fødslen af et revolutionerende OS, kan du besøge kategorien Teknologi.

Go up