Unix er et af de mest populære styresystemer i verden på grund af dets store support og udbredelse. Det blev oprindeligt udviklet som et multitasking-system til minicomputere og mainframes i midten af 1970’erne. Siden da er det vokset til at blive et af de mest udbredte styresystemer overhovedet, på trods af dets til tider forvirrende grænseflade og mangel på central standardisering.
Den virkelige grund til Unix’ popularitet? Mange hackere føler, at Unix er den rigtige ting – det eneste rigtige operativsystem. Derfor udvikles Linux af en voksende gruppe af Unix-hackere, som ønsker at få fingrene i deres eget system.
Der findes versioner af Unix til mange systemer, lige fra personlige computere til supercomputere som Cray Y-MP. De fleste versioner af Unix til personlige computere er ret dyre og besværlige. I skrivende stund koster en enkeltmaskineversion afAT&T’s System V til 386’eren ca. 1.500 dollars.
Linux er en frit distribuerbar version af Unix, oprindeligt udviklet af Linus Torvalds, som begyndte at arbejde på Linux i 1991 som studerende ved universitetet i Helsinki i Finland.Linus arbejder nu for Transmeta Corporation, en nystartet virksomhed i Santa Clara, Californien, og fortsætter med at vedligeholde Linux-kernen, dvs. den laveste kernekomponent i styresystemet på et lavere niveau.
Linus frigav den første version af Linux gratis på internettet og udløste dermed uforvarende et af de største softwareudviklingsfænomener nogensinde. I dag er Linux udviklet og vedligeholdt af en gruppe på flere tusinde (hvis ikke flere) udviklere, der samarbejder løst på internettet, og der er opstået virksomheder, som tilbyder Linux-support, pakker Linux ind i distributioner, der er lette at installere, og sælger arbejdsstationer, der er præinstalleret med Linux-softwaren. I marts 1999 blev den første Linux World Expo-messe afholdt i San Jose, Californien, hvor der efter sigende var langt over 12.000 deltagere.De fleste skøn anslår, at antallet af Linux-brugere på verdensplan ligger omkring de 10 millioner (og vi forventer, at dette tal vil se lavt ud, når du læser dette).
Inspireret af Andrew Tanenbaums Minix-operativsystem (endnu et gratis Unix til pc’er – om end et meget simpelt et), begyndte Linux som et klasseprojekt, hvor Linus ønskede at bygge et simpelt Unix-system, der kunne køre på en 386-baseret pc.De første diskussioner om Linux fandt sted i Usenet-nyhedsgruppen comp.os.minix. Disse diskussioner drejede sig mest om udvikling af et lille, akademisk Unix-system til Minix-brugere, der ønskede mere.
Den meget tidlige udvikling af Linux drejede sig mest om de funktioner til skift af opgaver i 80386’s protected-mode-interface, som alle var skrevet i assemblerkode. Linus skriver:
Derpå var det en ren sejler: det var stadig hårdhændet kodning, men jeg havde nogle enheder, og det var lettere at fejlfinde. Jeg begyndte at bruge C på dette tidspunkt, og det fremskynder helt sikkert udviklingen. Det er også her, jeg begynder at gøre alvor af mine megalomaniske ideer om at lave “et bedre Minix end Minix”. Jeg håbede, at jeg en dag ville være i stand til at genindføre Linuxcc under Linux …
To måneder til den grundlæggende opsætning, men derefter kun lidt længere tid, indtil jeg havde en diskdriver (alvorligt fejlbehæftet, men den virkede tilfældigvis på min maskine)og et lille filsystem. Det var omtrent da jeg gjorde 0.01 tilgængelig: det var ikke kønt, det havde ingen floppydriver, og det kunne ikke gøre meget andet. Jeg tror ikke, at nogen nogensinde har kompileret den version. Men på det tidspunkt var jeg hooked, og jeg ville ikke stoppe før jeg kunne smide Minix ud.
Der blev aldrig lavet nogen annoncering for Linux version 0.01. Kilderne til 0.01 var ikke engang eksekverbare: de indeholdt kun de sparsomme rudimenter af kernekilden og forudsatte, at man havde adgang til en Minix-maskine til at kompilere og lege med dem.
Den 5. oktober 1991 annoncerede Linus den første “officielle” version af Linux, version 0.02. På dette tidspunkt var Linus i stand til at kørebash (GNU Bourne AgainShell) og gcc (GNU Ccompiler), men ikke meget andet fungerede. Igen var dette system tiltænkt som et hackersystem. Det primære fokus var udvikling af kernen; ingen af spørgsmålene om brugersupport, dokumentation, distribution osv. var blevet behandlet. I dag er situationen helt anderledes – den virkelige begejstring i Linux-verdenen drejer sig om grafiske brugermiljøer, distributionspakker, der er lette at installere, og programmer på højt niveau, såsom grafiske værktøjer og produktivitetssuiter.
Linus skrev i comp.os.minix:
Har du længsel efter de gode dage i Minix-1.1, hvor mænd var mænd og skrev deres egne enhedsdrivere? Står du uden et godt projekt og vil bare gerne sætte tænderne i et operativsystem, som du kan prøve at ændre til dine behov? Finder du det frustrerende, når alting virker på Minix og du ikke længere behøver at gå hele natten igennem for at få et smart program til at virke? Så er dette indlæg måske lige noget for dig.
Som jeg nævnte for en måned siden, arbejder jeg på en gratis version af en Minix-lookalike til AT-386 computere. Den er endelig nået til et stadie, hvor den er brugbar (selvom den måske ikke er det, afhængigt af hvad du ønsker), og jeg er villig til at udgive kilderne til bredere distribution.Det er kun version 0.02 … men jeg har med succes kørtbash, gcc, GNU make, GNUsed, compress osv. under den.
Efter version 0.03, hævede Linus versionsnummeret til 0.10, da flere folk begyndte at arbejde på systemet. Efter flere yderligere revisioner øgede Linus versionsnummeret til 0.95, for at afspejle hans forventning om, at systemet var klar til en “officiel” udgivelse meget snart. (Generelt får software ikke tildelt versionsnummeret 1.0, før det teoretisk set er færdigt eller fejlfrit). Det var i marts 1992. Næsten halvandet år senere, i slutningen af december 1993, var Linux-kernen stadig i version 0.99.pl14 – den nærmede sig asymptotisk 1.0. Version 1.0 udkom i marts 1994. I skrivende stund (marts 1999) er den nuværende kerneversion 2.2.6, mens kerneversionerne 2.3 er under sideløbende udvikling. (Vi forklarer Linux-versioneringskonventionerne i detaljer senere.)
Linux kunne ikke være blevet til uden deGNU -værktøjer, der er skabt af Free Software Foundation.Deres gcc-compiler, som vi omtaler i kapitel 13, gav liv til Linus Torvalds’ kode. GNU-værktøjerne har været sammenflettet med udviklingen af Linux lige fra begyndelsen. På grund af disse værktøjers afgørende bidrag kræver Free Software Foundation endda, at distributioner af Linux med tilhørende værktøjer kaldes GNU/Linux.
Berkeley Unix (BSD) har også spillet en vigtig rolle i Linux – ikke så meget i skabelsen af Linux, men ved at levere de værktøjer, der har gjort det populært. De fleste af de værktøjer, der følger med Linux-distributioner, er porteret fra BSD. Netværksdæmoner og hjælpeprogrammer er særligt vigtige. Kernens netværkskode til Linux blev udviklet helt fra bunden (faktisk to eller tre gange), men dæmonerne og hjælpeprogrammerne er fra BSD.
I dag er Linux en komplet Unix-klon, som kan køre X Window System, TCP/IP, Emacs, web, mail- og nyhedssoftware og meget andet. Næsten alle større frie softwarepakker er blevet tilpasset til Linux, og kommerciel software er ved at blive tilgængelig. Faktisk begynder mange udviklere med at skrive programmer til Linux og tilpasser dem senere til andre Unixsystemer. Der understøttes mere hardware end i de oprindelige versioner af kernen. Mange mennesker har udført benchmarks på Linux-systemer og fundet dem hurtigere end arbejdsstationer fra Sun Microsystems og Compaq, og Linux klarer sig bedre eller lige så godt som Windows 98 og Windows NT på en lang række benchmarks.Hvem ville nogensinde have gættet, at denne “lille” Unix-klon ville vokse op til at overtage hele verdenen af personlige computere og servere?