Unix on yksi suosituimmista käyttöjärjestelmistä maailmanlaajuisesti laajan tukipohjansa ja jakelunsa ansiosta. Se kehitettiin alunperin 1970-luvun puolivälissä monitehtäväjärjestelmäksi minitietokoneille jainframeille. Siitä on sittemmin kasvanut yksi yleisimmin käytetyistä käyttöjärjestelmistä, vaikka sen käyttöliittymä on joskus hämmentävä ja keskitettyä standardointia ei ole.
Todellinen syy Unixin suosioon? Monet hakkerit ovat sitä mieltä, että Unix on oikea asia – ainoa oikea käyttöjärjestelmä. Tästä johtuu Linuxin kehitys, jota tekee yhä suurempi joukko Unix-hakkereita, jotka haluavat liata kätensä omalla järjestelmällään.
Unix-versioita on olemassa monille järjestelmille, henkilökohtaisista tietokoneista supertietokoneisiin, kuten Cray Y-MP:hen. Useimmat henkilökohtaisille tietokoneille tarkoitetut Unix-versiot ovat melko kalliita ja hankalia. Tätä kirjoitettaessa yhden koneen versio AT&T:n System V:stä 386:lle maksaa noin 1500 dollaria.
Linux on vapaasti levitettävä Unix-versio, jonka on alun perin kehittänyt Linus Torvalds, joka aloitti työnsä Linuxin parissa vuonna 1991 opiskelijana Helsingin yliopistossa.Linus työskentelee nykyään Transmeta Corporationissa, joka on start-up-yritys Kaliforniassa sijaitsevassa Santa Clarassa, ja ylläpitää edelleen Linuxin ydintä eli käyttöjärjestelmän alimman tason ydinkomponenttia.
Linus julkaisi Linuxin ensimmäisen version ilmaiseksi Internetissä ja synnytti tahattomasti yhden kaikkien aikojen suurimmista ohjelmistokehitysilmiöistä. Nykyään Linuxia laatii ja ylläpitää joukko useita tuhansia (ellei enemmänkin) kehittäjiä, jotka tekevät löyhää yhteistyötä Internetissä.Yrityksiä on syntynyt tarjoamaan Linux-tukea, paketoimaan sitä helposti asennettaviin jakeluihin ja myymään Linux-ohjelmistolla esiasennettuja työasemia. Maaliskuussa 1999 pidettiin San Josessa, Kaliforniassa, ensimmäinen Linux World Expo -messutapahtuma, johon osallistui tiettävästi reilusti yli 12 000 ihmistä.Useimpien arvioiden mukaan Linux-käyttäjiä on maailmanlaajuisesti noin 10 miljoonaa (ja odotamme, että tämä luku näyttää pieneltä, kun luet tätä).
Linux sai innoituksensa Andrew Tanenbaumin Minix-käyttöjärjestelmästä (toinen vapaa Unix PC:lle, vaikkakin hyvin yksinkertainen) ja sai alkunsa luokkaprojektista, jossa Linus halusi rakentaa yksinkertaisen Unix-järjestelmän, joka toimisi 386-pohjaisella PC:llä.Ensimmäiset keskustelut Linuxista käytiin Usenet-newsgroupissa comp.os.minix. Nämä keskustelut koskivat enimmäkseen pienen, akateemisenUnix-järjestelmän kehittämistä Minix-käyttäjille, jotka halusivat enemmän.
Linuxin hyvin varhainen kehitys käsitteli enimmäkseen 80386:n protected-mode-rajapinnan tehtävänvaihto-ominaisuuksia, jotka kaikki oli kirjoitettu assembly-koodilla. Linus kirjoittaa:
Sen jälkeen oli helppoa: koodaaminen oli edelleen hankalaa, mutta minulla oli joitakin laitteita, ja virheenkorjaus oli helpompaa. Aloin käyttää C:tä tässä vaiheessa,ja se varmasti nopeuttaa kehitystä. Tässä vaiheessa aloin myös vakavasti suhtautua suuruudenhulluihin ajatuksiini tehdä ”parempi Minix kuin Minix”. Toivoin, että voisin jonain päivänä tehdä recompilegcc:n Linuxissa …
Kaksi kuukautta perusasennukseen, mutta sitten vain hieman pidempään, kunnes minulla oli levyajuri (todella buginen, mutta se sattui toimimaan koneessani)ja pieni tiedostojärjestelmä. Se oli suunnilleen silloin, kun tein 0.01:n saataville: se ei ollut kaunis, siinä ei ollut levyajuria, eikä sillä voinut tehdä juuri mitään. En usko, että kukaan koskaan käänsi sitä versiota. Mutta silloin olin jo koukussa, enkä halunnut lopettaa ennen kuin olisin voinut heittää Minixin pois.
Linuxin versiosta 0.01 ei koskaan tehty ilmoitusta. 0.01:n lähteet eivät olleet edes suoritettavissa: ne sisälsivät vain ytimen lähdekoodin alkeet ja edellyttivät, että sinulla oli pääsy Minix-koneeseen, jotta voisit kääntää ne ja leikkiä niillä.
Lokakuun 5. päivänä 1991 Linus julkisti ensimmäisen ”virallisen” Linux-version, version 0.02. Tässä vaiheessa Linus pystyi käyttämäänbashia (GNU Bourne AgainShell) ja gcc:tä (GNU C-kääntäjä), mutta ei paljon muuta. Tämäkin oli tarkoitettu hakkereiden järjestelmäksi. Pääpaino oli ytimen kehityksessä; mitään käyttäjätukeen, dokumentaatioon, jakeluun ja niin edelleen liittyviä kysymyksiä ei ollut edes käsitelty. Nykyään tilanne on aivan erilainen – todellinen jännitys Linux-maailmassa kohdistuu graafisiin käyttöympäristöihin, helposti asennettaviin jakelupaketteihin ja korkean tason sovelluksiin, kuten grafiikkatyökaluihin ja tuottavuusohjelmiin.
Linus kirjoitti comp.os.minix:
Vietätkö kaiholla Minix-1.1:n mukavia aikoja, jolloin miehet olivat miehiä ja kirjoittivat omat laiteajurinsa? Oletko vailla kivaa projektia ja haluat vain kuollaksesi leikata hampaat irti käyttöjärjestelmästä, jota voit yrittää muokata omiin tarpeisiisi? Tuntuuko sinusta turhauttavalta, kun kaikki toimii Minixissä?Ei enää yötä päivää, jotta saisit näppärän ohjelman toimimaan? Sitten tämä viesti saattaa olla juuri sinua varten.
Kuten mainitsin kuukausi sitten, työstän ilmaista versiota Minix-lookalike-ohjelmasta AT-386-tietokoneille. Se on vihdoin saavuttanut vaiheen, jossa se on jopa käyttökelpoinen (vaikka ei ehkä olekaan riippuen siitä, mitä haluat), ja olen valmis julkaisemaan lähteet laajempaa jakelua varten.Se on vasta versio 0.02 … mutta olen onnistuneesti käyttänyt sen alla bashia, gcc:tä, GNU makea, GNUsediä, compressiä jne.
Version 0.03 jälkeen Linus nosti versionumeron 0.10:een, kun useammat alkoivat työstää järjestelmää. Useiden lisämuutosten jälkeen Linus nosti versionumeron 0.95:een, mikä kuvastaa hänen odotuksiaan siitä, että järjestelmä olisi valmis ”viralliseen” julkaisuun hyvin pian. (Yleensä ohjelmistolle annetaan versionumero 1.0 vasta, kun se on teoriassa valmis tai virheetön.) Tämä tapahtui maaliskuussa 1992. Lähes puolitoista vuotta myöhemmin, joulukuun 1993 lopulla, Linux-ydin oli edelleen versiossa 0.99.pl14, joka lähestyi oireettomasti versiota 1.0. Versio 1.0 ilmestyi maaliskuussa1994. Tätä kirjoitettaessa (maaliskuussa 1999) ytimen nykyinen versio on 2.2.6, ja samanaikaisesti kehitetään ytimen 2.3 versioita. (Selitämme Linuxin versiointikäytännöt yksityiskohtaisesti myöhemmin.)
Linux ei olisi voinut syntyä ilmanGNU-työkaluja, jotka on luonut Free Software Foundation.Heidän gcc-kääntäjänsä, jota käsittelemme luvussa 13, antoi elämän Linus Torvaldsin koodille. GNU-työkalut ovat kietoutuneet Linuxin kehitykseen alusta alkaen. Näiden työkalujen tärkeän panoksen vuoksi Free Software Foundation jopa pyytää, että Linux-jakeluja, joissa on mukana apuohjelmia, kutsutaan GNU/Linuxiksi.
Berkeley Unix (BSD) on myös ollut tärkeässä roolissa Linuxissa – ei niinkään sen luomisessa, vaan tarjoamalla työkaluja, jotka tekevät siitä suositun. Suurin osa Linux-jakeluiden mukana tulevista apuohjelmista on siirrettyBSD:stä. Erityisen tärkeitä ovat verkko-ohjelmat ja apuohjelmat. Linuxin ytimen verkkokoodi kehitettiin alusta alkaen (itse asiassa kaksi tai kolme kertaa), mutta demonit ja apuohjelmat ovat vanhaa BSD:tä.
Tänään Linux on täydellinen Unix-klooni, joka kykenee käyttämään X-ikkunajärjestelmää, TCP/IP:tä, Emacsia, Webiä, sähköposti- ja uutisohjelmistoja, mitä vain. Lähes kaikki tärkeimmät vapaat ohjelmistopaketit on siirretty Linuxiin, ja kaupallisia ohjelmistoja on tulossa saataville. Itse asiassa monet kehittäjät aloittavat sovellusten kirjoittamisen Linuxille ja siirtävät ne myöhemmin muihin Unix-järjestelmiin. Laitteistoja tuetaan enemmän kuin ytimen alkuperäisissä versioissa. Monet ihmiset ovat suorittaneet vertailuarvoja Linux-järjestelmillä ja todenneet ne nopeammiksi kuin Sun Microsystemsin ja Compaqin työasemat, ja Linux suoriutuu monista vertailuarvoista paremmin tai yhtä hyvin kuin Windows 98 ja Windows NT.Kuka olisi ikinä uskonut, että tästä ”pienestä” Unix-kloonista on kasvanut koko henkilökohtaisen ja palvelinlaskennan maailman valloittaja?