Running 2 RTOS in a single device/application

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Dear all,
   I am currently working in on a consumer electronics device.We are in
the process of debugging few bugs in the software which does the work
of displaying menus and controlling the hardware of the device.I
happened to go through the architecture of the software.What makes me
wonder is there are 2 RTOS used in this device.One rtos is ucos and
another is OS20 a proprietoty RTOS to run on the processor.
I am not able to get how can 2 RTOS run in a device or processor?
When I queried my clients reply that One RTOS runs as a task of another
RTOS.
I would like to understand how does the scheduling happen between these
2 RTOS?Also running one RTOS as another task means there are 2 kernels
and 2 schedulers.This is some what puzzling me.

Have any one seen something like this?How exactly this usage of 2 RTOS
works?Whats the way of linking one RTOS to another?How does the kernel
switching between 2 RTOS take place?

Also I have heard of something called VMWARE which does this job
generally.

It would be helpful if someone could give me some suggestions or point
me to useful links on this.If this is not the right place can you
please direct me to a proper group to discuss this?

Looking farward for all your replys,
Regards,
s.subbarayan


Re: Running 2 RTOS in a single device/application
Hello ssubbarayan,
  ssubbarayan schrieb:
Quoted text here. Click to load it

Ususally the answer to this question is also called: IP or Intellectual
Property.
You are right, VMWare does it for non embedded computing, also Microsoft
does it with Virtual PC.

For the embedded world I know of two products
PikeOS: http://www.pikeos.com?L=1
VxWin/CeWin:  http://www.kuka-controls.com/product/index.html

Those products have their own strategy to implement 2 or more RTOS on
the same device/processor or one non-RTOS on top of one RTOS .

Hope it helps.

--
BaSystem Martin Raabe
E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de

Re: Running 2 RTOS in a single device/application
Quoted text here. Click to load it

Real Time Linux: there's a RTOS for time critical tasks, and the idle
task of the RTOS runs Linux - kernel and user processes just like a
normal Linux box.  There are special FIFOs for passing data between
Linux and the RTOS.  Works fine when I used it way back in '99.

Kelly

Re: Running 2 RTOS in a single device/application

Quoted text here. Click to load it

These days you might want RTAI: www.rtai.org

It uses ADEOS to provide separate execution domains, allows you to code
fairly-hard-real-time stuff in *user space*, interfaces with all sorts
of other software, and has a really active developer/user community.

(Yes, I use it. No, I wouldn't use the other one).

cheers, Rich.

--
rich walker         |  Shadow Robot Company | snipped-for-privacy@shadow.org.uk
technical director     251 Liverpool Road   |
We've slightly trimmed the long signature. Click to see the full one.
Re: Running 2 RTOS in a single device/application
Quoted text here. Click to load it

An RTOS creates a virtual machine to run programs on. It controls access
to things like interrupt vectors, devices, and such, presenting an API
to the user code.

Also, RTOS code generally have some kind of hardware abstraction layer
internally, so it can be ported to many different systems, and keep
things that are going to be common, like schedulers, timers, and memory
allocation machine independent.

If one writes a hardware abstraction layer for RTOS1 that uses the
facilities in RTOS2, neither need know about the other. From the POV of
RTOS1, it is running on a funny, slow architecture. From the POV of
RTOS2, it has a user program, and handles the hardware itself.

The problem comes in when both RTOS want to mess with the same hardware.

--
Regards,
  Bob Monsen

We've slightly trimmed the long signature. Click to see the full one.

Site Timeline