comp.lang.ada
 help / color / mirror / Atom feed
From: mcsun!uknet!yorkohm!minster!ken@uunet.uu.net
Subject: Re: Ada delay
Date: 18 Sep 92 01:11:45 GMT	[thread overview]
Message-ID: <716778704.10211@minster.york.ac.uk> (raw)

Amir Michail (amichail@plg.uwaterloo.ca) wrote:
: How is the Ada delay statement implemented?  I suppose it uses a hardware 
: timer coupled with a clock server, but this would mean that the time
: taken for a delay is unbounded (since we have to search an ordered list
: of tasks).  If this is true, then how can one possibly use it for
: realtime scheduling of periodic tasks??

Usually there is a list of tasks waiting on a delay queue, which is
regularly polled by a clock timer (1ms interval, say). Every time this
interrupts the queue is examined for tasks which should now be placed in the
run queue. The time delay isn't unbounded, since there is a maximum length
of the queue. Furthermore, since tasks are periodic they will only need to
be removed from the delay queue once per period. Knowing the period of each
task gives the maximum overheads in a given time interval, and hence a bound
on the overheads.

There are other more sophisticated approaches.

--
Ken Tindell             Internet      : ken@minster.york.ac.uk
Computer Science Dept., Local FTP site: minster.york.ac.uk
York University,        Tel.          : +44-904-433244         
YO1 5DD, UK             Fax.          : +44-904-432708

             reply	other threads:[~1992-09-18  1:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-09-18  1:11 mcsun!uknet!yorkohm!minster!ken [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-09-21 13:43 Ada delay John Goodenough
1992-09-21  2:40 H.Shrikumar{shri@ncst.in}
1992-09-19 17:56 Gary Funck
1992-09-18  9:05 Guangxing Li
1992-09-17 17:45 Bob Kitzberger
1992-09-17 15:04 Jorge Luis Diaz-Herrera
1992-09-17 14:26 cis.ohio-state.edu!news.sei.cmu.edu!firth
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox