[En-Nut-Discussion] Realtime Nut/OS

Harald Kipp harald.kipp at egnite.de
Thu Mar 5 20:01:18 CET 2009



Nathan Moore wrote:
>>From other threads' perspective these would look like a mix between an ISR
> and another thread, so they might have to protect more data from these real

I'll comment on this in a reply to Thiago.

> time threads with critical sections.  When a real time thread yielded you
> would need to make sure that the previously executing thread got the CPU
> back rather than reschedule since normal (already existing) threads expect
> other normal threads not to start up while they are still running.

Yes. The cooperative part must exactly continue where it had been
interrupted by any real time thread.

> Also if
> more than one real time thread wants to run at the same time they still
> fight for CPU.
> For most things using a timer ISR handler that makes itself interruptible
> would work unless it needs to sleep.

In general, yes. One advanced feature of real time threads is, that they
are running at specific priorities. That means, if a higher priority
thread becomes ready to run, it will immediately yield the lower
priority thread, that is currently running. Nut/OS itself will run at
the lowest priority.

I already see, that we have to define exact terms before starting the
implementation part. Otherwise we'll get completely confused.

Harald




More information about the En-Nut-Discussion mailing list