How to write a System hog

Hello,

I have a question… We are writing an application which requires the complete bandwidth of most systems. We would like to take over the system. We have already pumped our application up to REALTIME_PRIORITY_CLASS, but there are still times, like when another application is brought to the forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into physical memory {prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Given that, then why are you using NT or 2000? I don’t think you can be the
hog you wanna be with the OS you have chosen, at least not easily.

You could write a kernel driver with a thread that grabs a spinlock and
never releases it, but you then won’t get back down into the application
until you release the spinlock. You could move your critical application
code into that thread … but then you have to contend with linking with the
kernel and the re-write that that will cause.

Like I said … wrong OS for what you want to do.

Gary G. Little
Sr. Staff Engineer
Broadband Storage, LLC
xxxxx@broadstor.com
xxxxx@delphieng.com

-----Original Message-----
From: Michael Uman [mailto:xxxxx@sonic.com]
Sent: Monday, March 05, 2001 3:46 PM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@delphieng.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into physical
memory {prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Embedded NT is no more a RT os than standard NT. I think you have the option
to configure the OS by selecting components etc, but the operating systes
itself is still not real-time.

Please correct me if I’m wrong.

// Johan

-----Original Message-----
From: Stas Desy [mailto:xxxxx@powernetsys.com]
Sent: den 6 mars 2001 09:21
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@esrange.ssc.se
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Venturcom’s http: Real-Time Extensions(RTX)
for Windows NT provide RTOS like feature for Embedded NT.

Ordinarily, the HAL sends the interrupts into the kernel. These
interrupts drive NT’s time service and scheduler. With Venturcom’s
modified HAL, interrupts are passed into the RTX. This allows the
RTX to schedule its real-time tasks with 100 microsecond resolution.

Niraj

-----Original Message-----
From: xxxxx@esrange.ssc.se [mailto:xxxxx@esrange.ssc.se]
Sent: Tuesday, March 06, 2001 12:29 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Embedded NT is no more a RT os than standard NT. I think you have the option
to configure the OS by selecting components etc, but the operating systes
itself is still not real-time.

Please correct me if I’m wrong.

// Johan

-----Original Message-----
From: Stas Desy [mailto:xxxxx@powernetsys.com]
Sent: den 6 mars 2001 09:21
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@esrange.ssc.se
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@netapp.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</http:>

I concur completely that NT (nor Windows CE) fit into the category of hard
realtime. However, for soft realtime, it can work, provided you can live
with things like you mentioned. As far as swapping, NT does very little if
any swapping. You probably mean paging, which most people, specially those
from Unix backgrounds, incorrectly call swapping.

You can lock pages of the working set into physical memory. I don’t recall
off-hand the exact API call at the moment. I don’t believe this is your
real problem.

If your needs are truly hard realtime, you should either consider a true
realtime OS (RTOS) or one of the NT realtime add-ons. Hard RTOSes include
Tornado (Wind River Systems) and iRMX. Realtime NT add-ons include
VenturCom and InTime (iRMX embedded under/over/around NT). Be aware that
either of these options are very costly in terms of software and learning,
so be sure you really need this level of “realtime-ness” before you decide
you must move to them.

Greg


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Oops, in my reply, I meant to say that neither NT nor Windows CE fit into
the category of hard realtime. When I read back what I wrote (after sending
it, of course) I realized that it could be taken the opposite way. I
apologize for the confusion.

Greg


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,
The ebedded NT is not only configurable. You can make it stop swapping
completely. In addition interrupt latencies are improved (this is what MS
say).
The real thing is CE - it is cheaper and way faster then any NT you know.
Actually CE 3.0 is the first hard RT OS from microsoft (less than 5mks per
interrupt, depends on CPU of course).
Regards,
Stas
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@esrange.ssc.se
Sent: Tuesday, March 06, 2001 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Embedded NT is no more a RT os than standard NT. I think you have the option
to configure the OS by selecting components etc, but the operating systes
itself is still not real-time.

Please correct me if I’m wrong.

// Johan

-----Original Message-----
From: Stas Desy [mailto:xxxxx@powernetsys.com]
Sent: den 6 mars 2001 09:21
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@esrange.ssc.se
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> -----Original Message-----

From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: den 6 mars 2001 15:11
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

I concur completely that NT (nor Windows CE) fit into the
category of hard
realtime. However, for soft realtime, it can work, provided
you can live
with things like you mentioned. As far as swapping, NT does
very little if
any swapping. You probably mean paging, which most people,
specially those
from Unix backgrounds, incorrectly call swapping.

Whereas the people coming from a VMS background can tell the difference
between paging and swapping :slight_smile: Anyway, I was under the impression that
WinCE 3.0 provided deterministic scheduling and guaranteed maximum response
times.

You can lock pages of the working set into physical memory.
I don’t recall
off-hand the exact API call at the moment. I don’t believe
this is your
real problem.

I guess you refer to VirtualLock() - but not even this guarantees that the
memory will always be in physical memory.

/ Johan


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

WinCE 3.0 does provide some real-time-like characteristics like an improved
scheduler. I would not yet call it hard real-time. With all of the things
being added into it, it will soon become as bloated as NT. That is not what
you want with a RTOS.

I concur completely about your VMS comment. VMS is one of the few GPOSes
that can be successfully used in a “firm” real-time environment. I
currently use CE 2.12. in a soft real-time application. There are many
things to be desired, but the entry price was right. We couldn’t afford the
cost and learning overhead of the hard RTOSes for this project.

Greg


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Everyone repeat after me: NT, included Embedded NT is NOT HARD REAL TIME!
Anyone trying to use it in that environment is doomed to fail after much
time and money have been invested! Also, NT does Paging, not Swapping as
its primary memory management technique.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Stas Desy
Sent: Tuesday, March 06, 2001 8:17 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi,
The ebedded NT is not only configurable. You can make it stop swapping
completely. In addition interrupt latencies are improved (this is what MS
say).
The real thing is CE - it is cheaper and way faster then any NT you know.
Actually CE 3.0 is the first hard RT OS from microsoft (less than 5mks per
interrupt, depends on CPU of course).
Regards,
Stas
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@esrange.ssc.se
Sent: Tuesday, March 06, 2001 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Embedded NT is no more a RT os than standard NT. I think you have
the option
to configure the OS by selecting components etc, but the operating systes
itself is still not real-time.

Please correct me if I’m wrong.

// Johan

-----Original Message-----
From: Stas Desy [mailto:xxxxx@powernetsys.com]
Sent: den 6 mars 2001 09:21
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into
physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@esrange.ssc.se
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Repeat after me: CE is NOT HARD REAL TIME, even 3.0. Please see my previous
post about NT not being hard real time. Also, CE does very little if any
paging and NO SWAPPING AT ALL. It can do something similar to swapping when
it hibernates a process and then somewhat pages out most of the working set,
but even then, it is not truly swapping.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Stas Desy
Sent: Tuesday, March 06, 2001 8:17 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi,
The ebedded NT is not only configurable. You can make it stop swapping
completely. In addition interrupt latencies are improved (this is what MS
say).
The real thing is CE - it is cheaper and way faster then any NT you know.
Actually CE 3.0 is the first hard RT OS from microsoft (less than 5mks per
interrupt, depends on CPU of course).
Regards,
Stas
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@esrange.ssc.se
Sent: Tuesday, March 06, 2001 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Embedded NT is no more a RT os than standard NT. I think you have
the option
to configure the OS by selecting components etc, but the operating systes
itself is still not real-time.

Please correct me if I’m wrong.

// Johan

-----Original Message-----
From: Stas Desy [mailto:xxxxx@powernetsys.com]
Sent: den 6 mars 2001 09:21
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into
physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@esrange.ssc.se
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

----- Original Message -----
From: “Gregory G. Dyess”
To: “NT Developers Interest List”
Sent: Tuesday, March 06, 2001 6:11 AM
Subject: [ntdev] RE: How to write a System hog

>…
> Realtime NT add-ons include
> VenturCom and InTime (iRMX embedded under/over/around NT). Be aware that
> either of these options are very costly in terms of software and learning,
> so be sure you really need this level of “realtime-ness” before you decide
> you must move to them.
BSQUARE has a real-time add-on for NT (TCX) that allows you to use your
existing drivers in a real-time low-latency mode without having to re-write
them. The learning curve is very straight forward. It can even be used with
a binary driver to get low-latency interrupts.

Paul Lever
xxxxx@home.com
>
> Greg
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi Greg,
So, what do you call RT OS then? In 2 recent RT projects I’ve been involved
the real-timeness of CE was just enough.
Thanx,
Stas
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Gregory G. Dyess
Sent: Tuesday, March 06, 2001 5:47 PM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Repeat after me: CE is NOT HARD REAL TIME, even 3.0. Please see my previous
post about NT not being hard real time. Also, CE does very little if any
paging and NO SWAPPING AT ALL. It can do something similar to swapping when
it hibernates a process and then somewhat pages out most of the working set,
but even then, it is not truly swapping.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Stas Desy
Sent: Tuesday, March 06, 2001 8:17 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi,
The ebedded NT is not only configurable. You can make it stop swapping
completely. In addition interrupt latencies are improved (this is what MS
say).
The real thing is CE - it is cheaper and way faster then any NT you know.
Actually CE 3.0 is the first hard RT OS from microsoft (less than 5mks per
interrupt, depends on CPU of course).
Regards,
Stas
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@esrange.ssc.se
Sent: Tuesday, March 06, 2001 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Embedded NT is no more a RT os than standard NT. I think you have
the option
to configure the OS by selecting components etc, but the operating systes
itself is still not real-time.

Please correct me if I’m wrong.

// Johan

-----Original Message-----
From: Stas Desy [mailto:xxxxx@powernetsys.com]
Sent: den 6 mars 2001 09:21
To: NT Developers Interest List
Subject: [ntdev] RE: How to write a System hog

Hi Michael,
You are trying to make NT a RT OS, which is not. You’ll better of with
embedded NT or CE.
Regards,
Stas

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Uman
Sent: Tuesday, March 06, 2001 1:46 AM
To: NT Developers Interest List
Subject: [ntdev] How to write a System hog

Hello,

I have a question… We are writing an application which requires the
complete bandwidth of most systems. We would like to take over the system.
We have already pumped our application up to REALTIME_PRIORITY_CLASS, but
there are still times, like when another application is brought to the
forefront, that our memory gets swapped out…

Does anyone know of a way to lock our processes memory into
physical memory
{prevent it from being swapped}…

Thank you,
Michael Uman


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@esrange.ssc.se
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I didn’t say CE couldn’t do real time. In fact I do “soft” real time with
it myself. I am saying that CE is not a true RTOS and cannot do hard real
time. True RTOS don’t allow things like video displays to interfere with
the interrupt handling, as CE and NT do. True RTOSes have much more
deterministic schedulers with granularities at least as fine as 1
millisecond. Most hardware running CE cannot provide accurate timing
signals that precise. CE also has interrupt latencies on the order of 7-10
microseconds just to start the ISR! That doesn’t event take into account
the 120 millisecond or so latency to get the IPT going. RTOSes have
interrupt latencies on the order of 1 microsecond or less.

There were a number of issues addressed in CE 3.0, but still not enough to
call it an RTOS. Too many things can bring CE down and there is too much
being kludged into CE now. Real RTOSes don’t have all of these apps like
Word and PocketIE. These are things to be run on client/non-real time
machines.

If you examples of true RTOSes, look at Tornado by Wind River, iRMX by
Intel/Radisys and VenturCom’s product (the name escapes me). Also look at
some of the real time extensions for CE and NT on the market. They push
NT/CE away from the hardware and correct the sloppy interrupt/hardware
handling done by NT/CE.

Just my $0.02 (US).


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

>Realtime NT add-ons include

VenturCom and InTime (iRMX embedded under/over/around NT). Be aware that
either of these options are very costly in terms of software and learning,
so be sure you really need this level of “realtime-ness” before you decide
you must move to them.

We’ve developed with VentureCom’s RTX extensions for NT, and we’ve been
very pleased with the results.
It is true that the software is costly (although once the product is
developed, runtime licenses for the operating system are available for only
a small fee).
However, the learning curve is not bad at all. You develop the RTX
application using Visual C++, with access to a C run time library, and a
set of RTX functions for accessing hardware. The documentation provided is
adequate, and code compiles without difficulty.
We were able get an NT driver ported over to RTX in the course of a day!

  • Avi

You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com