Windows Realtime Extensions,...

121 views
Skip to first unread message

Kerem Gümrükcü

unread,
Nov 28, 2009, 1:01:54 PM11/28/09
to
Hi,

we all know that Windows (mainstream variants) are not
hard-realtime operating systems and under best conditions
they can be named soft-realtime windows. But some software
vendors sell products, including Windows components and
software for user and kernel layer that will do realtime handling
of interrupts. How can this software be rated and what vendors
are reliable on that case? I do have experience with VxWorks and
some other "real" raltime OS'es but no windows (embedded) or
stuff like that. Are these realtime extensions for windows really
reliable and are they really what they claim to be,...has someone
experience on that? This question came to my mind when i read
and replied to a Timer related Question in the Microsoft Newsgroup
microsoft.public.win32.programmer.kernel

Regards

Kerem

--
-----------------------
Beste Gr�sse / Best regards / Votre bien devoue
Kerem G�mr�kc�
Latest Project: http://www.pro-it-education.de/software/deviceremover
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------

Don Burn

unread,
Nov 28, 2009, 1:30:33 PM11/28/09
to
Most of these are sort of an "OS in a driver or HAL" model where it is an
independant OS and you use the Windows system for graphics and non-realtime
processing. So you are not really running on Windows. Also, most of these
stop support at XP so it is not like you have a strong growth path. I
evaluated several of these a few years ago for a client, and concluded the
customer was better off with a smart contoller plugging into Windows.


--
Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr


"Kerem G�mr�kc�" <kare...@hotmail.com> wrote in message
news:eTv4fTFc...@TK2MSFTNGP05.phx.gbl...

> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 4645 (20091128) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4645 (20091128) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


Burkhardt Braun

unread,
Nov 28, 2009, 2:16:21 PM11/28/09
to
Hello,

On Nov 28, 6:01 pm, Kerem Gümrükcü <kareem...@hotmail.com> wrote:
> Hi,
>
> we all know that Windows (mainstream variants) are not
> hard-realtime operating systems and under best conditions
> they can be named soft-realtime windows. But some software
> vendors sell products, including Windows components and
> software for user and kernel layer that will do realtime handling
> of interrupts. How can this software be rated and what vendors
> are reliable on that case? I do have experience with VxWorks and
there are a few vendors ( I am one ) with different approaches.
I once read an article about the architecture of Venturcom's Realtime
Extension
in the MSDN IIRC. Here it is:
http://msdn.microsoft.com/en-us/library/ms838583(WinEmbedded.5).aspx
it is a few years old ;)
At that time I was working in a project with hard time restrictions
which were not adhered. To figure out what's going on I developed a
device driver
which was hooking ( Yes Don ;) ) the IDT to measure the interrupt
latency
for all incoming interrupts. Based on that device driver, I added more
modules and created a little Posix API based realtime subsystem.
( It is "little" in so far that it supports a minimum subset of synch-
objects,
timers and functions to create threads, a pooled allocation based
memory handler, but not more ).

> some other "real" raltime OS'es but no windows (embedded) or
> stuff like that. Are these realtime extensions for windows really
> reliable and are they really what they claim to be,...has someone
> experience on that? This question came to my mind when i read
> and replied to a Timer related Question in the Microsoft Newsgroup
> microsoft.public.win32.programmer.kernel

What Don already pointed out is, that there is NO line of windows code
running in hard-realtime. Theres is a subsystem running with its own
scheduler
and dispatcher and if there is enough time, windows is "served" by the
subsystem. But then,
when Windows is active, Windows synch. objects for instance are based
on Windows ( soft realtime ) timers again.

IIRC the robot vendor KUKA has its own subsystem,
which has to work very reliable and as far as I guess, the
architecture
is different from the Venturcom realtime extension.

Hope this was helpful
Burkhardt Braun


>
> Regards
>
> Kerem
>
> --
>  -----------------------
> Beste Grüsse / Best regards / Votre bien devoue
> Kerem Gümrükcü

Pavel A.

unread,
Nov 28, 2009, 5:29:47 PM11/28/09
to
So in other words, all such solutions are similar to a hypervisor,
where Windows and the RTOS run in kind of partitions.
--pa


"Burkhardt Braun" <burkhar...@gmx.net> wrote in message
news:c1f33fd7-a956-4f49...@g26g2000yqe.googlegroups.com...
> Hello,

Maxim S. Shatskih

unread,
Nov 29, 2009, 4:55:23 AM11/29/09
to
> So in other words, all such solutions are similar to a hypervisor,

No, they work by hooking the raw interrupt handlers in the IDT, not by full CPU context switch on each guest entry/exit.

--
Maxim S. Shatskih
Windows DDK MVP
ma...@storagecraft.com
http://www.storagecraft.com

Pavel A.

unread,
Nov 29, 2009, 3:53:07 PM11/29/09
to
"Maxim S. Shatskih" <ma...@storagecraft.com.no.spam> wrote in message
news:#ZwWSoNc...@TK2MSFTNGP04.phx.gbl...

>> So in other words, all such solutions are similar to a hypervisor,
>
> No, they work by hooking the raw interrupt handlers in the IDT, not by
> full CPU context switch on each guest entry/exit.
>

Yes, but hooking sounds bad. HV sounds better.
Maybe all these Xen ports we hear about are the answer to the realtime
question.
HyperV is still so much locked down :-(

Regards,
--pa

Maxim S. Shatskih

unread,
Nov 30, 2009, 7:17:44 AM11/30/09
to
> Yes, but hooking sounds bad. HV sounds better.

HV is many times more complex and, for adequate performance, requires CPU support (pagetables).

> Maybe all these Xen ports we hear about are the answer to the realtime
> question.

Is Xen itself realtime?

alberto

unread,
Dec 1, 2009, 12:56:42 PM12/1/09
to

I am currently teaching a virtualization course at college, and I have
had good experience with Sun's VirtualBox. You can probably write your
own guest mini-OS, whatever style you care for, and take advantage of
the virtualization hardware when it's available. You can also tweak
the Hypervisor yourself and have it paravirtualize whatever you
require to get it to run a real time guest.

By the way, do anyone out there know if any hypervisor out there
allows virtualizing a Firewire connection between two virtual
machines ? That availability would immediately convert a two-machine
Windbg proposition into a one-host two-guest virtualized environment
running in a single machine.

Alberto.


On Nov 30, 7:17 am, "Maxim S. Shatskih"

Maxim S. Shatskih

unread,
Dec 1, 2009, 6:05:53 PM12/1/09
to
>machines ? That availability would immediately convert a two-machine
>Windbg proposition into a one-host two-guest virtualized environment
>running in a single machine.

Serial port virtualization is enough for this.

m

unread,
Dec 1, 2009, 9:48:04 PM12/1/09
to
IMHO, the best RT extension is to have a microcontroller on your own board
and interface with Windows using a standard DMA + IOCTL interface. That
way, you are future compatible with any version of Windows (or *nix) and
don't depend on any hacking extension - of course the capital cost may be
higher, but the total cost should be much lower ;)

"Kerem G�mr�kc�" <kare...@hotmail.com> wrote in message
news:eTv4fTFc...@TK2MSFTNGP05.phx.gbl...

Reply all
Reply to author
Forward
0 new messages