comp.lang.ada
 help / color / mirror / Atom feed
From: firth@sei.cmu.edu (Robert Firth)
Subject: Re: Microsoft OS/2 -- Ideal for Ada
Date: Tue, 16-Jun-87 08:50:35 EDT	[thread overview]
Date: Tue Jun 16 08:50:35 1987
Message-ID: <1624@aw.sei.cmu.edu> (raw)
In-Reply-To: 928@bloom-beacon.MIT.EDU

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.

  reply	other threads:[~1987-06-16 12:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1987-06-13  0:06 Microsoft OS/2 -- Ideal for Ada Herm Fischer
1987-06-15 11:40 ` martillo
1987-06-16 12:50   ` Robert Firth [this message]
1987-06-16 22:24     ` martillo
1987-06-17  4:14     ` Mark I. Himelstein
1987-06-17 22:13       ` Yakim Martillo
  -- strict thread matches above, loose matches on Subject: below --
1987-06-17 16:28 "VAXR::IVANOVIC"
1987-06-19 11:33 ` martillo
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox