comp.lang.ada
 help / color / mirror / Atom feed
* Re: GNAT R/T Annex and Win95
@ 1996-04-19  0:00 Marin David Condic, 407.796.8997, M/S 731-93
  1996-04-20  0:00 ` Wiljan Derks
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Marin David Condic, 407.796.8997, M/S 731-93 @ 1996-04-19  0:00 UTC (permalink / raw)


Robert Dewar <dewar@CS.NYU.EDU> writes:
>
>Ada 95 does not require run-till-blocked semantics unless the RT annex
>is supported fully. Not all OS's can support the real time annex, and
>clearly GNAT on such a system does not support the annex (this is
>assuming tasks are mapped to threads). On NT, you can map to the
>real time threads, and all is well, but I don't know if this applies
>to Win95. Anyway, Greg, you are making undocumented assjmptions here!
>
    Here's an interesting question which we've been thinking about
    around here a lot:

    Do you consider Windows NT capable of being a "realtime" operating
    system? (It doesn't seem to be advertised as such.... yet.)

    We'd like to build some of our data systems and ground support
    systems around Ada and NT, but we're not sure we can get the
    needed behavior out of it for a realtime system. (GNAT might even
    be usable here since most of this is "in house" development and
    not a contract deliverable. More leeway with what you do in this
    case.)

    We need to know things like "If I execute a delay statement, will
    I wake up and have a deterministic span of time between the clock
    going off and my code resuming?" Similar questions for interrupt
    processing and such. Or "will the OS dynamically rescale my task
    priorities and screw everything up?" Or priority inversions that
    can occur if a low priority thread uses an uninterruptable OS
    routine. Lots of things are uncertain about NT WRT its use as a
    realtime OS.

    (Of course, you can always buy a processor that executes a
    quintillion instructions per second and hope the latencies never
    get big enough to matter! ;-)

    Opinions? I'd really like to have some best guesses to pass on to
    the folks here who do these sort of systems.

    Pax,
    Marin

Marin David Condic, Senior Computer Engineer    ATT:        407.796.8997
M/S 731-93                                      Technet:    796.8997
Pratt & Whitney, GESP                           Fax:        407.796.4669
P.O. Box 109600                                 Internet:   CONDICMA@PWFL.COM
West Palm Beach, FL 33410-9600                  Internet:   MDCONDIC@AOL.COM
===============================================================================
    "You spend a billion here and a billion there. Sooner or later it
    adds up to real money."

        --  Everett Dirksen
===============================================================================




^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: GNAT R/T Annex and Win95
@ 1996-04-23  0:00 Marin David Condic, 407.796.8997, M/S 731-93
  1996-04-23  0:00 ` Theodore E. Dennison
  0 siblings, 1 reply; 19+ messages in thread
From: Marin David Condic, 407.796.8997, M/S 731-93 @ 1996-04-23  0:00 UTC (permalink / raw)


"Theodore E. Dennison" <dennison@ESCMAIL.ORL.MMC.COM> writes:
>A straight NT question in an Ada group, huh? Oh well...
>
>When you say "real-time", typically I think of a system with a clock
>which is capable of generating software iterrupts every 10msec or
>better, and some way of knowing when you have failed to service
>an interrupt.
>
    Well, not quite a "straight NT question." It's related to using
    Ada & WNT in real-time data acquisition systems. A quality
    compiler capable of real-time work may be pathetic in behavior if
    the underlying OS doesn't support what you need to do the job.

    Around here, 10mSec is considered pretty slow. For some of our
    monitor equipment, we are running in the neighborhood of 10mSec to
    acquire data off of a bus. But it's not at all uncommon to see
    1mSec interrupts floating about in many apps. (Not many of them
    would be targets for a WNT environment - but a WNT app may see
    data from such systems and may need that sort of granularity from
    clocks, etc.)

    Also, in most of the things we do around here, failing to service
    an interrupt is not always an option. Some systems can tolerate
    this and others can't.

>
>The second is the "Multimedia Timer". This timer allows you to define
>a callback that will get called directly by an interrupt, without any
>message queue processing overhead. The resolution is said to be
>"about 16 (Intel) milliseconds". Whatever that means, you can get the
>exact resolution on your system via a call to "timeGetDevCaps". (Oddly
>enough, Microsoft's example uses a resolution of 5 milliseconds) This
>is a little more useful, but still not what we would like to see.
>
    That's useful to know about the clock. Would you happen to know if
    this is the mechanism used by GNAT (or other implementations) for
    the "delay" statement?

    I think that one of our biggest concerns is not necessarily clock
    resolution, but more one of behavior in a non-dedicated
    environment. Some of our systems run stand-alone and in such a
    case you can generally make things work because there won't be any
    suprises. But in other systems, we may be collecting data in
    real-time from an engine test and an operator might be using the
    same computer system to run a variety of applications
    simultaneously with the engine test. We've got to insure that the
    real-time process is still going to respond properly because we
    can't afford to miss transient data or events. We may need to
    terminate a test based on transients and folks aren't generally
    amused if they have to sweep their engine up off the floor because
    the OS quit servicing the real-time process to do some
    uninterruptable job for a low priority background process.

    That's the sort of question which is being asked around here
    regarding WNT's suitability for our applications. And of course if
    WNT has mechanisms to do the job, you need to feel comfortable
    that your language mechanisms map nicely to this as well.

    Thanks for the feedback.

    Pax,
    Marin

Marin David Condic, Senior Computer Engineer    ATT:        407.796.8997
M/S 731-93                                      Technet:    796.8997
Pratt & Whitney, GESP                           Fax:        407.796.4669
P.O. Box 109600                                 Internet:   CONDICMA@PWFL.COM
West Palm Beach, FL 33410-9600                  Internet:   MDCONDIC@AOL.COM
===============================================================================
    "If you can count your money, you don't have a billion dollars."

        --  J. Paul Getty
===============================================================================




^ permalink raw reply	[flat|nested] 19+ messages in thread
* GNAT R/T Annex and Win95
@ 1996-04-16  0:00 Greg Bond
  1996-04-17  0:00 ` Tom Griest
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Greg Bond @ 1996-04-16  0:00 UTC (permalink / raw)


My understanding is that Win95 uses a timesliced scheduling policy for 
threads, and that GNAT tasks are mapped to Win95 threads. How is 
GNAT's fixed priority preemptive scheduling policy supported if this 
is the case?

--
* Greg Bond                         * Dept. of Electrical Eng.  
* email: bond@ee.ubc.ca             * Univ. of British Columbia      
* voice: (604) 822 0899             * 2356 Main Mall                 
* fax:   (604) 822 5949             * Vancouver, BC              
* web: http://www.ee.ubc.ca/~bond   * Canada, V6T 1Z4




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~1996-04-27  0:00 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-04-19  0:00 GNAT R/T Annex and Win95 Marin David Condic, 407.796.8997, M/S 731-93
1996-04-20  0:00 ` Wiljan Derks
1996-04-20  0:00 ` Robert Dewar
1996-04-27  0:00   ` Dave Wood
1996-04-27  0:00     ` Robert Dewar
1996-04-20  0:00 ` ADA, Windows NT and Real-Time (was GNAT R/T Annex and Win95) Brian K. Catlin
1996-04-21  0:00   ` steved
1996-04-21  0:00     ` Brian K. Catlin
1996-04-20  0:00 ` GNAT R/T Annex and Win95 Tom Griest
1996-04-22  0:00 ` Greg Bond
1996-04-22  0:00 ` Theodore E. Dennison
1996-04-23  0:00   ` Wiljan Derks
  -- strict thread matches above, loose matches on Subject: below --
1996-04-23  0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-04-23  0:00 ` Theodore E. Dennison
1996-04-16  0:00 Greg Bond
1996-04-17  0:00 ` Tom Griest
     [not found] ` <4l2sliINNl7m@ra.dept.cs.yale.edu>
1996-04-18  0:00   ` Dale Pontius
1996-04-18  0:00 ` Robert Dewar
1996-04-22  0:00   ` Greg Bond

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox