Dave Jones (Linux kernelhacker)

Dave Jones London -ban él, jelenleg a SuSE foglalkoztatja mint főállású kernelhacker -t. Az elmúlt 6 hónapban - amióta befejezte a Glamorgan egyetemet - fokozottan részt vett a Linux kernel fejlesztésében. Több futó project -je is van, mint például a Powertweak, x86info, OProfiler, és a Kernel Janitors Project. Továbbá Ő a karbantartója a -dj patcheknek a 2.5 -ös kernelsorozatban, szinkronban tartja a stabil 2.4 -es kernelfával, ennek eredményeképpen jelentősen javítja annak stabilitását.



Dave 27 éves, Dél Wales -ből származik. Fiatal korától kezdve érdeklődött a számítógépek iránt, fiatalsága nagy részét olyan dolgokkal töltötte, mint az ismerkedés a 68K assembly nyelvvel. Miután befejezte az iskolát, 10 évet különböző munkakörökben töltött el, az egyszerű adatrögzítőtől a játék fejlesztőig. Közben tavaly nyáron megkapta a diplomáját a Glamorgan egyetemen, ahol számítástechnikai (vagy informatikai?) szakon tanult. A diplomaosztó után elköltözött London -ba, ahol jelenleg is él. Részben a Londonban lakó barátok, részben a munka miatt költözött a fővárosba.Mielőtt az egyetemre került volna, egy rövid ideig az Amiga játékfejlesztői részlegénél dolgozott. Ekkor fedezte fel a GNU eszközöket, és ez idő tájt olvasott a Linux -ról is, de az egyetem előtt nem találkozott a Linux -szal. A Linux -ot az egyetem első évében fedezte fel. Teljesen elkápráztatta, és innentól kezdve ideje nagy részét a Linux -szal töltötte. A második évtől kezdve - nem tudja, hogy hogyan, de - egyszercsak azt vette észre, hogy különböző disztribútoroktól/hardware gyártóktól kapott munkát. Az utolsó évét az egyetemen már úgy töltötte, hogy félig a tanulmányokkal foglalkozott, félig pedig a SuSE -nak dolgozott. A SuSE -nál végzett munkái mellett több projectben is tevékenyen részt vesz.





A SuSE lehetőséget ad neki, hogy más projecteken is dolgozzon, de elsősorban mint kernelhacker alkalmazza. Az elmúlt évben olyan projectekben vett részt, mint John Levon Oprofiler -je, amelyhez az AMD Athlon támogatást készítette. Dolgozott a PowerTweak néhány kiadása körül, a SuSE AMD SladgeHammer projectjén, Russel King cpufeq programjának az x86 felöli oldalán, segített az x86info programot használható állapotba hozni. Ezenkívül természetesen a SuSE belső projectjeiből is kiveszi a részét. Jones feladata a SuSE -nál, a SuSE disztribúcióiban terjesztett kernelek vizsgálata, fejlesztése. A munkája abból áll, hogy patch -eket, driver frissítéseket tesz a kernelbe, megpróbálja szinkronban tartani az aktuális fejlesztésekkel. Próbálja megkeresni a régi drivereket, azokat kicserélni a lehető legfrissebb verzióval. Cél, hogy az adott driver a legjobban használható legyen, vagy egy adott gyártótól származó eszközökből a legtöbbet támogassa. Sokszor a driver alkotója úgy dönt, hogy az adott driver -nél még nem jött el az idő arra, hogy a kernelbe kerüljön (merge). Sokszor maga Linus dönt így. Ez ahhoz vezethet, hogy az adott driver elavul. Ilyenkor megpróbálják az szóban forgó driver -ből a legújabbat, de ugyanakkor a legstabilabbat a kernelbe építeni.




A vakon frissítés nem járható út. A drivereket természetesen tesztelik, komoly próbáknak vetik alá, mielőtt merge -elnek a SuSE kernelfába. Az egyik project, amin Jones dolgozik, az a PowerTweak nevű eszköz fejlesztése. A PowerTweak tulajdonképpen kis programocskák gyűjteménye, amelyek plugin formájában működnek. Ezek a pluginek nagyon aprók, és könnyen megírhatók. Az előnye annak, hogy ezek a programok pluginek formájában vannak megírva, és nem különálló programokként, az az, hogy nem kell a GUI -val foglalkozni annak aki szeretne hozzá írni egy modult. Csak a tuning kód megírására kell figyelnie. A plugin kód annyit tesz, hogy megmondja a core -nak, hogy "Ez egy logikai tuning", stb. és a felhasználói felület (jelenleg a GTK vagy ncurses/tvision) majd szolgáltatja a szükséges kapcsolatot a program és a felhasználó között. A PowerTweak -nek a pluginjei 'tuningolják' PCI regisztereket, van sysctl plugin, disk elevator plugin, CPU MSR plugin, és még egy rakás használható dolog. A PowerTweak jelenleg a 0.99.4 verziónál tart. Az 1.0 -ás verzióig javítani fognak a config file értelmezőn (parser). A kódja jelenleg elég ronda, a CPU plugin kicsit monolitikus, ennek az újraírása is várható. Várható egy ún. "kiválasztható profil" használata is. Erre azért van szükség, mert különböző funkciót betöltő gépek esetén, más és más beállítások lehetnek szükségesek. Választhatunk majd előre definiált beállítások közül, lesz a profilok között notebook -ra, tűzfalra, stb. optimalizált beállítás.




Ezeknek az előre definiált profiloknak nagy szerepe van. Nagyon könnyen tönkre lehet tenni a napjaink hardware eszközeit, ha nem megfelelő beállításokat választunk. Néhány CPU -nak van olyan speciális regisztere, amellyel le tudjuk tiltani a hőmérséklet szabályozást, emelni tudjuk a core feszültséget, állíthatjuk a órajel szorzót, az FSB (front side bus) sebességét, stb. Ha ezek nem körültekintően vannak állítgatva, annak a hardware teljes meghibásodása lehet az eredménye.




Ezt kiküszöbölendő, az alap 'tweak' beállításokat XML -ben vannak megírva. Egy parser segítségével értelmezve, biztonságosan lehet az adott hardware eszközt 'tuningolni'. A veszélyesebb (hardware specifikus) pluginek külön csomagban kerülnek a felhasználókhoz, az alap kiszerelés csak a kernel paraméterek állítását teszi lehetővé (sysctl, ioctl).




Jones viszont elmondja, hogy a PowerTweak nem egy "Tegyük a rendszerem kib. gyorssá" nyomógomb. Néhány ember azt hiszi, hogy ha a GUI -n mindent maximumra állít, akkor a rendszere gyorsabb, erősebb, jobb lesz. Ez nem így van. Mindenkinek a saját gépén kell kitapasztalni, hogy melyek az optimális beállítások. Jó példa erre az IO elevator plugin. Pont egy olyan példa, amely megmutatja miért nem jó, ha "mindent 12 -re állítunk". Ha túlzottan megnöveljük a disk pufferét, azzal azt érhetjük el, hogy a latency (a rendszer válaszadási ideje) is fokozottan megnő. Tehát többet ártunk a rendszerunknek ezzel a beállítással, mint használunk. Ugyanakkor a puffer méretének helyes megválasztásával nagyon jó IO teljesítményt hozhatunk ki a gépünkből. Másik jó példa, a rosszul programozott BIOS beállítások. Vannak olyan alaplapok (manapság nem is kevés) amelyek "elfelejtik" bekapcsolni a CPU "teljesítmény" bitjeit, vagy például a PCI regisztereket nem állítják optimálisra. Sokszor a BIOS alkotói az "biztonságra" játszanak, és inkább ráhagyással üzemletetik alaplapunkat, és egyéb perifériánkat. Ilyenkor legtöbbször kikapcsolját a "performance" biteket, és ezzel őrzik meg a stabilitást, vagy az esetleges kompatibilitást más hardware elemekkel. A PowerTweak segítségével ezeket a plusz funkciókat aktiválhatjuk a rendszerünkön.



Dave szerepet kapott a SuSE AMD 64bit SledgeHammer processzorra való portolásában is. Feladata volt, hogy az alap kódból eltávolitsa a nem-x86-64 részeket, például az AMD K6 MTRR -t, f00f bug workaround -ot, stb. Feladata volt a kód optimalizálása is. Elmondta, hogy az elején elég nehéz volt ez a feladat, mert nem állt rendelkezésükre a megfelelő szilikon, azaz a működő 64bit -es CPU. Az egészet egy szimulátor programon kellett végrehajtani.




Ezzel párhuzamosan dolgozott Russel King (később lesz róla szó - trey) cpufeq x86 kódján is. Ez a project tulajdonképpen azokkal a CPU -kal foglalkozik, amelyeknél lehetséges, hogy az órajel szorzót, core feszültséget, busz sebességet szoftveresen állítsuk. Russel King és Eric Mouw már régebben dolgozott ezen a projecten, az ARM
processzorokhoz. Az ARM processzorok lehetővé teszik, hogy az órajelet szükség szerint módosíthassuk (recalculate loops_per_sec). Dolgozott közben Arjan van de Ven -el a PowerNow! technológián az AMD K6-2+ CPU -hoz.




Mikor kezdte megérteni Russel King munkáját, elkezdte azt alkalmazni az Intel kompatibilis processzorokon, és odáig jutott tavaly nyáron a VIA cyrix processzorokkal sikert ért el. A 866MHz -en működő Cyrix processzor sebességét sikeresen módósította 300Mhz -re. Ezeket a sebesség változásokat sysctl manipulálással érték el. A feszültséget, driverrel tudták változtatni. Odáig jutottak a fejlesztéssel, hogy kaptak egy eszközt, amellyel user space szinten állítottak fel szabályokat arra, hogy hogyan lehessen a sysctl manipulációkat elvégezni. Most már ott tartanak, hogy a rendszert tudják utasítani, "processzor lassulj le ha kicsi a load", "cpu lassulj le, ha merül le az akkumulátor". Azt könnyen beláthatjuk, hogy ezek fontos lépések ahhoz, hogy a korszerű notebook -ra is előbb-utóbb Linux kerülhessen. A kód jelenleg már használható, abban a stádiumban van, hogy némi kódtisztítás után Linus -hoz kerülhet, hogy része lehessen a 2.5 -ös fejlesztői kernelnek.




És ha ez nem lett volna elég 6 hónap alatt, akkor itt van a x86info, amely alacsony szintű információkat szolgáltat a rendszer CPU -jának beállításairól. A program kidumpolja a CPU összes ismert regiszterének tartalmát hexa, és ember által is emészthető formában. Röviden ez egy 'cat /proc/cpuinfo', kicsit kibővítve.




Arra a kérdésre, hogy hogyan volt ezekre a projectekre energiája, hogy 6 hónap alatt dolgozott mindegyiken, azt válaszolja:




Ez egy nagy játék az idővel. Ha például pár napot eltölt azzal, hogy nem a kernelt javítja, piszkálja, akkor nekilát és megold egy-két user space problémát. Utána, friss szemlélettel fog neki újra a kernel hackelésnek, és ez a titka, hogy nem unja meg a dolgot. Fő a változatosság.




Dave elindított egy Kernel Janitor Project névre hallgató munkát is. A dolog úgy kezdődött, hogy Arnaldo Carvalho de Melo készített egy TODO listát néhány kisebb szükséges elkészítendő patch -ről. Dave nekiállt, és gyorsan megoldotta ezeket a problémákat. Közben jöttek emberek akik segítettek ebben. Utánna Dave segített Arnaldo -nak felállítani egy CVS/mailing listát, és a többi jött magától.




Dave a munkája során nem használ semmi különös eszközt a fejlesztésekhez. A vim, patch, cvs, és a többi megszokott programokkal dolgozik. A hardware amit használ egy Athlon box, amibe van RAID vezérlő, egy G550, dual-head monitorok, és egy kevés RAM. Ezenkívül természetesen van egy rakás más gépe is, amelyeken stress-teszteket, optimalizációt, stb. végez.




Szükségesek ezek az eszközök, mert többször kap olyan levelet, hogy " Nem bootol az új kernel a Cyrix M2 -es gépemen". Ilyenkor Dave fogja a kérdéses kernelt, és kipróbálja egy ilyen gépen (de jó neki =)). Van egykét régebbi sparc gépe is, de ezeket az elmúlt évben nem nagyon használta idő/érdeklődés hiányában.




Arra a kérdésre, hogy használ-e más OS -t is a Linux -on kívül, azt mondja, hogy nem. De ez nem zárja ki azt, hogy nyitott szemmel kövesse pl. a BSD körüli fejlesztéseket. Szerinte egy rakás érdekes fejlesztés van a BSD kernel körül.




Dave elmondja, hogy több kernelhackerrel találkozott már személyesen is, például Alan Cox -al, Andrea Arcangeli -vel. Linus -sal még nem volt szerencséje találkozni.




Szabadidejében amikor nem a Linux -al foglalkozik, akkor alszik, élő koncertekre jár. Szereti a zenét, probálkozott már játszani basszus és szóló gitáron is. Szabadidejében a barátaival gyakran mennek sörözni, enni, de többnyire ezeken az összejöveteleken is a Linux a téma.




A Dave Jones -el készült interjút itt olvashatod.




A PowerTweak project honlapját itt találod.

Hozzászólások

Gondolom ezzel a megjelenés elötti cikkek önkéntes korrektorának is szerentél jelentkezni....
Ha igen, add meg légy szíves az email címedet, és a cikkeket megjelenés elött megkapod korrektúrára.

Munkádat elöre is köszönjuk.

Sajnalom a helyesirasi hibakat, de mindent megteszek, hogy egyre kevesebb legyen benne. Viszont elmondom mindenkinek, hogy ez az oldal nem "hogyan irjunk magyarul, helyesen", se nem "apoljuk anyanyelvunket" . Ez az oldal, ha eddig nem lett volna egyertelmu, az Unix alapu operacios rendszerekkel, es hozza kapcsolodo dolgokkal foglalkozik.

A hibalistat kuld el, kijavitom. Amugy meg go to origo, olvass ott, tele van hibaval. Pedig ott nem 1 ember dolgozik a cikkeken, hanem legalabb 20. De lehet, hogy keveset mondtam.

Probalj meg a cikkek tartalmara koncentralni. En sem vagyok 100%-os. Ezert bocsass meg nekem.

Udv : trey

rulz

kereses.....
Nincs ilyen magyar szo!
(Magyar ertelmezo keziszotar)

Most akkor mi van? Mi a baj a helyesirassal?