OT - multitask

SZIGETI Szabolcs szigi at ik.bme.hu
Sat Dec 17 16:33:29 CET 2005


> Ezt erzem, hogy jo nehez irni...
> Altalanositva: Win/Linux hogy csinalja? Ezek szerint ezek nem szaggatjak
> a kernelt?


Hali!

Haygományosan a Unix kernel szinten nem volt megszakítható, kernel szinten 
futó process csak akkor veszthette el a vezérlést ha valamire (pl. IO) 
várnia kellett.
A Win (mármint az NT vonluat, mert csak az nevezheto oprendszernek) kernel 
szinten is el tudta venni a futást egy processztol, ha más, nagyobb 
prioritású futáskész lett.

Modern Unix-ok (Linux is) elég nagy erofeszítéseket tesznek arra, hogy a 
kernel szinten is lehessen taskot váltani. Erre nem elsosorban a real-time 
muködés miatt  van szükség, hanem a multiprocesszoros muködés miatt, mivel 
régebben a Unixok több processzor esetében is csak egy processzt tudtak 
kernel szinten futtatni egy idoben, ami elég jelentos teljesítményveszteség. 
A megoldás elég nagy munka, hiszen nem elég a teljes kernelt védeni ez 
ellen, hanem minél apróbb részekre kell bontani és ezeket külön védeni 
kölcsönös kizárásokkal, stb.

Szabolcs




More information about the Elektro mailing list