Gabriel Sechan wrote:
Microkernels can do hard real-time. Thus even *drivers* get throttled
correctly so as not to chew up the system.
Well, yes. So can monolithics. A microkernel isn't a requirement to
get hard real-time. The only requirement for hard realtime is an OS
that can do the proper accounting and a lot of CPU/memory power (since
hard real time generally has poor overall performance in order to
garuntee certain apps having a minimum performance).
Maybe, but the only kernels which I have seen actually do hard real time
were microkernels.
Presumably, the problem is complexity management. A microkernel has
strong walls between the pieces. A monolithic kernel eventually winds
up buried in the n^2 interactions.
Ah, I get what you want now. This has nothing to do with realtime, it
has everything to do with prioritizing certain apps.
No, it has to do with real time. Audio and video have hard constraints
and must get serviced on those constraints. After that, they need zero
time.
Prioritizing only works when there is a lot of excess time laying
around. In addition, it wakes up the audio/video thread a lot just to
ask "do you need time?".
But its not, and never can be, psychic. If you want to make sure your
movie has priority, nice down the other app. Otherwise, hope that the
kernel correctly figures out that your app is interactive (interactive
apps get the most priority).
Nice doesn't help if a lower priority app is rattling the disk, bashing
the network, or any of the other tasks which switch to system and then
bang the operation out.
I'd give more details on how it works exactly, but I don't remember and
the book is packed away.
It's okay. I'm happy to let the nice folks at Apple bang around for a
while. They did quite a lot of work around CoreAudio.
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list