TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

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

Print Reply
Sender:
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
Subject:
From:
Nasser Abbasi <[log in to unmask]>
Date:
Fri, 6 Dec 1996 23:39:14 -0800
In-Reply-To:
<[log in to unmask]> (message from Michiel Perdeck on Fri, 6 Dec 1996 08:59:37 +0100)
X-To:
Reply-To:
Nasser Abbasi <[log in to unmask]>
Parts/Attachments:
text/plain (28 lines)
>How does the Ada tasking map to a particular operating system?

I remember reading a nice paper few months ago about a GNAT
implementation of tasks that uses pthreads, this will work
offcourse on systems that have pthreads installed.  so, an
Ada task becomes a posix thread on those systems.

On systems that do not have pthreads, I would guess Ada rtl would
use whatever the system default threads API is instead of the
pthreads API.

On Systems without kernel threads ( DOS, VAX/VMS, notice that
Alpha/VMS now have kernel threads support, and Alpha/VMS V7.1
also supports kernel threads scheduling across multi-cpu machines) ,
Ada would simply emulate tasks at the rtl level, i.e. all threads
would run/schedule tasks in the process user mode since no
kernel threads scheduling exist on that system, it would have to be
all done in the rtl (each thread gets a stack, place to save process
register set when doing threads contect switching , thread control
block etc.., all managed by the Ada rtl, using system supplied timer tick
etc...)

Nasser
--
Nasser Abbasi. Perkin Elmer - Applied BioSystem division.
Development of DNA and Protein analysis software. C/C++/UNIX.
email:  [log in to unmask]

ATOM RSS1 RSS2