On Fri, 6 Dec 1996, Michiel Perdeck wrote:

> I am gathering ammunition to propagate the use of Ada in my company
> (CMG plc)

Hear, hear, the competition is picking up, there goes our
competitive advantage...

:-)

<on tasking in the language definition>

> I think that
> the Ada approach has the great advantage of making it possible to
> formally specify (a program is a formal specification) the concurrency
> aspect of a system.

Well, in so far these aspects are covered by the ARM, and defined in the
implementation.

> But...
>
> How does the Ada tasking map to a particular operating system?

That depends on the compiler system you are using, and the OS you are
using. It's a bit difficult to map to, say, MS-DOS processes :-)

>  Are there
> standard ways for this mapping in e.g. Unix (with and without
> lightweight processes),

Nope, certainly none you can absolutly rely on - I found this out the
hard way :-(

On my eg. Linux box GNAT tasks are implemented with the pthreads package,
but more and more I hear of Linuxers replacing it with linuxthreads.

> the well-know C/Unix constructs like fork/exec, does that have an
> equivalent in Ada?

Whatever makes you ask that ? If you stay withing the ARM, there's no
place for processes like this.

However, sometimes you do need them, what worked for me is using a Posix
binding (I used a forest subset). It lets me port code from NT to Linux
without a hitch (but note that this was fairly simple stuff).

> (And don't tell me that one can of course use OS calls in Ada.)

Ok, I won't :-))

+----------------+-------------------------------+
| Jerry van Dijk | [log in to unmask] |
| Consultant     |            Team Ada           |
| Ordina Finance |        Haarlem, Holland       |
+----------------+-------------------------------+