[elektro] oprendszerelmelet

Moczik Gabor pm_levlista at progzmaster.hu
Wed Feb 10 17:32:41 CET 2010


gyapo wrote:
> Az nmi, amit nem lehet letiltani, kikapcsolni, mindenkeppen jon 
> hardwarebol, es a processzor ettol beugrik egy nmi-t lekezelo 
> rutinba, ami a kernel resze. Ez aztan szetnez, hogy minden rendben 
> van-e, ha igen akkor tovabbadja a processzort, es majd a kovetkezo 
> megszakitasnal ebred megint.

Az NMI eppen nem nagyon van hasznalva a PC-kben, illetve regen nem 
nagyon volt, ma is valoszinuleg hibajelzesre.

>> Nem biztos, hogy az a legmagasabb szintu megszakitas.
>> Ha egy driver, IT rutinban megall, nem biztos, hogy be tud lepni.
> 
> Nmi-bol egy van es az mindig mukodik, benne van a neveben. Alcsonyabb 
> szintubol lehet 1000, az sose fogja megallitani a kernelt.

Tudtad hogy PC-ben az NMI is maszkolhato?
Ma mar nem kovetem, de az x86 kompatibilis gepen van egy AND kapu a 
proci NMI laba fele, amit a 0x70 I/O port 7. bitje kapcsol.

Tovabba az NMI-n nincs rendszeres aktivitas.

>> Lehet olyan hiba is, rosszul kezelnek le egy IT, ezert az
>> allandoan belep. Ezt sem tudja a kernel eszrevenni.
> 
> Miert nem? Persze a kernel nem tudja, hogy egy drivernek mit kell 
> csinalnia, hova mit kell irnia stb. Ad neki processzoridot a priority 
> szerint, es kesz, azt csinal amit akar, ha it-be akar ugralni 
> allandoan, akkor tegye. Ha hibas, az az o baja, ettol a kernel es az 
> elet az oprendszerben nem allhat meg. Persze normalisabb lenne, ha a 
> driver atadna egy adatcsomagot indulaskor a normalis mukodesre utalo 
> infokkal, ezt a kernel eltenne, es amikor szukseges ranezne, hogy 
> normalis keretek kozott mukodik-e a program, ha nem, akkor leallitja. 
> Vagy a program csak egy jelzest letenne valahova, hogy ha eszreveszi 
> a mukodesi rendellenesseget, ezzel tud jelezni a kernelnek. Ha adott 
> ideig nem jon a jelzes, akkor baj van vele, ki lehet loni.

Ez igy szepen hangzik, csak a valosagban ettol sokkal bonyolultabb a 
helyzet. A kernel nem tudja 100%-ig biztosan hogy a driver hibasan 
mukodik, ha pontosan tudna mit kell csinalni, akkor nem kene driver. 
Ezt-azt ellenorizhet, de nem mindent. Ha valami "szokatlan" tortenik, 
ott jonnek a problemak.

A "ki lehet loni" sem ilyen egyszeru. A driver az nem egy huszadrangu 
alkalmazas, hanem valamelyik kulcsfontossagu eszkoz mukodese fugg tole. 
Ha kilovod mondjuk a diszk drivert, akkor utana mit szeretnel meg 
csinalni? Vagy mondjuk a memoria drivert?
Ha a video drivert lovod ki, attol meg lehetne mondjuk diszk cache-t 
menteni, ez nagy valoszinuseggel addigra meg is tortenik, mire te 
megunod hogy nem valtozik semmi a monitoron es RESET-et nyomsz.
Mindenesetre alapvetoen keves olyan driver problema kepzelheto el, ami 
utan barmi ertelmeset lehet folytatni a gepen.

Egy diszk gond vagy memoria korrupcio vagy chipset gond utan semmi sem 
biztos, aligha lehet ertelmesen folytatni.



More information about the Elektro mailing list