comp.lang.ada
 help / color / mirror / Atom feed
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)

	
	

             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