daimiposten - marts '97

daimiposten er internt meddelelsesorgan for studerende og medarbejdere ved Datalogisk Afdeling, Aarhus Universitet. Indlæggene er ikke udtryk for afdelingens officielle holdning.


UNIX historie part II

Af Lars Ræder Clausen & Søren Maagaard Andersen.

Finally, the number of Unix installations has grown to 16, with more expected. C

I februar 1973 udkom Third Edition Unix. Der kunne man blandt andet læse følgende i dokumentationen:
»To enter the text of a source program into a Unix file, use ed(1). The three principal languages in Unix are assembly language (seeas(1)), Fortran (see fc(1)), and C (see cc(1).«

C? Hvad pokker var C? Dette nye sprog var ikke beskrevet i artikler eller udgivet med manualer. Der skulle gå fem år før Kernigham & Ritchie skrev »The C Programming Language«, men udbredelsen på Unix indtil da skulle vise sig af afgørende betydning. C var, ifølge Ritchie, mest lavet af Ken. Ken ville undgå at lave en Fortranoversætter, og flikkede derfor sproget B sammen. B var for langsomt, da det var fortolket, og dets pointer-design var ikke videre godt. Så Ritchie begyndte at tilføje typer og andre af de konstruktioner, vi kender i C. Nogenlunde samtidig lavede han en compiler til B i B, som ændrede sig til det nye sprog, efterhånden som det blev defineret.

Ken havde gjort et forsøg på det samme, men havde givet op, da han ikke havde tilføjet strukturer til sproget. Sommeren efter, i 1973, skrev de to hele Unix om til C.

[AT&T]

AT&T Bell Labs anno 1968.

Pipes

Doug McIlroy, der havde været med tilbage fra Multics tiden, havde længe arbejdet med en idé med datastrømme. Allerede i 1964 havde han skrevet om at sætte disse strømme sammen som vandslanger eller ledningsrør. Han foreslog det igen og igen, men de kunne ikke rigtig finde den rette måde at lave det på. McIlroy kom med nye måder at lave det på, indtil Ken sagde, »Nu laver jeg det!« Han lavede så en udgave, der var lidt bedre end McIlroys forslag.

På det tidspunkt kunne programmer som grep og cat kun tage input fra filer. Så Ken satte sig ned den samme nat og omskrev alle programmerne. Den næste morgen holdt de et orgie af én-linies programmer.

Symbolet for sådan et vandrør, som på engelsk hedder pipe, var først Œ>¹, som Kernigham siden ændrede til Œ^¹. Da Ken snakkede om pipes i London, brugte han Œ|¹ i stedet for, fordi han ikke ville afsløre McIlroys grimme syntax. Den blev straks indført i Bell Labs, og netop det gjorde syntaxen så intuitiv, at de begyndte på alle de smarte måder at kombinere programmerne på: cat file | grep `whoami` | sort | uniq | wc -l.

Da pipes først var lavet, kunne alle se, at det var et smart koncept. Der kom en ny filosofi til Unix: »Lav programmer, der gør én ting, og gør det godt.« Programmer, der bruger dette standard interface, kan sættes sammen på måder, programmørerne aldrig havde tænkt over.

Distribution

I oktober 1973 holdt Ken et foredrag om Unix for ACM på IBM's Thomas J. Watson Research Center. For et publikum på et par hundrede mennesker fortalte han om Unix, uden at tilhørerne virkede specielt interesserede. Men nyheden må have spredt sig hurtigt alligevel - et halvt år efter var antallet af installationer tredoblet, og i 1983 fik de ACMs turingpris for det.

Den hurtige udbredelse havde dog sine ulemper. Indtil nu havde Unix kun været brugt indenfor AT&T. Men pludselig kom der folk fra universiteter og andre institutioner og ville have kopier af dette fantastiske nye operativsystem. Men en aftale mellem

AT&T og det amerikanske monopoltilsyn fra 1956 gjorde, at AT&T ikke måtte sælge ting, der ikke havde med kommunikation at gøre. I stedet var de tvunget til at give licenser på Unix for en symbolsk betaling. Det var ikke noget »produkt«, men et »forskningseksperiment«, ellers ville det ikke være lovligt. Dette betød, at der ikke var nogen videre restriktioner på udbredelsen, men heller ikke nogen oYciel understøttelse. Unix var et gratis system, som AT&T tilfældigvis vedligeholdt.

Status

Den typiske bruger i 1974 sad ved en teletype med 30 tegn/sek. Han loggede ind i sh og brugte ed som tekstbehandling.Tekst-layout blev lavet i rå nroV, og man begyndte at skrive programmer i C i stedet for assembler. Det hele kørte på en PDP-11 samtidig med andre brugere.

Næste gang fortsætter vi med udbredelsen af Unix.


Sidste ændring: fredag d. 2. januar 1998.