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.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!pt!sei!sei.cmu.edu!firth From: firth@sei.cmu.edu (Robert Firth) Newsgroups: comp.lang.ada Subject: Re: Microsoft OS/2 -- Ideal for Ada Message-ID: <1624@aw.sei.cmu.edu> Date: Tue, 16-Jun-87 08:50:35 EDT Article-I.D.: aw.1624 Posted: Tue Jun 16 08:50:35 1987 Date-Received: Sun, 21-Jun-87 06:32:31 EDT References: <8706130340.AA00283@rand-unix.arpa> <928@bloom-beacon.MIT.EDU> Sender: netnews@sei.cmu.edu Reply-To: firth@bd.sei.cmu.edu.UUCP (PUT YOUR NAME HERE) Distribution: world Organization: Carnegie-Mellon University, SEI, Pgh, Pa List-Id: In article <928@bloom-beacon.MIT.EDU> martillo@athena.mit.edu (Yakim Martillo) writes: >The correct question is whether the language implementer should >be mapping an Ada task into a Unix fork... >Providing language level tasking by simulating non-existent tasking >instructions should be no more than a couple of days work for the >compiler writer. The implied criticism of Unix in this article is >gratuitous and implies a lack of understanding. I agree that it is inappropriate to map Ada tasks into Unix processes. For one thing, the overhead is insupportable. Unfortunately, the alternative doesn't work either. Two serious problems (a) Unix does not provide asynchronous IO to a process. If one Ada task does a read() from the terminal, the whole program blocks. And you thought polling died out in the '60s? (b) A large number of Unix system calls are not reentrant. If one Ada task is suspended in a malloc(), chaos can ensue. These problems (and others) cannot be fixed by the compiler writer. All he can do is curse Unix (and rightly so, in my opinion) for a grossly simplistic view of what "computation" is.