TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: David Johnson
from: Peter Hansen
date: 1994-09-15 13:23:00
subject: Real-time

In a message on 09-15-94, David Johnson said to Peter Hansen:

DJ>IMO this type of application probably should have a dedicated
DJ>processor 

Agreed, from a purely technical point of view.  Unfortunately, economic
concerns make it much more appealing to attempt a purely software
implementation.  This is currently achieved with a custom real-time
kernel running on top of DOS and I don't need to point out the problems
with that approach.  But it _is_ cheap.  (I have gone through the same
thought process before, however, and am also working on the design of a
dedicated controller board.  CYA, I guess. :)

DJ> You could write it as ring 0 critical code though 

This is currently my _only_ option if I avoid dedicated hardware.  The
problem is that it's _very_ messy writing some of this stuff as an
interrupt.  I not only need to have an ongoing high-rate interrupt but I
also have a few tasks with fast response (but which don't execute all
that often... a shutdown routine, for example).  Under OS/2 as it works
now it seems I would have to include all the code from those few
fast-response tasks _in_ the device driver interrupt (or face 4 ms
thread dispatch delays).  This not only bloats the PDD and introduces
potentially gruesome bugs, but it also means that I no longer take full
advantage of multitasking.  Within the device driver I basically have a
single-tasking environment and have to deal again with all the
nightmares of single-tasking control algorithms...  no thanks.

PH> WPOS ... would improve the interrupt latency to such an
PH> extent that I will certainly attain my 2000 Hz without problems.

DJ>Not necessarily Peter.

Well, I agree that anything is possible, but are you just warning me not
to count on this or do you know of possible technical problems?  One of
the best reasons to go to a microkernel like Mach (as modified by IBM)
is that you get an instant reduction in interrupt latencies.  Latencies
on the order of 50-70 microseconds or less *would* let me achieve the
performance I need.

Peter Hansen  ***  Engenuity Corporation  ***  Guelph, Ontario, Canada
Internet: peter.hansen{at}canrem.com    RelayNet:->CRS    FIDO:(1:229/15)
___
 * MR/2 * ***  Learn Esperanto, the international language.  ***

--- QScan v1.12b / 01-0348

* Origin: FidoNet: CRS Online, Toronto, Ontario (1:229/15)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413
SEEN-BY: 711/430 807 808 809 934 942 712/353 623 713/888 800/1
@PATH: 229/15 3615/50 229/2 12/2442 711/409 54/54 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.