comp.lang.ada
 help / color / mirror / Atom feed
From: wes@wsccs.UUCP (Barnacle Wes)
Subject: Re: INFO-ADA Digest V88 #47
Date: 1 Mar 88 02:25:14 GMT	[thread overview]
Message-ID: <227@wsccs.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:
> > My question is... are we losing something here?   Is there
> > a value to having multiple priorities even if we don't
> > have preemptive scheduling?
> 
> My answer is an emphatic YES.
> [...]
> 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.  This is consistent with most
> actual embedded applications, where a processor has certain inputs producing
> data at some predictable rate, and each task has some part in processing this
> data and producing the aggregate output of the system at some required rate.

This is a workable, but simplistic viewpoint.  The C3 systems I have worked
on tended to be rather large and complicated, both in their scope and
implementation.  These systems typically had several background tasks to
execute, and in some cases, several priorities of background tasks.  To
accomplish this without pre-emptive scheduling would be very difficult,
perhaps impossible.  At any rate, *I* wouldn't want to do it :-).

Most of these systems achieved a simplicity at the low level by using
features that the system gave them.  For instance, on a system that has
it's mass storage on a rotating drum device (OK, stop that snickering NOW!)
the drum device driver is passed the address of a routine to execute when
the I/O operation has completed.  The driver does this by scheduling the
routine in the I/O call at the time when the I/O operation will be
completed.  For a variety of reasons, once this routine is scheduled, it
needs to execute ASAP according to the priority scheme used in the system.
This would be difficult to do without using pre-emption.
-- 
    /\              - " Against Stupidity,  -    {backbones}!
   /\/\  .    /\    -  The Gods Themselves  -  utah-cs!utah-gr!
  /    \/ \/\/  \   -   Contend in Vain."   -  uplherc!sp7040!
 / U i n T e c h \  -        Schiller       -     obie!wes

  reply	other threads:[~1988-03-01  2:25 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 [this message]
1988-03-07 15:48 ` Denis Fortin
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