nejde shodit cdda2wav

Milan Kerslager milan.kerslager na spsselib.hiedu.cz
Čtvrtek Listopad 22 21:19:50 CET 2001


On Wed, 21 Nov 2001, Ondrej Koala Vacha wrote:

> Problem v $subj jsem vyresil restartem, bylo to nerychlejsi. Beru to jako
> chybu linuxu - to, ze obsluha celkem nevyznamne periferie nejde ukoncit
> jinak nez rebootem, je ostuda (neco mi to pripomina...) Jesteze nemusime
> rebootovat kdyz mame zhasnutou tiskarnu...

Pokud byste chtel mit moznost zabit proces, ktery je nekde uvnitr nejakeho
driveru, musel by ten driver byt napsan tak, aby byla zajistena
konzistence dat. Pri ukonceni obycejneho procesu je to jasne - vsechny
pridelene prostredky se eviduji a nepatri nikomu jinemu a pri ukonceni
procesu se uvolni.

V jadre je to jinak - pri vyvolani sluzby jadra sahate do datovych
struktur, ktere mohou byt sdilene a nikde se to neeviduje. Menite v nich
data a nikde neni zadna moznost odrolovat nedokoncenou operaci. Musel
byste jakekoliv I/O nebo alokace pameti nekde zaznamenavat, abyste pri
zabijeni v tom udrzel poradek, musel byste vsechny operace nejak sledovat
(to by asi bylo velmi pomale).

Protoze vsak jsou Unixova jadra napsana velmi jednoduse, je jadro
nedelitelny celek (asi jako jeden proces s absolutnimi pravy) a tak musite
v pripade problemu "zabit" jadro cele (reboot). Vysledek je lepsi, nez
kdyby bylo jadro tak komplikovane, ze by v nem nakonec bylo vic chyb, nez
v soucasnem stavu (ne ze by to neslo napsat).

Jiste - obvykle se ovladace dokazi nejak vzpamatovat, ale uplne vsechny HW
anomalie proste neosetrite, protoze jednoduse nevite, jake HW chyby se
mohou vyskytnout (napr. pri prepisovani AIC7xxx ovladace byl nejvetsi
problem prave s HW chybami tech chipu - chip je zdanlive porad stejny, ale
chova se pokazde jinak, dokumentace je malo a musi se experimentovat).

-- 
                        Milan Kerslager
                        E-mail: milan.kerslager na pslib.cz
                        WWW:    http://www.pslib.cz/~kerslage/



Další informace o konferenci Linux