views:

271

answers:

5

I am doing a research about real time capabilities of non-real time systems. I am particularly interested in the timing constraints of Windows (any version except CE) and Linux (except the real time ones).

Especially my research is concentrating on the accuracy of timing on these platforms and requirements of the system to overcome the inhibiting factors (of course there are inhibiting factors!).

Could you provide some of your experience with these platforms running systems with soft/hard timing constraints? Which one (Win/Linux) is better for real time? What are the actual timing limits of these platforms?

+1  A: 

The system timer depends on the hardware clock, which is outside the operating system. Any time an OS claims to be able to support timings of greater accuracy than that, it's bluffing and using a glorified CPU cycle counter, like really old DOS games.

amphetamachine
Even the original IBMPC PIT chip has a programmable interrupt rate (that's what the "P" stands for ;) - so it's very much an OS decision how fast to have the timer interrupt it (neither Windows nor Linux program this timer to run at anything like the maximum rate that the hardware is capable of).
caf
Oh. I didn't know that... Guess that's why I'm a software geek and not a hardware geek.
amphetamachine
The hardware is the standards PC with Windows/Linux that can found in any computer store.
Victor Hurdugaci
However that hardware is notoriously inaccurate (on the order of 1 tick per million) so amphetamachine's response is relevant. The inaccuracy of the PIT chip causes PC clocks to drift by several seconds each day (unless the OS corrects for the drift by corollating with a second clock source).
Larry Osterman
/usr/sbin/ntpdate time-a.nist.gov
amphetamachine
+1  A: 

Try to use TenAsys (www.tenasys.com) INtime - This product is exactly what you need for Windows to make it Hard real time . Results are a functions of the Hardware chosen. Example : Pentium 3 , 2 GHZ - Interrupt jitter less than 1 Microsecond if you dedicate a single core to INtime , or about 5 Microsecond - if you share the core with Windows.

asgal
+1  A: 

I have also made an inquest on realtime extensions for windows and found the following products:

Here a list without order

  1. http://www.sybera.de/english/e_sybera.htm
  2. http://www.intervalzero.com/rtx.htm
  3. http://www.kithara.de/
  4. http://www.ibv-augsburg.net/de/qwin.html (Qnx and Windows on the same machine)
  5. RTOSWin http://www.kuka-rtos.com/en/products/
  6. and Intime/Tenasys mentioned earlier

There are probably many others not mentioned in this list. I have no experience in using either one of the products. But I would apprechiate any comments if someone has allready made some projects with one of the products.

schoetbi
A: 

Do you mean timer resolution, or completion guarantees? You can always run a process at a high enough IPL to get good timing granularity, but if you need to make sure a task completes within its partition, that's a different story.

TMN
A: 

I was doing some research recently about RTOS (not quite your request) and I found two valuables links: this one on wikipedia lists all RTOS and this one talks about how to choose your RTOS

Kartoch