From: tfrancis@wpi.wpi.edu (Krishan M Nainani)
Subject: The ADA Rendevous
Date: 17 Aug 89 22:57:13 GMT [thread overview]
Message-ID: <3567@wpi.wpi.edu> (raw)
[1mHi[m,
I have a question about the Ada rendevous.
There are many tasks each with 1 entry and these tasks are scheduled
by calling a global scheduler from inside the entry call. So, initially any
task is chosen and its entry is accepted and somewhere within the entry there
is a call to the scheduler (which is global to these tasks). Next, the
scheduler checks a data-structure which contains the varying importances of
each task and then it executes that task's entry. This can be done.
But I am unsure as to how I can encode the following restriction which is
illustrated in the following example:
Task A was chosen to run and so it was entered at entry point AA.
Within the code of AA, there was a call to the scheduler which found that
task B is more important than task A and so task A should be suspended and
task B is entered at entry point BB. Within BB, there was a call to the
scheduler which determined that task C (entry CC) should now run. Within CC,
it was found that task A (entry AA) is the most important and should be run
now. HOWEVER, task A should be resumed at where it left off (i.e where it was
suspended). THIS IS THE PART THAT I DON'T KNOW HOW TO ENCODE IN ADA.
This seems to involve manipulating the global task queue at runtime.
I doubt if I can do this in standard Ada but is it possible to accomplish
this by interfacing to C (not Assembler) ?
[5;7mAnyone have any clues whatsoever?[m
Krishan Nainani (tfrancis@wpi.wpi.edu)
next reply other threads:[~1989-08-17 22:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1989-08-17 22:57 Krishan M Nainani [this message]
1989-08-25 20:48 ` The ADA Rendevous Roger Racine
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox