Rik van Riel - a Linux kicsit más szemmel

A hackerek topic következő alanya Dave Jones lett volna, de úgy döntöttem, hogy előbbre veszem Rik van Riel -t. Annál is inkább mert ma jelent meg vele egy interjú a NET -en. A cikk egy sorozat része, melynek eddig megjelent tagjai: Matthew Dillon (FreeBSD kernelhacker), Robert Love (Linux kernelhacker).

Rik van Riel kétségkívül az egyik legaktívabb kernelfejlesztő. Nevéhez fűződik a Linux kernel VM -jének fejlesztése. Az ő VM -jét váltotta fel a jelenlegi stabil Linux kernel VM -je (virtual memory managemet).

Rik van Riel hollandiában született 1978 -ban. 1994 -ben kezdett foglalkozni a GNU/Linux -al. Miután Linux konzulensként dolgozott egy holland cégnél, a Conectiva S.A munkatársa lett, amely a legnagyobb Linux cég dél-amerikában (Tosatti, a jelenlegi 2.4 kernelfa karbantartója is a Conectiva munkatársa, és hasonlóan Riel -hez ő is meglepően fiatal). Az érdeklődése a Linux témakörben elsődlegesen a VM felé fordult. Ő és Arcangeli felelősek a napjaink Linux kernelének a virtuális memória kezeléséért.

Azt tudjuk, hogy Linus a 2.4.10 -es kerneltől kezdve az Arcangeli féle VM -et részesítette előnyben Riel VM -jével szemben. Erről a döntésről Riel -nek az a véleménye, hogy Linus kissé mellőzte őt. Riel Alan Cox -al együttműködve számos patch -et köldött Linus -nak, de Linus ezeket ignorálta, és később azt hányta a szemükre, hogy nem küldtek neki patch -eket. Természetesen ezek után Torvalds kicserélte a Riel féle VM -et az Arcangeli VM kódra. Riel az új Linux VM -ről azt állítja, hogy jobb teljesítményt nyújt egy tipikus desktop gépen. Viszont nem biztos, hogy nagy terhelés alatt is megállja a helyét. Például a Red Hat nem szállítja a disztribúcióiban az új VM kóddal ellátott kerneleket. Riel elmondja, hogy sok felhasználó az ő által írt VM implementációt használja, és neki nem kell többet Linus -al dolgoznia, és ez jó dolog.



Szerinte ha Linus nem áll az útba, ő képes lenne jó VM -et alkotni. Többet nem akar foglalkozni azzal, hogy Linus -nak tetszik-e amit csinál, vagy sem. Csak a kóddal akar foglalkozni, szerinte a kód tartalma a fontos. Linus viszont úgy osztályozza a kódot, hogy ha az csúnya, pontatlan - mert mondjuk nincs ideje a hackernek napokat a tisztításával foglalkozni - de ellenben jól működik, akkor Linus egyszerűen eltávolítja.

Több hacker erősen kritizálta az új VM -et, mert az nem fektet elegendő hangsúlyt a stabilitásra. Riel egyenesen 'asshole' -nak nevezte Torvalds -ot, mert az semmibe veszi egyes fejlesztők véleményét.

Viszont Riel elmondja, hogy ennek ellenére nem haragszik Linus -ra, de ki nem állhatja azt a módszerét amellyel a forrásokat ellenőrzi ("the Linus source control system").

Riel a VM kód mellett dolgozik egy ún. OOM -en (Out of Memory Killer) kódon. Arra a kérdésre, hogy mi is ez tulajdonképpen, a következőket válaszolta:

Egy alap Linux rendszerben rendelkezünk valamennyi fizikai RAM -al, és valamennyi swap területtel. A RAM -ot használjuk a kernel adatok tárolására, a végrehajtható állományok cache -elésére, a library -k és egyéb adatok tárolására. Mindenki tudja, hogy a rendszerben soha nincs elegendő RAM, hiába teszünk a gépünkbe akármennyit is. Ezért el kell döntenünk, hogy mit tárolunk a RAM -ban és mi az, amit a diskre írunk (swap area) ha éppen nics rá szükség. Eljöhet olyan szituáció, amikor a rendelkezésre álló swap terület kevésnek bizonyul, és a rendszer nem tudja futtatni az elindított alkalmazásokat. Ebben az állapotban várnunk kell addig , amíg valamelyik folyamat befejeződik, és memóriát szabadít fel (ez nem jöhet létre ha mindegyik folyamat a másiktól várja, hogy befejeződjön), vagy nekünk kell közbeavatkoznunk, és kell felszabadítani valamennyi memória területet. Pl. úgy, hogy kill -elünk egy processzt. Természetesen nem akarhatjuk, hogy ez a dolog random menjen végbe, mert akkor esetleg valamilyen fontos processz kill -elődne (init, syslogd vagy más kritikus alkalmazás). Az OOM Killer detektálja, hogy a rendszer mikor fut ki a virtuális memóriából, és ekkor kiválasztja az a processzt amelyet kill -el (a lehető legjobbat).

A másik project, amiről hosszasan tud beszélni, az az -rmap (reverse mapping) project. Az -rmap project szintén a Linux VM fejlesztéséhez kapcsolódó fejlesztés. Jelenleg fejlesztés alatt áll, és ahol a jelenlegi VM jól működik, ott az -rmap is hasonlóképpen teljesít. Viszont ott ahol a jelenlegi VM elhasal, ott az -rmap jó teljesítményt produkál. Sok esetben jelezték vissza felhasználók, hogy ugyanabban a szituációban a jelenlegi VM összesett, viszont az -rmap jól teljesített. Ha valaki ki akarja próbálni a Riel féle -rmap -ot az megtalálja a patch -et itt.

Viszont Rik -elmondja, hogy ez nem egy mágikus VM. Ez sem tudja megcsinálni azt, hogy kevés RAM -al, nagy terhelés alatt üzemeltetünk egy szervert, és majd a dolgot rábízzuk a VM -re, hogy majd az úgyis elintézi a dolgot.

Riel elmondja, hogy sok időt tölt el a #kernelnewbies projecten. A #kernelnewbies egy iRC csatorna az irc.openprojects.net -et. Igazából azoknak a programozóknak találták ki, akik éppen most ismerkednek a Linux kernel fejlesztésével (valóban esténként én is fenn szoktam lenni a nevezett csatornán, és Riel aktív tagja az ottani közösségnek. Közvetlen, nyugodtan lehet tőle kérdezni, készséggel válaszol).

Fiatal, nagyszájú, de tehetséges.

A vele készült interjút itt olvashatod. Beszél Cox -ról, Arcangeli -ről, a 2.5 -ös kernel fejlesztéséről, és még sok minden másról. Érdemes elolvasni.

Hozzászólások

Az ötlet nem rossz. Nekem is eszembe jutott már. Írtam neki levelet, hogy kérnék tőle interjút. Mindkét fent említett e-mail címre elküldtem a levelet, a mai napig nem kaptam rá választ.

31 Jan 2 To: mingo@redhat.c (4,189) interju a portal.fsn.hu reszere

32 Jan 2 To: mingo@elte.hu (4,390) interju a portal.fsn.hu reszere

íme a levelek, amiket küldtem. Sajnos válasz nem érkezett, biztos elfoglalt Ingo Molnar.

Mindenesetre sajnálom, mert a feltett kérdések több embert is érdekeltek volna. Ha van rá igény a kérdéseket, amit elpostáztam, közzé tudom tenni.

Üdv: trey

PS: a külföldi kernelfejlesztőkkel könnyebb kapcsolatot teremteni.