From: fortin@zap.UUCP (Denis Fortin)
Subject: Re: INFO-ADA Digest V88 #47
Date: 7 Mar 88 15:48:27 GMT [thread overview]
Date: Mon Mar 7 10:48:27 1988
Message-ID: <415@zap.UUCP> (raw)
In-Reply-To: 8802202149.AA07429@ajpo.sei.cmu.edu
In article <8802202149.AA07429@ajpo.sei.cmu.edu> PETCHER%SVDSD@eg.ti.COM writes:
> Mike Linnig asks:
> > Is there a value to having multiple priorities even if we don't
> > have preemptive scheduling?
>
> My answer is an emphatic YES. [...] in an embedded, real-time system
> tasks can be (and should be) designed to cooperate. This means, among
> other things, a task should not execute indefinitely, and in fact should
> be designed to complete its intended function within a predictable
> period of time.
Well, I agree that non-preemptive prioritized task scheduling makes
sense for some applications. But in order for it to work, a task has to
be able to explicitly return the control to the "scheduler" when it has
expended its time slice.
The only unobtrusive way I can see to force a rescheduling event to
occur in Ada is a "delay 0.0" statement. Unfortunately, I'm told that
some compilers treat this as a no-op and simply ignore it. Has anybody
encountered such a compiler? If so, is it legal? (section 9.6 of the LRM
does say about the delay statement: "The execution of a delay statement
evaluates the simple expression, and suspends further execution of the
task that executes the delay statement [...]")
--
Denis Fortin | fortin@zap.UUCP
CAE Electronics Ltd | philabs!micomvax!zap!fortin
The opinions expressed above are my own | fortin%zap.uucp@uunet.uu.net
next prev parent reply other threads:[~1988-03-07 15:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
1988-02-20 19:55 INFO-ADA Digest V88 #47 PETCHER%SVDSD
1988-03-01 2:25 ` Barnacle Wes
1988-03-07 15:48 ` Denis Fortin [this message]
1988-03-10 1:29 ` Barry Margolin
1988-03-10 13:28 ` Terry Westley
1988-03-10 17:13 ` Barry Margolin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox