Naprej Nazaj Vsebina

1. Uvod v Linux

Linux je Unix in ni Unix. Je Unix, saj upošteva določila POSIX ter se nasploh obnaša kot Unix, in ni Unix, saj je bil od začetka napisan na novo in ne vsebuje niti ene same programske vrstice iz sistema AT&T Unix. Linux je popolnoma prosta izvedba določil POSIX z razširitvami System V in BSD, dosegljiva v izvorni in prevedeni obliki. Linux je avtorsko delo Linusa B. Torvaldsa <torvalds@transmeta.com> in drugih sodelavcev, ter se lahko prosto razširja pod pogoji, navedenimi v GNU Public License (GPL). Izvod GPL je vsebovan z izvorno kodo za Linux; sicer pa je dostopna na ftp://prep.ai.mit.edu/pub/gnu/COPYING.

Linux, sam na sebi, je le jedro operacijskega sistema; tisti del, ki krmili strojno opremo, upravlja z datotekami, procesi, in tako dalje. Obstaja več kombinacij Linuxa z naborom pripomočkov in namenskih programov, skupaj s katerimi predstavlja popoln operacijski sistem. Vsaka od teh kombinacij se imenuje distribucija Linuxa. Čeprav se ime Linux v ožjem pomenu besede uporablja le za označevanje jedra, pa z njim pogosto poimenujemo kar celoten sistem, zgrajen okrog jedra Linux. Tudi ta raba je pravilna. Za seznam in kratek opis različnih distribucij si oglejte http://metalab.unc.edu/LDP/HOWTO/Distribution-HOWTO.html. Nobena od teh distribucij pa ni ,,uradni Linux``.

Linux ni v javni lasti, niti ni ,,program na pokušino`` (shareware). Linux spada med prosto programje (angleško ,,freeware`` ali Open Source Software[TM]; glejte tudi http://www.opensource.org/). Kopije prostega programa lahko delite naokoli, vendar pod pogojem, da priložite tudi izvorno kodo, oziroma da je izvorna koda tudi dosegljiva. Če ste prosti program dodelali ali spreminjali, ste zakonsko obvezani, da tudi dodelave in spremembe napravite dostopne pod enakimi pogoji. Podrobnosti so opisane v GNU General Public License.

Linux je v izdaji 2.0 še vedno prost, in bo ostal tudi v prihodnje. Zaradi narave zaščite licence GNU, kateri predmet je Linux, bi bilo protizakonito, če bi se to spremenilo. Bodite pozorni: izraz ,,free`` se nanaša na svobodo, ne na ceno, in povsem legalno je zahtevati denarno nadomestilo za razširjanje Linuxa, vse dokler zraven prilagate tudi izvorno kodo. Zapisano je poenostavitev, za natančno pravno razlago pogojev glejte GNU General Public License.

Linux teče na računalnikih s procesorji Intel 386, 486, ali Pentium, z vodili ISA, EISA, PCI ali VLB. MCA (Micro Channel družbe IBM) v izdaji jedra 2.0.x še ni dobro podprt, preizkusna izvedba podpore pa je vključena v razvojno izvorno kodo jedra izdaje 2.1.x. Če vas zanima, si podrobnosti oglejte na http://glycerine.itsmm.uni.edu/mca/.

V delu je priredba za več računalnikov s procesorju Motorola 680x0 (trenutno teče na nekaj Amigah, Atarijih in računalnikih VME), ki že deluje precej dobro. Zahteva procesor 68020 z enoto MMU, ali procesorje 68030, 68040 ali 68060. Zahteva tudi numerični koprocesor (FPU). Omrežne funkcije ter okolje X že delujejo. Glejte news:comp.os.linux.m68k.

Linux teče dobro na procesorju DEC Alpha, in trenutno podpira čipja ,,Jensen``, ,,NoName``, ,,Cabriolet``, ,,Universal Desktop Box`` (bolj znan kot Multia), in več drugih. Za dodatne informacije glejte http://www.azstarnet.com/~axplinux/FAQ.html.

Linux dobro deluje tudi na procesorju Sun SPARC; večina modelov sun4c, sun4m in sun4u zdaj že podpira Linux, podpora za sun4 pa je v izdelavi. Red Hat Linux je v času pisanja tega spisa edina distribucija Linuxa, na voljo za za Sun SPARC; za podrobnosti glejte http://www.redhat.com/support/docs/rhl-sparc/

Priredba za arhitekturo Power PC, vključujoč računalnike PowerMac (NuBus in PCI), Motorola, IBM in Be je v intenzivnem razvoju. Oglejte si http://www.cs.nmt.edu/~linuxppc/ in http://www.linuxppc.org/.

Priredbe za druge arhitekture, vključno z MIPS (glejte http://linus.linux.sgi.com/ in http://lena.fnet.fr in ARM, so v različnih fazah razvoja. Rezultatov morda ni za pričakovati takoj; če pa vas delo zanima in ste željni in sposobni prispevati k njemu, boste verjetno hitro našli stik z drugimi sodelavci.

Linuxa že dolgo ne moremo več šteti za preizkusno verzijo, saj je prva izdaja (1.0) izšla že 14. marca 1994. Seveda so v sistemu še vedno napake, in s časom se pojavljajo tudi nove, in so seveda tudi popravljene. Ker delo na Linuxu sledi ,,modelu odprtega razvoja``, vse nove izvedenke javno izidejo, ne glede na to, če so ,,produkcijske kakovosti`` ali ne. Vendar pa je bila v pomoč ljudem pri odločitvi, katere izvedenke so stabilne in katere ne, vpeljana naslednja shema: izdaje 1.x.y, kjer je x sodo število, so stabilne, namenjene zgolj odpravljanju napak. Tako so bile od izdaje 1.2.2 do 1.2.3 odpravljene samo nekatere napake, ni pa bilo dodanih nobenih novih lastnosti. Izdaje 1.x.y, kjer je x liho število, pa so razvojne izvedenke, kjer se od ene izdaje do druge odpravljajo napake in dodajajo nove funkcionalnosti. Take izdaje so lahko nestabilne in so namenjene razvijalcem. Vsake toliko časa, ko se jedro stabilizira, se razvoj na novem stabilnem jedru zamrzne, nadaljuje pa se delo na razvojni izvedbi jedra.

Trenutna stabilna izdaja je 2.0.36 (zadnja številka se bo spremenila s odpravo napak in dodajanjem gonilnikov), razvoj pa se nadaljuje na eksperimentalnem jedru 2.1.x. Izvorni kodi za jedro Linuxa je priložena tudi datoteka Documentation/Changes, ki natančneje razloži spremebe, na katere morate biti pozorni pri prehodu na novejšo različico jedra. Večina uporabnikov Linuxa pa preprosto vsake toliko časa posodobi svojo distribucijo in s tem dobi tudi novo izdajo jedra.

Večina izdaj Linuxa, razvojnih ali stabilnih, je precej stabilnih. Če nimate posebnih ambicij, da bi vedno sledili zadnji izdaji, in če izdaja, ki jo imate, dela, kar želite, lahko mirno ostanete tudi pri njej. Znan je primer računalnika, na katerem je tekla izdaja 0.97p1 (izdana poleti 1992) neprekinjeno 136 dni brez napak (tekla bi še dlje, če ne bi bagerist po nesreči pretrgal omrežnega kabla). Še drugi so objavili neprekinjeno delovanje tudi prek enega leta. Zadnje poročilo navaja računalnik, na katerem še vedno teče izdaja 0.99p15s, zdaj že prek 600 dni.

Zavedati se moramo, da je razvoj Linuxa odprt in razpršen, medtem ko je razvoj večine ostalega programja zaprt in centraliziran. To pomeni, da je trenutna razvojna verzija vedno javno dostopna (z zamikom tedna ali dveh) in jo lahko kdorkoli uporablja. Rezultat tega je, da izdaja, ki prinaša novo funkcionalnost, skoraj vedno vsebuje tudi napake. Po drugi strani pa to pomeni tudi izjemno hiter razvoj, tako da so napake najdene in odpravljene zelo hitro, dostikrat v nekaj urah, saj se z njimi ukvarja veliko ljudi.

Zaprt, centraliziran razvoj nasprotno pomeni, da se s projektom ukvarja posameznik ali skupina, in programje javno izdajo potem, ko mislijo, da dobro deluje. To navadno vodi v dolge intervale med izdajami, dolgo čakanje na popravke napak, in počasnejši razvoj. Končna javna izdaja takega programja je včasih res bolj kakovostna, vendar pa je hitrost razvoja v splošnem mnogo nižja.

Razpravo o enem in drugem modelu razvoja programja najdete v eseju Erica Raymonda ,,The Cathedral and the Bazaar`` http://earthspace.net/~esr/writings/cathedral-bazaar/.

Ob pisanju tega spisa (1. september 1998) je bila trenutna stabilna izdaja Linuxa 2.0.35, zadnja razvojna izdaja pa 2.1.119.


Naprej Nazaj Vsebina