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: "Brian K. Catlin" Subject: ADA, Windows NT and Real-Time (was GNAT R/T Annex and Win95) Date: 1996/04/20 Message-ID: <317916B0.A5C@ccmail.orl.mmc.com>#1/1 X-Deja-AN: 150514800 references: <96041916380674@psavax.pwfl.com> cc: dewar@CS.NYU.EDU content-type: text/plain; charset=us-ascii organization: Lockheed Martin Real 3D mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.01 (WinNT; I) Date: 1996-04-20T00:00:00+00:00 List-Id: Marin David Condic, 407.796.8997, M/S 731-93 wrote: > > Robert Dewar 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.) > A couple of years ago, I wrote a paper on using Windows NT for real-time systems (no, I can't send it to anyone - See the Microsoft Developer Network CDROM, where Microsoft "rewrote" my paper as "Real-Time Systems and Windows NT"). I made several measurements with a logic analyzer and some custom drivers and kernel-mode software, and found that NT is quite good for soft and even firm real-time systems. Interrupt latency (time from interrupt to starting Interrupt Service Routine) was typically less than 10 microseconds. The reason Microsoft won't publicly state that Windows NT can be used for real-time systems is two-fold: too much liability, and PC hardware varies too much. If you are thinking of using NT for real-time work, you must carefully pick your platform, and then make your own measurements on its performance. Contrary to what most people believe, PC hardware varies greatly (in some cases 5X for the same processor clock rate !). NOTE: The granularity of the timer service on PC (Intel) platforms is 10 milliseconds (ancient PC architecture standard). To build a real-time system with a small latency window (less than 1 millisecond) would require that you write your system as an NT device driver (you may also want to get a programmable timer board for fine granularity timers). But if your latency window is larger, then writing it in user-mode is fine. -Brian -- Brian Catlin, Sannas Consulting (310) 798-8930 Contracting to Lockheed Martin Real-3D (407) 356-0637 Windows NT Internals and Device Driver Consulting