pomoc - trochu jiny pohled
Martin Mačok
martin.macok na underground.cz
Čtvrtek Leden 31 17:55:15 CET 2002
On Thu, Jan 31, 2002 at 05:07:28PM +0100, Ing. Miloslav Ponkrác wrote:
> Mě by třeba zajímalo, jak by dnes bylo těžké stát se programátorem
> jádra. To jest, za předpokladu, že jsem zkušený programátor
> obeznámený s principem Unixu do hloubky.
V tom pripade celkem bez problemu. V tom kodu se da celkem dobre
zorientovat a zas tak moc se to od jineho programovani nelisi. Velka
cast kodu v kernelu vypada celkem podobne jako kod kterehokoliv jineho
programu.
> Existuje jiná dokumentace Linuxu, než zdrojáky jádra?
Ano.
http://kernelnewbies.org/
http://www.linuxdoc.org/
http://www.linux-mm.org/
...
/usr/src/linux/Documentation/*
> Existuje možnost, jak něco naprogramovat do jádra jinak, než že se
> stát osobním přítelem jednoho člověka, který má patent na jméno
> Linux?
Jiste, to jste nekde zase slysel nejake famy, ze? Mnoho velice
aktivnich vyvojaru jadra se s Linusem nemuze vystat, presto se jejich
kod do jadra dostane, anebo jej pouziva mnoho lidi napr. diky jadru z
distribuci atp...
Naprosta vetsina patchu se neposila primo Linusovi, ale maintainerum
konkretni casti kernelu ci konkretni vetve kernelu. V pripade
neuspechu/odmitnuti mate moznost dostatecne hlasite na sebe
upozornovat v LKML, anebo maintainovat vlastni kernel tree a posilat
do konference odkazy na tento tree...
> Je jádro dobře strukturováno a dekomponováno jako projekt?
Ano i ne. Mohlo by byt podstatne lepsi, ale na druhou stranu vzhledem
k tomu, jak zivelne a "chaoticky" se vyviji, tak je celkem rozumne
strukturovano. Rozhodne se to s casem zlepsuje. Jadro se stava cim
dal tim vice modularizovane a jednotlive casti mene navzajem
"propletene" (pokud to vubec jde).
> Kde jsou popsány interface mezi jednotlivými komponentami jádra?
Naprosta vetsina je v kodu, ale ne zridka vyvojari zverejni nejake
dokumenty nebo slajdy... kdo hleda a kdo chce, ten vetsinou najde.
> Kdo se vlastně stará o architekturu jádra, a kdo ji shvaluje?
Maintainer. Kdyz s nim nejste spokojeni, udelate si vlastni fork tree
a kdyz se prokaze, ze ten vas tree je dobry/lepsi, maintainer rad
zmeni nazor. Pokud i presto nezmeni a naprosta vetsina ostatnich s
vami souhlasi, maintainer prestava byt maintainerem ;-)
(napr. Alan Cox dela vlastni jadra, SuSE dela vlastni jadra, Red Hat
dela vlastni jadra, Rik van Riel udrzuje svuj VM tree, AA udrzuje svuj
VM tree ...)
> Neodrazuje dnešní stav jádra nové zkušené programátory, kteří se
> raději budou věnovat něčemu jinému?
Neni zadny problem. Komu se to nelibi, muze se to pokusit zmenit,
anebo proste muze pouzivat nejake BSD, Hurd, ... freedos, OpenBEOS,
AtheOS ...
> Nehřeší dnes způsob vývoje jádra na přebytek lidských sil?
Mozna. Mozna je to i vyhoda, ne? Resp. proc to nevyuzit, ne? Ona zas
tak strasne nesmirna ta zakladna tech nejdulezitejsich vyvojaru neni.
Opravdu velke a radikalni kusy kodu pise spise tak desitky/stovky
programatoru, coz neni zas tak "nesmirny" prebytek sil ... (podivejte
se kolik programatoru zamestnava microsoft)
> Jaká je metodika testování jádra?
Momentalne oficialne skoro zadna, ale zacina se nad tim vazne
diskutovat a objevily se i ruzne QA projekty. Staci hledat.
BTW napr. firmy distribujici kernel (napr. SUSE, RedHat) tyto verze
kernelu, ktere distribuuji, celkem dukladne testuji/opravuji a kdyz
narazi na problemy ktere vyresi, tak si to samozrejme vetsinou
nenechavaji pro sebe ...
Konkretne u Red Hat Linuxu musi kernel projit celkem dukladnym
testovanim na kvalitu, nez jej daji do distribuce. (podivejte se,
kolik patchu na kernel v takove normalni distribuci je)
> Je dnešní způsob řízení vývoje jádra udržitelný i do budoucna?
Ano i ne. Zatim to jeste jde. Az to nepujde, tak to nepujde ;-)
V posledni dobe se objevuje celkem dost ruznych "tree" a celkem z toho
byl z pocatku strach, ale ukazuje se, ze to je spise k dobremu,
protoze dobre veci se takto prosadi a dukladne otestuji a potom mohou
jit snazeji do "hlavniho stromu". Navic ne vsichni maji uplne stejne
pozadavky, takze pravdepodobne nelze udelat jeden hlavni kernel, se
kterym by byli vsichni idealne spokojeni.
> Jaká je podpora jádra pro možnost vývoje binárních ovladačů od výrobců
> hardware?
Muzou byt, pokud neporusi licenci GPL. Kdyz budete chvilku hledat
hesla jako "binary driver linux kernel GPL" tak toho najdete spoustu.
> Existuje dnes dostatečně stabilní prostředí pro vývojáře aplikací?
Ano.
> Je nutné se specializovat na určitou distribuci, a nebo lze udělat
> aplikaci přenositelně?
Neni nutne. Kdyz pisete cisty kod, obvykle ho lze psat tak, aby bez
velkych bolesti sel rovnou kompilovat nejen na ruznych distribucich,
ale i na ruznych klonech unixu.
> Je nutné pro každou distribuci vytvářet jiný typ balíčku?
Neni.
> Proč?
Kazdemu vyhovuje neco jineho. Proc nenechat zit nekolik ruznych
variant?
> Jak moc jsou určité věci ve všech distribucích standardizovány?
Hledejte na internetu "LSB" "FHS" apod. V posledni dobe to az na par
kosmetickych problemu s kompatibilitou distribuci celkem ujde.
> Existuje jedno místo, kde jsou závazné standardy pro Linux popsány, které se
> Linux do budoucna zaváže respektovat?
LSB
> Tímto nemyslím nic jiného, než že Linux je složitý projekt, jehož
> složitost s časem roste.
To je velice relativni.
Zkuste si nainstalovat 7 let stary slackware a pul roku stary
Mandrake. Co vam prijde slozitejsi? :)
--
Martin Mačok http://underground.cz/
martin.macok na underground.cz http://Xtrmntr.org/ORBman/
Další informace o konferenci Linux