A Unix az egyik legnépszerűbb operációs rendszer világszerte, mivel nagy a támogatottsága és a terjesztése. Eredetileg többfeladatos rendszerként fejlesztették ki miniszámítógépek ésinframe-ek számára az 1970-es évek közepén. Azóta az egyik legszélesebb körben használt operációs rendszerré nőtte ki magát, annak ellenére, hogy néha zavaros a kezelőfelülete és hiányzik a központi szabványosítás.
A Unix népszerűségének valódi oka? Sok hacker úgy érzi, hogy a Unix a helyes dolog – az egyetlen igaz operációs rendszer. Ezért fejlesztette ki a Linuxot a Unix-hackerek egyre növekvő csoportja, akik saját rendszerükkel akarják bepiszkolni a kezüket.
A Unix változatai számos rendszerhez léteznek, a személyi számítógépektől kezdve az olyan szuperszámítógépekig, mint a Cray Y-MP. Az Unix legtöbb változata a személyi számítógépekhez elég drága és nehézkes. E sorok írásakor azAT&T’s System V egygépes változata a 386-oshoz körülbelül 1500 dollárba kerül.
A Linux a Unix szabadon terjeszthető változata, amelyet eredetileg Linus Torvalds fejlesztett ki, aki 1991-ben kezdett el dolgozni a Linuxon, amikor a finnországi Helsinki Egyetem hallgatója volt.Linus ma a Transmeta Corporationnél dolgozik, egy Santa Clarában, Kaliforniában működő induló vállalkozásnál, és továbbra is karbantartja a Linux kernelt, azaz az operációs rendszer legalacsonyabb szintű magkomponensét.
Linus a Linux első verzióját ingyenesen tette közzé az interneten, és ezzel véletlenül minden idők egyik legnagyobb szoftverfejlesztési jelenségét indította el. Ma a Linux szerzői és karbantartói több ezer (ha nem több) fejlesztő csoportja lazán együttműködik az interneten keresztül.A Linux támogatására, a Linux könnyen telepíthető disztribúciókba való csomagolására és a Linux szoftverrel előtelepített munkaállomások értékesítésére cégek jöttek létre. 1999 márciusában a kaliforniai San Joséban tartották az első Linux World Expo szakkiállítást, amelyen állítólag jóval több mint 12 000 ember vett részt.A legtöbb becslés szerint a Linux-felhasználók száma világszerte valahol 10 millió körül van (és ez a szám várhatóan kevésnek fog tűnni, mire Ön ezt olvassa).
Az Andrew Tanenbaum Minix operációs rendszere (egy másik szabad Unix PC-kre – bár nagyon egyszerű) által inspirált Linux egy osztályprojektként indult, amelyben Linus egy egyszerű, 386-os PC-n futtatható Unix rendszert akart létrehozni.A Linuxról szóló első viták a comp.os.minix nevű Usenet hírcsoportban folytak. Ezek a beszélgetések leginkább egy kis, akadémiaiUnix rendszer fejlesztésével foglalkoztak olyan Minix felhasználók számára, akik többet akartak.
A Linux nagyon korai fejlesztése leginkább a 80386-os védett üzemmódú interfész feladatváltó funkcióival foglalkozott, mindezt assembly kódban írva. Linus írja:
Azután már sima ügy volt: a kódolás még mindig szőrös volt, de volt néhány eszközöm, és a hibakeresés is könnyebb volt. Ebben a szakaszban kezdtem el használni a C-t,és ez biztosan felgyorsítja a fejlesztést. Ekkor kezdtem el komolyan venni a megalomániás elképzeléseimet, hogy “egy jobb Minixet csináljak, mint a Minix”. Reméltem, hogy egyszer majd Linux alatt is recompilegcc-ezhetek …
Két hónap az alapbeállításra, de aztán csak valamivel tovább tartott, amíg volt lemezmeghajtó (komolyan hibás, de történetesen az én gépemen működött)és egy kis fájlrendszer. Körülbelül ekkor tettem elérhetővé a 0.01-et: nem volt szép, nem volt benne floppydriver, és nem tudott sok mindent csinálni. Nem hiszem, hogy bárki is lefordította volna azt a verziót. De addigra már rákattantam, és nem akartam abbahagyni, amíg ki nem dobtam a Minixet.
A 0.01-es Linux verzióról soha nem készült bejelentés. A 0.01-es források még csak nem is voltak futtathatóak: csak a kernel forrásának puszta alapjait tartalmazta, és feltételezte, hogy van hozzáférésed egy Minix géphez, hogy lefordíthasd és játszhass velük.
1991. október 5-én Linus bejelentette a Linux első “hivatalos” verzióját, a 0.02-es verziót. Ekkor Linus már képes volt futtatni abash-t (a GNU Bourne AgainShell) és a gcc-t (a GNU Ccompiler), de nem sok minden más működött. Ismétlem, ezt a rendszert hackerek rendszerének szánták. Az elsődleges fókusz a kerneldevelopment volt; a felhasználói támogatás, dokumentáció, terjesztés stb. kérdéseivel még csak nem is foglalkoztak. Ma már egészen más a helyzet – az igazi izgalom a Linux világában a grafikus felhasználói környezetekkel, a könnyen telepíthető terjesztési csomagokkal és a magas szintű alkalmazásokkal, például a grafikai segédprogramokkal és a termelékenységi csomagokkal kapcsolatos.
Linus írta a comp.os.minix-ben:
Vágysz a Minix-1.1 szép napjai után, amikor az emberek férfiak voltak és maguk írták az eszközmeghajtókat? Nincs egy szép projekted, és csak arra vágysz, hogy egy olyan operációs rendszeren vágd a fogaidat, amit megpróbálhatsz a saját igényeidre módosítani? Frusztrálónak találod, amikor minden működik Minixen?Nincs többé éjszakázás, hogy egy ügyes programot működésre bírj? Akkor ez a poszt talán pont neked való.
Ahogy egy hónapja említettem, egy ingyenes Minix-lookalike változaton dolgozom AT-386-os számítógépekre. Végre elérte azt a stádiumot, amikor már használható (bár lehet, hogy nem az, attól függően, hogy mit akarsz), és hajlandó vagyok kiadni a forrásokat szélesebb körű terjesztésre.Ez még csak a 0.02-es verzió … de már sikeresen futtattam alatta a bash, gcc, GNU make, GNUsed, compress, stb. programokat.
A 0.03-as verzió után Linus felemelte a verziószámot 0.10-re, mivel több ember kezdett el dolgozni a rendszeren. Számos további átdolgozás után Linus 0.95-re emelte a verziószámot, hogy tükrözze azt a várakozását, hogy a rendszer hamarosan készen áll a “hivatalos” kiadásra. (Általában a szoftverek nem kapnak 1.0-s verziószámot, amíg elméletileg be nem fejeződtek vagy hibátlanok nem lettek.) Ez 1992 márciusában történt. Majdnem másfél évvel később, 1993 decemberének végén a Linux kernel még mindig a 0.99.pl14 verziószámon állt – tünetmentesen közeledve az 1.0-hoz. Az 1.0 verzió 1994 márciusában jelent meg. E sorok írásakor (1999 márciusában) a jelenlegi kernelverzió a 2.2.6, míg a 2.3-as kernelverziók párhuzamos fejlesztése folyamatban van. (A Linux verziókezelési konvenciókat később részletesen kifejtjük.)
A Linux nem jöhetett volna létre a Free Software Foundation által létrehozottGNU eszközök nélkül.A gcc fordítójuk, amelyet a 13. fejezetben tárgyalunk, életre keltette Linus Torvalds kódját. A GNU eszközök a kezdetektől fogva összefonódtak a Linux fejlesztésével. Ezen eszközök kritikus hozzájárulása miatt a Szabad Szoftver Alapítvány még azt is kéri, hogy a Linux disztribúcióit a hozzájuk tartozó segédprogramokkal együtt GNU/Linuxnak nevezzék.
A Berkeley Unix (BSD) szintén fontos szerepet játszott a Linuxban – nem annyira a létrehozásában, mint inkább a népszerűvé tevő eszközök biztosításában. A Linux disztribúciókhoz tartozó legtöbb segédprogramot aBSD-ből portolták. A hálózati démonok és segédprogramok különösen fontosak. A Linux kernel hálózati kódját az alapoktól kezdve fejlesztették (valójában kétszer vagy háromszor), de a démonok és segédprogramok BSD-sek.
Ma a Linux egy teljes Unix-klón, amely képes az X Window System, a TCP/IP, az Emacs, a Web, a levelező- és hírszoftverek futtatására. Szinte minden fontosabb szabad szoftvercsomagot átültettek Linuxra, és egyre több kereskedelmi szoftver is elérhetővé válik. Valójában sok fejlesztő azzal kezdi, hogy Linuxra ír alkalmazásokat, és később más Unix-rendszerekre portolja azokat. Több hardvert támogatnak, mint a rendszermag eredeti változatai. Sokan végeztek benchmarkokat Linux rendszereken, és úgy találták, hogy gyorsabbak, mint a Sun Microsystems és a Compaq munkaállomásai, és a Linux számos benchmarkon jobban vagy ugyanolyan jól teljesít, mint a Windows 98 és a Windows NT.
Ki gondolta volna, hogy ez a “kis” Unix-klón a személyi és szerver számítástechnika egész világát meghódítja?