zmaten z gcc, glibc...

Martin `MJ' Mares mj na ucw.cz
Úterý Srpen 28 14:26:56 CEST 2001


Hello, world!\n

> Ano, mas samozrejme pravdu, muzes mi vsak rici jediny argument, proc
> nelze vytvorit interface, ktery byt nepredpoklada nejake nove
> trendy/vlastnosti (neni na ne pripraven) by byl zpetne kompatibilni?

Zvlastni je, ze mne napadla presne opacna otazka: Je zde jediny duvod,
proc by _mel_ jit takovy interface vytvorit? Svet okolo nas, ve kterem
se snazime zit, se vyviji casto naprosto nepredpokladanym smerem a chceme-li,
aby Linux byl v praxi pouzitelny, musi se umet existujicimu HW prizpusobit
a vyuzivat jej co mozna nejefektivneji. At v interfacu zafixujeme temer
cokoliv, muze se nam stat, ze casem tento invariant prestane platit.

Napadaji mne 3 cesty, jak se takovy problem da resit:

   (1)  Zafixovat si nejaky interface a odmitat z nej ustoupit, maximalne
	ho inkrementalne rozsirovat. Tim se sice udrzi kompatibilita,
	ale vykon je postupem casu cim dal tim horsi. To je cesta, kterou
	si vybral DOS a vsichni vime, jak dopadl :-)

   (2)	Cas od casu interface uplne vymenit a dopsat dalsi prekladaci
	vrstvu pro zpetnou kompatibilitu. To je cesta, kterou jdou
	Windows a v user-spacu castecne i Linux. Funguje, ale takovy kod
	je postupem casu cim dal tim komplikovanejsi, nabobtnalejsi
	a neudrzovatelnejsi.

   (3)  Smirit se s tim, ze interfacy nejsou fixni. To se deje v Linuxovem
	jadre -- cas od casu se nejaky interface zmeni, ale autor takove
	zmeny obvykle take opravi vsechny drivery, aby se prizpusobily
	novemu interfacu. Samozrejme, pokud se nekdo rozhodne, ze jeho
	driver nebude soucasti jadra a ze si ho bude distribuovat zvlast,
	je takove updatovani jeho starost a nikdo to za nej neudela.

Myslite, ze neco jineho nez (3) je dlouhodobe udrzitelne?

				Have a nice fortnight
-- 
Martin `MJ' Mares   <mj na ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"I don't give a damn for a man that can only spell a word one way." -- M. Twain


Další informace o konferenci Linux