From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: Ada Task priorities
Date: 1997/01/26
Date: 1997-01-26T00:00:00+00:00 [thread overview]
Message-ID: <dewar.854313404@merv> (raw)
In-Reply-To: kmradke-2601971335300001@dip7.inav.net
Kevin asked
Can one guarantee how tasks at different priority
levels will be executed with respect to eachother?
(Speaking in both ada83 and ada95 terms...)
Yes, Annex D gives absolute rules on how priorities operate
in Ada 95. I do not care to discuss Ada 83 rules at this stage!
Can one guarantee that if all 3 tasks are eligible for execution
at the same time, that task a will finish it's work before
task b begins to run, and task c will only run after both
tasks a and b finish? (Assuming no tasks rendezvous with
other tasks during this time?)
I suppose even OS calls would make this highly platform dependent.
Of course not, think multiprocessors for a moment!
The ada83 RM seems to be pretty explicit about requiring "The
highest priority eligible task must be executing at any given
time", but the ada95 RM seems less verbose about this. Even
annex D doesn't seem to require this. (Unless I missed something
obvious, which I probably have...)
The Ada 95 requirements are FAR more explicit. Read up on the meaning
of FIFO_Within_Priorities dispatching model.
My personal opinion is that using assumptions about priorities like this
is just asking for trouble, but I thought I would get other people's opinions
on this...
On the contrary, there are many approaches, e.g. rate monotonic scheduling
which absolutely rely on the invariants of priorities being observed
accurately, and in particular on the avoidance of priority inheritance.
next prev parent reply other threads:[~1997-01-26 0:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-01-26 0:00 Ada Task priorities Kevin Radke
1997-01-26 0:00 ` Jonathan Polley
1997-01-27 0:00 ` Geert Bosch
1997-01-26 0:00 ` Robert Dewar [this message]
1997-01-28 0:00 ` Robert I. Eachus
1997-01-27 0:00 ` Michael F Brenner
1997-01-28 0:00 ` Kevin Radke
1997-01-27 0:00 ` Geert Bosch
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox