From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,894846be18e92713 X-Google-Attributes: gid103376,public From: labtek@cs.yale.edu (Tom Griest) Subject: Re: GNAT R/T Annex and Win95 Date: 1996/04/20 Message-ID: <4lc039INNsl0@RA.DEPT.CS.YALE.EDU>#1/1 X-Deja-AN: 150566790 references: <96041916380674@psavax.pwfl.com> organization: Yale University Computer Science Dept., New Haven, CT 06520-2158 newsgroups: comp.lang.ada Date: 1996-04-20T00:00:00+00:00 List-Id: "Marin David Condic, 407.796.8997, M/S 731-93" writes: [snip] > Do you consider Windows NT capable of being a "realtime" operating > system? (It doesn't seem to be advertised as such.... yet.) That's correct. NT is not designed for real-time use. But many are using it for soft real-time applications. > 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?" No. NT does not do this. Of course this means you can lock out rather important operations... but usually your real-high priority stuff should be fairly short duration. > 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. True. There are multithreaded libraries, but you always have to be aware of any locks that might be held. NT does not have priority inheritence. > (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! ;-) Or you can take a two-processor system and run NT on one and some real-time code on the other, using shared memory and interprocessor interrupts. > Opinions? I'd really like to have some best guesses to pass on to > the folks here who do these sort of systems. In the end it depends on two things: 1) what happens if you miss a deadline 2) how much laxity do you have in your timeline? If the answer to #1 is: loss of life/property, I'd recommend not using NT. On the other hand, if it is system runs a little slower then you're probably ok depending on #2. -Tom