2026. június 1., hétfő

Linux 2.

Problémák a fogalmakkal

Az évek során több helyen tartottam előadást a Linuxról és annak használatáról vagy más, ehhez kapcsolódó témáról. Tapasztalataim szerint az emberek fejében a Linuxszal kapcsolatban igen nagy a fogalmi zavar, emiatt sokszor félnek a rendszertől, vagy nem értenek egy-egy mondatot a súgóban. Az egyik általános tévhit, hogy a Linux számítógépes csodabogaraknak való, akik érthetetlen kódokat gépelnek a billentyűzeten. Talán ezért (is) fontos, hogy még a téma elején tisztázzuk és helyrerakjuk a fogalmakat.

Maga a Linux szó nem takar mást, mint az operációs rendszer magját, vagyis a kernelt. A kernel feladata csupán az, hogy biztosítsa az erőforrások elosztását, az egyes erőforrások védelmét és azt, hogy mind a rendszerprogramok, mind a felhasználói programok képesek legyenek egységes módon kapcsolatot teremteni a hardver elemekkel. Tehát a kernel a valódi programok elől elrejti a különböző hardverek speciális kezelési eljárásait, vagyis a programokat nem érdekli, hogy milyen típusú merevlemez van a számítógépünkben, számukra csak az a fontos, hogy olvasni és írni tudjanak a fájlokból/ba. Az erőforrások elosztása azt jelenti, hogy a rendszermagnak meg kell oldania azt a problémát, miszerint egyes hardverelemek egyidejűleg csupán egy feladatot tudnak végezni. Például a nyomtatót egyszerre csak egy program használhatja, különben egy összekutyult szöveg jelenne meg a papíron. Ugyanígy a processzort is felhozhatjuk példának, mivel egy processzoron csak egy program képes egyszerre működni, és ezen erőforrás megosztását úgy végzi a rendszermag, hogy egy kis ideig az egyik program használja a processzort, egy kis ideig a másik – ezek olyan rövid időszakok, hogy számunkra úgy tűnik, mintha az összes program egyszerre futna. De ha már osztjuk az erőforrásokat, akkor azokat védeni is kell. Például a memória is erőforrás, melyben az összes program őrzi a számára fontos adatokat. A kernel ugyanakkor nem engedi meg, hogy egy program olyan adathoz férjen hozzá, amely egy másik program tulajdona, az ilyen kísérleteket meg kell akadályoznia. Ugyanígy meg kell akadályoznia azt is, hogy az egyik felhasználó felhatalmazás nélkül olvashassa vagy írhassa a másik felhasználó fájljait, könyvtárait. A tulajdonságai alapján általánosságban megfogalmazhatjuk, hogy a Linux egy többfelhasználós, többszálú, hálózati alapokra épülő operációs rendszer. Figyelem, a rendszer szó nem takarja a felhasználói programokat!

A Linux család apraja és nagyja

Sok esetben helyesebb megfogalmazás a GNU/Linux, ugyanis a Linux rendszermag köré tömörülő alapprogramok a GNU projektumból származnak – ilyenek a fordítóprogramok (programozási nyelvek fordítói, pl. GCC – GNU Compiler Collection), a szöveges bash shell (ami szöveges módban teszi lehetővé a gép kezelését), vagy akár a grafikus megjelenítő, az X Window System (amely felelős a grafikus kezelőfelület működéséért) – hogy csak az ismertebbeket említsük. Tehát a Linux rendszermag köré épült GNU projektumból sok a komoly, ingyenesen használható és terjeszthető program, ami lehetővé tette a számítógép használatát, felhasználását.

A GNU/Linux köré később még több más program, programcsomag is hozzáépült, az előzőekre építve, melyet manapság a legtöbben Linuxként ismernek. Ezek a Linux nevű termékek nem mások, mint disztribúciók. A disztribúció szó a programok összeválogatását és lefordítását takarja, vagyis a Linux kernelt, a GNU projektum programjait, és több más ingyenes vagy kevésbé ingyenes szoftvert egy-egy szervezet összeválogat, lefordít futtathatónak és CD-re, illetve DVD-re ír, vagy az internetre felteszi. Így jön létre a Fedora, Redhat, SuSE, openSUSE, Debian, CentOS, Ubuntu, Knopix, Mandriva, UHU-Linux, Gento és más disztribúciók, melyek mindegyike magába foglalja a fent említetteket. A disztribúciók létrehozóin múlik, hogy az egyes programok közül melyek kerülnek az adott termékbe, és azokat milyen tulajdonságokkal fordítják le a számítógép által futtathatónak (például egyes terjesztésekben a zenelejátszó programok MP3 kezelés nélkül kerülnek bele, mivel az licencelési problémákba ütközik). A disztribúció készítői döntik azt is el, hogy milyen típusú számítógépen futtathatók az adott programok, vagyis hogy azokat Intel alapú PC-re (32 vagy 64 bitre), az Apple által használt PowerPC-re, vagy más számítógépcsaládra fordítják le. Egy-egy disztribúció jellemzően több különböző számítógépcsaládra van lefordítva. Ugyanígy találhatók speciális terjesztések is, melyek egy-egy processzortípuson teszik lehetővé a rendszer futását, mint például a hálózati eszközeink mikrokontrollerein (switchek, routerek), vagy egyes régen elavult gépeken, mint az Amiga.

A legtöbb disztribúción ugyanarra a célra több különböző program, programcsomag is megtalálható, ez lehetővé teszi azt, hogy a felhasználó döntse el, melyik az igényeinek legmegfelelőbb eszköz, de erről legközelebb.

A levél, ami az áradat indítója

Linus Torvalds 1991. augusztus 25-én egy különös üzenetet küldött a minix csoport hírcsatornájára (usenet newsgroup – olyan korabeli számítógépes hálózati kommunikációs megoldás, mely segítségével többen részt vehetnek egy levelezés alapú beszélgetésben, minden üzenet archiválódik és visszakereshető – tekinthetjük a mai fórumok elődjének). A levélben tájékoztatta a csoport tagjait az új, általa készített rendszerről, mely tisztán kísérleti céllal jött létre.

Az eredeti levél (angol nyelven):

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them:-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes – it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have:-(.

Azok számára akik hadilábon állnak az angollal, magyarul (a fordítás nem tökéletes):

Üdvözlet mindeninek a minix használó oldalán.

Készítek egy (ingyenes) operációs rendszert (csak hobbiból, nem lesz olyan nagy és professzionális mint a GNU) 386-os (486-s) AT-klónhoz. Április óta érlelem és lassan elkészül. Szeretnék visszajelzéseket kapni, hogy mi tetszik/nem tetszik a minixben, mivel az én operációs rendszerem hasonlít rá (többek között a fájlrendszer (gyakorlati okokból) ugyan olyan felépítésű).

Átültettem eddig a bash-t (1.08) és a gcc-t (1.40) és úgy néz ki működik. Ez azt jelenti, hogy néhány hónapon belül valami hasznosat fogok kapni, és szeretném tudni milyen funkciókat szeretnének a legtöbben. Minden javaslatot szívesen fogadok, de nem ígérem meg, hogy meg fogom valósítani őket :-)

UI: Igen, minix kód független és többszálú fájlrendszerrel rendelkezik. Nem átültethető (a 386-os feladatváltását használja) és lehet, hogy soha nem is fog AT merevlemezen kívül bárit is támogatni, mivel nekem csak ez van :-(.”

Linus Benedict Torvalds (A LinuxWorld konferencián 1999-ben) a népszerű, Unix-szerű operációs rendszer, a Linux fejlesztésének elindítója, jelenleg is egyik fő fejlesztője.

A levelet átolvasva láthatjuk, hogy még maga Torvalds sem gondolta, hogy ennek a projektnek lenne bármilyen jövője, arról pedig álmodni sem mert, hogy nem csupán számítógépek ezrei, hanem más számítógépes eszközök (switchek, routerek, lapolvasók, egyes e-papírok) is ezt a rendszert használják majd alapul.

A levél következtében fejlesztők százai csatlakoztak a projekthez, és gyorsan kialakult a valódi Linux rendszer, mely már átültethető más gépekre is, sőt felveszi a versenyt a kommerciális operációs rendszerekkel is. Persze nem csak támogatókra lelt Torvalds, hanem ellenzőkre is, többek között a hollandiai egyetemi tanára Andrew S. Tanenbaum, a minix megalkotója (aki elismert operációs rendszer kutató) egy nyilvános vitát indított a rendszerről, elavultnak, és már a kezdetekben halott rendszernek nevezte, melynek nem nagy jövőt jósol. Évei között elsősorban a monolitikus felépítés szerepelt fő indoknak (egy későbbi írásunkban kitérünk arra is, hogy mi a monolitikus kernel, illetve a mikro- és hibrid kernelekre is). Ebből a levélből egy hatalmas flém jött létre (sajnos nem tudok a magyar szótárban megfelelő szót a fórumokon folyó felesleges elmérgesedett veszekedésre). Az akkori intések ellenére a Linux 17 éve él, és elfogadottsága az operációs rendszerek piacán odáig jutott, hogy a legutolsó jelentésében a Microsoft már hivatalosan is konkurenciaként emlegeti (tudni kell, hogy a Microsoft évekig még operációs rendszernek sem ismerte el a Linuxot).

Hogy milyen jövője lesz a rendszernek nem tudjuk, de a statisztikák azt mutatják, hogy a rendszer elfogadottsága már mind nagyobb az átlagos felhasználók körében is – ez azt jelenti, hogy nem csupán a rendszergazdák használják a különös programjaik futtatására, illetve a szerverek fenntartására, hanem az otthoni és vállalati felhasználás is terjedőben van.

Hasznos linkek azoknak, akik a Torvalds kontra Tanenbaum egyes részeire kíváncsiak:

Magyar ember Magyar Szót érdemel