Re: Dumb RTOS Question



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


.



Relevant Pages

  • Re: Thread Pre-Emption Question . . .
    ... The suggestion is to queue up data for the signaling to this thread and allow a 2nd or multiple threads to process the queue. ... The example code is a MULTIPLE WRITER, SINGLE READER design, and the READER/WRITER logic is fine. ... know what is happening during a time when your threadaren't running - if you think about this, then it will become clear why Windows is not a RTOS and why your task, unless it is a debugging / tuning process, is not possible without OS / hardware support. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Dumb RTOS Question
    ... shows up in the queue. ... I thought a message queue would work or have ... then suspend for a safe amount of time before looping back to check them ... I just have not figured out this kooky RTOS stuff. ...
    (comp.arch.embedded)
  • Re: Dumb RTOS Question
    ... shows up in the queue. ... an option to work like a ring buffer but that does not seem to be the ... and I'm thinking that you need to go digging for a basic tutorial on using an RTOS. ... using a queue here -- just set a semaphore from your timer ...
    (comp.arch.embedded)
  • Re: Dumb RTOS Question
    ... interprocess communications. ... shows up in the queue. ... I thought a message queue would work or have ... if you have one RTOS task that's performing multiple ...
    (comp.arch.embedded)
  • Re: Dumb RTOS Question
    ... shows up in the queue. ... I thought a message queue would work or have ... then suspend for a safe amount of time before looping back to check them ... I just have not figured out this kooky RTOS stuff. ...
    (comp.arch.embedded)

Loading