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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,98caa5b030058ecf X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-10-31 03:21:19 PST Newsgroups: comp.lang.ada Path: bga.com!news.sprintlink.net!EU.net!sun4nl!dascnl!bambam!rzy From: rzy@dasc.nl (Rudy Zijlstra) Subject: Re: Say it isn't so! (Formerly: Ada replacements for DOS I/O) Message-ID: Organization: Data Sciences B.V. References: <2EB14997@SMTPGATE2.STRATCOM.AF.MIL> Date: Mon, 31 Oct 1994 10:36:45 GMT Date: 1994-10-31T10:36:45+00:00 List-Id: "Bennett, Chip (KTR) ~U" writes: >Chris Warwick wrote: >> We just got burned on a project using Alsys Ada. Seems we had assumed that >> a multi-tasking Ada program would perform I/O is parallel with other >> processing. The system service call actucally halts all processing in the >> program until the system service is complete... >> I don't mean to burn Alsys, since the bug(?) also exists in the Verdix >> compiler we are using. The difference is the Verdix is for Unix so we just >> sidestepped the problem by not using Ada tasks... >We use SunAda (aka Verdix) with Motif. Does this mean that if an >application is drawing to the screen and number crunching at the same time >in a separate Ada task, that the "background" task is going to be suspended >for the same I/O interrupts that the "foreground" task is being suspended? >Does everyone else consider this acceptable, or am I the only one that is >appalled? The problem you have i running two shedulers above each other. The OS schedeuler and the Ada internal scheduler. The OS scheduler knows about the fact that you are multithreaded (or however you want to call it) and when the Ada (multi)task performs a (blocking) I/O, the OS scheduler correctly blocks it. Keep in mind it knows (righly and correctly) nothing about the Ada scheduler.... In other words, unless you are running Ada 'native' on the target hardware, i.e. without supporting OS, don't use tasking in Ada unless you are prepared to accept penalties like these. Rudy Zijlstra #include This might not be the view of my employer.