[En-Nut-Discussion] Realtime Nut/OS

Harald Kipp harald.kipp at egnite.de
Thu Mar 5 12:57:29 CET 2009


Hi all,

As I said, I'm currently too busy...however, there are a few minutes
left until lunch...

As you may know, Nut/OS is a cooperative task switcher. This means, that
realtime task switching is not enforced by the OS. The application has
to take care. That doesn't mean, that Nut/OS is not an RTOS, but
realtime responses are limited to interrupt routines. Special care has
been taken to keep all critical sections deterministic. Thus, at least
theoretically, the worst response time to a specific event can be
calculated.

Well, the web is full of advocacy for both, cooperative and preemptive
schedulers. One fact: Cooperative switching requires less overhead and
typically produces smaller code. Typically. Doing all realtime handling
in interrupts may become a complicated beast and blow up application code.

Now the idea, which btw. is not new as it has been posted to this
mailing list many years ago (not by me): What about an additional
scheduler running preemptive tasks, one of which is Nut/OS? I could
think of a new thread type RTTHREAD(). So far I have no idea, if that
could be done without any impact on the code size of pure cooperative
applications.

Just want to reanimate this old idea. Now I'll have lunch...

Harald



More information about the En-Nut-Discussion mailing list