Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

RTOSs (was Re: Teenagers ...)

2004-09-07 by Graham Davies

--- In AVR-Chat@yahoogroups.com, Robert Adsett <subscriptions@a...> 
wrote:

> >The benefits of a cooperative system, such as ECROS, are:
> >*** no need for a stack per task, i.e. more tasks in less RAM
> 
> I don't understand this assertion ...

This is a great discussion thread. I confess I have not previously 
thought at length about differentiating cooperative kernels that can 
yield at arbitrary points versus those that require a function to run 
to completion. Mea Cupla. I agree with everything you said. In my 
defence, I did say "such as ECROS" and ECROS is of the run-to-
completion type. This is better for some applications and worse for 
others as compared to yielding at an arbitrary point. I think it does 
take the prize for ease-of-use and suitability to machines with very 
limited resources, though. By rebinding the task function at run time 
you can get very elegant state machine implementations which are not 
possible when you yield in the middle of the task. But, sending more 
text to the UART than can be buffered at any one time is easier if 
you can yield after each chunk.

So perhaps we have these approaches to real-time system design, in 
ascending order of sophistication/complexity/resource needs:

* ad-hoc
* super-loop
* cooperative run-to-completion RTOS
* cooperative yield-when-I-want-tp RTOS
* preemptive RTOS

Graham.

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.