Matthew Dillon

A HupWiki-ből...

http://www.hup.hu/old/images/wiki/matt_dillon.png

Matthew Dillon

Matthew Dillon jól ismert DragonFly BSD (volt FreeBSD és Linux) kernel hacker. Többször találkozhatunk a nevével az NFS fixek, vagy a TCP stack foltok kapcsán.

Dillon Commodore és Amiga gépeken kezdett el programozni. Tanult kódolni 6502-es gépen, megtanulta a gépi kódú programozást. A gyakorlás odáig vezetett, hogy saját assemblert és editort írt. Később számos programot írt assembly nyelven. Megtanult C-ben programozni Amigán és B50-Evans gépen. Annyira belejött a C programozásba, hogy elhatározta ír egy C compilert (gépikódban is megtanult programozni, majd annyira belejött, hogy 1 hét alatt összedobta a C-fordítója alapját). Így született meg a DICE, az Amigára írt C fordító. A fordító nagyon népszerű lett az Amigások körében, hiszen az akkori Lattice C fordító nagyon drága mulatságnak számított. A DICE fordítót shareware-ként terjesztette, amiből váratlanul szép bevétele keletkezett. Dillon szerint a DICE egy jó fordító, de hiányoznak belőle az __asm__ makrók, és egyéb fontosabb dolgok, amelyek kellenének ahhoz, hogy egy komolyabb projectben használható legyen. Például, hogy képes legyen lefordítani a FreeBSD kernelt. A DICE később freeware lett, így bárki használhatja. Annak idején legendák jártak arról, hogy Dillon a DICE-ot egy hét alatt programozta le, aztán kiderült hogy fake a hír, az arc két hét alatt végzett a C fordító magjával :-) (azért valljuk be két hét alatt egy komplett C compilert írni nem semmi teljesítmény).

Dillon később, 1994-ben saját ISP-t (internetszolgáltató) alapított néhány barátjával BEST Internet néven. Ez gyorsan fejlődött, később egyesült a HiWay Technologies web hosting céggel, majd az egészet felvásárolta a Verio.

Dillon a BSD-vel (az eredeti CSRG BSD-vel) az utolsó főiskolai évében találkozott. Egy jó barátja segített neki megérteni a BSD rendszert, és adott neki egy accountot egy B50-Evans-ra. A Berkeley-n eltöltött évei alatt szert tett némi C tudásra :-), de csak kisebb kernel hacking-ra vállalkozott. A Berkeley évek után egy kisebb mérnöki céghez ment dolgozni.

Amikor elindították a BEST Internet szolgáltatót főként BSDi és FreeBSD gépeket használtak. Ekkor jött rá, hogy nekik a FreeBSD az egyetlen út amit követni kell. Az elsődleges cél az volt, hogy a BEST gépei 2000 account-al gépenként minél tovább képesek legyenek üzemelni. Ez azt jelentette, hogy ha egy gép megállt, akkor nekiállt az OS-t bugfixelni, és lehetőleg megpatchelni. Ezek közben a bugkeresések közben talált hibát a VM-ben (virtual memory management), a quota rendszerben, a filerendszer kódban, és sok egyéb másban.

Ez a munka vezetett oda, hogy kódot küldjön egy idő után a FreeBSD CVS-be. Fixálta a VM hibákat (kb. a felét átírta), amit a régi FreeBSD kóderek nem néztek akkoriban jó szemmel. Később Dillon elismert NFS (network file system) GURU lett. A BEST-es időkben rengeteg problémája volt az NFS-fel, jobb híján saját maga javította a hibás kódot. Jelen pillanatban a FreeBSD NFS kódja meglehetősen stabil, és ez főként Dillon-nak köszönhető. Dillon szerint a FreeBSD mostani NFS implementációja a legjobb, összehasonlítva a jelenlegi open source operációs rendszerek NFS kódjával.

Dillon ezenkívül jelentősebb változtatásokat, fixeket eszközölt a FreeBSD TCP stack-ban. Jelentős sebességnövekedést is elkönyvelhet a rendszer a kódjai alapján.

Dillon a fejlesztései során a Dell 2U magas (2 unit) rack szervereit használja. 2450-es, és egy 2550-es gépek, mindegyik dual processzoros. A gépek SCSI csatolóval vannak ellátva, 100BaseTX switcheket, és néhány vezetéknélküli hálózatot használ. Az asztali gépe a dolgozószobában kapott helyet, mert a szerverszoba nagyon hangos :-). Az internetre egy T1-es vonalon kapcsolódik. Mostanában néhány barátjának a domain-jét, és mail box-át hostolja, a szolgáltatás során kizárólag FreeBSD boxokat használ. Van Windowsos gépe is, de kizárólag játszani :-).

A Dell gépeket kizárólag a fejlesztéshez használja, kettőn FreeBSD -STABLE van, a harmadikon pedig FreeBSD -CURRENT verzió fut. A legtöbb időt azzal tölti, hogy megpróbálja a FreeBSD kernelt 'megölni', kerneldump-ot (core dump) generáltatni, és azt debuggerrel vizsgálja. Ezenkívül sok idő tölt azzal, hogy mások által beküldött bugokat próbál reprodukálni a saját tesztkörnyezetében. Ha ez sikerül, akkor nekilát a bugfixnek.

Dillon arra a kérdésre, hogy milyen operációs rendszert használ, elmondja, hogy több rendszert is használ, például a régi Amiga-ját is. De főleg FreeBSD-t.

Dillon elmondja, hogy figyelemmel kíséri a Linux fejlesztését is, néha belekukkant a Linux kernel kódba. Elmondja, hogy a Linux fejlesztésésnek korai szakaszában Ő is közreműködött néhány rész fejlesztésében. Például dolgozott a TCP stack-en, és írt egy cron-like daemont, amit dcron -nak nevezett el. Viszont elmondja, hogy az ő szerelme a BSD, és ennek fejlesztése, stabilitásának növelése a legfőbb célja.

Dillon amikor nem a BSD-t hackeli, akkor kedvenc időtöltésének hódol, a sínek. Szeret síelni vízen és havon egyaránt. Ezenkívül biciklizik, és szeret vitorlázni is.

Arra kérdésre, hogy mit ajánl azoknak, akik most kezdenek hozzá a BSD kernel hackelésének a következőket mondja: aki ehhez fog, az tanulja meg rendesen konfigurálni, és lefordítani a a kernelt, tanulja meg használni a DDB-t (console debugger), azt hogy hogyan kell kernel core dump-ot generáltatni, és azt hogyan kell gdb-vel (GNU debugger) elemezni, hogyan kell gdb-vel futó kernelt debuggolni. Ezt dokumentációkból megtanulni elég nehéz, bár számos publikáció (pl. a www.daemonnews.org-on) található az interneten.

Külső hivatkozások