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





  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