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