TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stephen Leake <[log in to unmask]>
Reply To:
Stephen Leake <[log in to unmask]>
Date:
Wed, 16 Mar 2005 11:12:23 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (40 lines)
(feel free to post this reply in any newsgroup)

> From: Trevor Barton <[log in to unmask]>
>
> My knowledge of Ada is pretty much limited to information gleaned from
> the ongoing discussion in this group.

A better discussion forum is comp.lang.ada

> AIUI, Ada natively supports multithreading.  How is that implemented
> relative to the underlying oprtating system?  

The implementation is not dictated by the language; it is up to the
compiler vendor.

> Does it use the OS's multi-taking environmant to implement stuff
> like scheduling and task synchronisation, or does it use its own, or
> is that something that can be chosen by the user, or is it
> implemntation defined?

Some vendors use Posix threads, others use whatever the target OS
provides, others provide their own threading runtime.

_All_ of them meet the Ada standard for how Ada tasks behave. "task"
is Ada's name for "thread"; it is helpful in this context to
distinguish between the two, since they have somewhat different
semantics. Each vendor typically needs to add some "glue" on top of
the underlying thread implementation to make it meet the "task"
semantics. 

> What about Ada running on single-tasked OSs, or indeed on no OS at all?

Some vendors do that, as well.

For a list of Ada vendors, see www.adaic.com, in particular
http://www.adaic.com/compilers/comp-tool.html 

-- 
-- Stephe

ATOM RSS1 RSS2