* ADA on UNIX
@ 1990-05-29 14:06 Paulo Rosado
0 siblings, 0 replies; 4+ messages in thread
From: Paulo Rosado @ 1990-05-29 14:06 UTC (permalink / raw)
I would like to have references on ADA compilers on top of UNIX or
clones (ULTRIX, DG/UX, etc). Also comments on reliability and
performance in different hardware platforms would be appreciate.
Answers should be directly emailed to me. If there is enough interest
i'll summarize and post it.
------------
paulo rosado _ Centro de Inteligencia Artificial Uninova
email: pr@fctunl.rccn.pt -- pr@unl.uucp
snail: Fac. de Ciencias e Tecnologia-UNL, 2825 Monte de Caparica, PORTUGAL
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Ada on Unix
@ 1989-10-03 17:27 Keith Shillington @lizard
0 siblings, 0 replies; 4+ messages in thread
From: Keith Shillington @lizard @ 1989-10-03 17:27 UTC (permalink / raw)
Dave Emery asks:
> Does this mean that Telesoft supports non-blocking IO from multiple
> tasks doing IO in a single Unix process? (i.e. if one task calls
> text_io.put_line, will other tasks in the same program/process still
> run?)
Not exactly. What we support is treating I/O as a scheduling action.
This requires explicit action from the programmer to cause it to happen.
It is not preemptive. It is not automatic. It does allow one task to
wait for a completion of an input or output to a terminal, while other
tasks continue to process. I believe this is implemented using a
'fork'.
I want to tread lightly here, as I am sensitive to the non-proprietary
nature of this medium. If you want more information; let us continue
this conversation via mail.
Keith Shillington, TeleSoft Customer Support
^ permalink raw reply [flat|nested] 4+ messages in thread
* Ada on Unix
@ 1989-10-02 20:48 Emery
1989-10-04 18:31 ` John Stafford
0 siblings, 1 reply; 4+ messages in thread
From: Emery @ 1989-10-02 20:48 UTC (permalink / raw)
> voder!pyramid!infmx!bgolden@ucbvax.Berkeley.EDU (Bernard Golden) writes:
>Keith Shillington (I think that's the right last name) from Telesoft called
>me and we had a very good discussion regarding ADA and its capabilities
>on UNIX. It appears that no capabilities of ADA are sacrificed by running
>on UNIX, although UNIX itself provides some facilities (e.g., message queues)
>that might make some language features not so important.
Does this mean that Telesoft supports non-blocking IO from multiple
tasks doing IO in a single Unix process? (i.e. if one task calls
text_io.put_line, will other tasks in the same program/process still run?)
If so, I'd be very interested in hearing how that works. We've
discussed this at great detail in the POSIX-Ada binding WG.
dave emery
emery@aries.mitre.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Ada on Unix
1989-10-02 20:48 Emery
@ 1989-10-04 18:31 ` John Stafford
0 siblings, 0 replies; 4+ messages in thread
From: John Stafford @ 1989-10-04 18:31 UTC (permalink / raw)
> > voder!pyramid!infmx!bgolden@ucbvax.Berkeley.EDU (Bernard Golden) writes:
>
> >Keith Shillington (I think that's the right last name) from Telesoft called
> >me and we had a very good discussion regarding ADA and its capabilities
> >on UNIX. It appears that no capabilities of ADA are sacrificed by running
> >on UNIX, although UNIX itself provides some facilities (e.g., message queues)
> >that might make some language features not so important.
>
> Does this mean that Telesoft supports non-blocking IO from multiple
> tasks doing IO in a single Unix process? (i.e. if one task calls
> text_io.put_line, will other tasks in the same program/process still run?)
>
> If so, I'd be very interested in hearing how that works. We've
> discussed this at great detail in the POSIX-Ada binding WG.
>
> dave emery
> emery@aries.mitre.org
Do you mean non-blocking I/O to terminals?, pipes?, sockets?, disk
files?, all of the above?. Or do you mean true asynchronous I/O (which
to me isn't exactly the same as non-blocking I/O)?
I can't speak for Telesoft, but it isn't that hard to do simple
non-blocking I/O "adequately" in a single Unix process running multiple
Ada tasks.
The question of whether or not it can be done absolutely "right" I leave
open. Most Unix(tm) systems don't define very well the effect of
signals on non-blocking I/O calls to "slow" files. Signals are
typically used to cause tasking switching. Thus I presume that data can
be lost under some circumstances when using non-blocking I/O in the
presence of signals.
Given that caveat, HP Ada under UNIX on the 9000/300 series does
non-blocking I/O from multiple tasks doing I/O in a single Unix process
for terminals and pipes. If I/O can't be completed at the moment,
another task is allowed to run, and the I/O will be reattempted later.
Disk files are presumed to never block, although they do in fact have
various response speeds (NFS is always a winner), and as such, a task
doing disk I/O will remain in control until Unix says the I/O is done.
So it isn't really asynchronous I/O, but for terminals and pipes, the
two things that are the most common cause of "blocking", it seems to be
adequate for most purposes.
Obligatory Disclaimer: I am speaking for myself based on my knowledge
of Ada/300, not as an official spokesperson for Hewlett Packard.
--
John Stafford -- Hewlett Packard California Language Lab
Internet: jws@hpda.hp.com UUCP: hplabs!hpda!jws
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1990-05-29 14:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1990-05-29 14:06 ADA on UNIX Paulo Rosado
-- strict thread matches above, loose matches on Subject: below --
1989-10-03 17:27 Ada on Unix Keith Shillington @lizard
1989-10-02 20:48 Emery
1989-10-04 18:31 ` John Stafford
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox