Re: Dumb RTOS Question
- From: CBFalconer <cbfalconer@xxxxxxxxx>
- Date: Fri, 25 Aug 2006 15:05:39 -0400
Daniel wrote:
Starting on my first RTOS project and can't quite see the logic
to the interprocess communications. The Zilog RTOS offers message
queues, but if the queue is empty the reading process is suspended
until something shows up in the queue. Well sorry, that isn't good
because my process has multiple things it needs to monitor
periodically. It can't get hung on just one message queue. I
thought a message queue would work or have an option to work like
a ring buffer but that does not seem to be the case. My concept is
to have this process check several "queues" and then suspend for a
safe amount of time before looping back to check them again. Any
sage advice appreciated. Thanks.
You should match your RTOS to your problem, not the other way round.
Implement message queues when you see a need for them, not because
everybody does it.
The purpose of an RTOS is to guarantee that something can be
handled on time. This means you have to be able to characterize
the various tasks to ensure any postponement is not excessive.
This allows you to handle the sort of thing where a signal means an
incipient explosion, unless something is readjusted in time.
For many purposes an RTOS is not the appropriate solution, and you
will often be better off with a normal system that simply provides
time sharing, possibly with assigned priorities.
--
Some informative links:
news:news.announce.newusers
http://www.geocities.com/nnqweb/
http://www.catb.org/~esr/faqs/smart-questions.html
http://www.caliburn.nl/topposting.html
http://www.netmeister.org/news/learn2quote.html
.
- Follow-Ups:
- Re: Dumb RTOS Question
- From: Michael N. Moran
- Re: Dumb RTOS Question
- References:
- Dumb RTOS Question
- From: galt_57
- Re: Dumb RTOS Question
- From: Daniel
- Dumb RTOS Question
- Prev by Date: Re: 8051 C Compiler
- Next by Date: Re: 8051 C Compiler
- Previous by thread: Re: Dumb RTOS Question
- Next by thread: Re: Dumb RTOS Question
- Index(es):
Relevant Pages
|
Loading