comp.lang.ada
 help / color / mirror / Atom feed
From: Ted Dennison<dennison@telepath.com>
Subject: Re: Ada OS Kernel features
Date: Wed, 05 Sep 2001 20:17:57 GMT
Date: 2001-09-05T20:17:57+00:00	[thread overview]
Message-ID: <VLvl7.5404$4z.21201@www.newsranger.com> (raw)
In-Reply-To: 9n5n33$ke5$1@nntp9.atl.mindspring.net

In article <9n5n33$ke5$1@nntp9.atl.mindspring.net>, Brian Catlin says...
>
>An isochronously scheduled task means that the task will get a fixed amount of
>CPU time over time (think of it as getting a fixed percentage of the CPU over
>time).  Supporting isochronous tasks is a requirement if you want to be able to
>handle streaming multimedia, such as audio or video.  A simple way to implement

Ahhh. That explains it. The multimedia folks do seem to like that term. They
used it in pretty much the same sense in the FireWire spec (reserving a % of the
bus bandwidth). 

However, I don't see anything in there that really speaks about jitter. Perhaps
jitter reduction (making sure the task starts regularly at the exact same time
every cycle) is just an implementation detail they don't like to talk about
explicitly? 

The only easy way I've found to prevent jitter is to schedule a task to be the
first one that runs after the clock tick. Clearly the amount of tasks one can
use this solution on is limited by the product of your clock period and the task
frequency (eg: 240Hz clock w/ 60Hz threads gives you at most 4 possible
jitter-free tasks).

However, I heartily agree that the scheduling algorithm would need to be
different for RT and non-RT tasks.

>Yes, it makes them more difficult to debug, but placing the drivers in the
>kernel has several benefits:
>1. Processing an I/O request requires access to privileged system routines and
..
>2. Putting drivers in user-mode means increasing the number of transitions
..
>3. A driver will need access to the requesting process' address space, but if
..

Interesting. But I'm pretty sure that Mach puts *all* device drivers into user
space, as well as large parts of the kernel.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



  reply	other threads:[~2001-09-05 20:17 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-05  5:58 Ada OS Kernel features Brian Catlin
2001-09-05 10:15 ` Jacob Sparre Andersen
2001-09-05 11:16 ` Larry Kilgallen
2001-09-05 17:06   ` Brian Catlin
2001-09-06 14:35     ` Marin David Condic
2001-09-07  9:31       ` Tarjei T. Jensen
2001-09-05 17:55   ` David Starner
2001-09-05 18:42     ` Darren New
2001-09-12  6:47   ` Mats Karlssohn
2001-09-05 14:04 ` Ted Dennison
2001-09-05 17:23   ` Brian Catlin
2001-09-05 20:17     ` Ted Dennison [this message]
2001-09-05 21:10       ` Brian Catlin
2001-09-06  6:45         ` Tarjei T. Jensen
2001-09-06  6:56           ` Brian Catlin
2001-09-06 14:05             ` Ted Dennison
2001-09-05 16:02 ` Alfred Hilscher
2001-09-05 16:19   ` Jacob Sparre Andersen
2001-09-05 17:58     ` Brian Catlin
2001-09-05 17:44   ` Brian Catlin
2001-09-05 17:58     ` Darren New
2001-09-05 18:51     ` Larry Kilgallen
2001-09-05 19:25     ` chris.danx
2001-09-05 20:07       ` Darren New
2001-09-05 20:14       ` Larry Kilgallen
2001-09-06 13:45         ` Alfred Hilscher
2001-09-06 18:06         ` chris.danx
2001-09-06 19:41           ` Larry Kilgallen
2001-09-06 22:32             ` chris.danx
2001-09-07 11:04               ` Larry Kilgallen
2001-09-07  8:04           ` Dmitry Kazakov
2001-09-07  8:18             ` Mattias Svensson
2001-09-07 12:40               ` Dmitry Kazakov
2001-09-12  7:12               ` Mats Karlssohn
2001-09-05 20:18       ` Brian Catlin
2001-09-06  6:48         ` Ole-Hjalmar Kristensen
2001-09-06  6:59           ` Brian Catlin
2001-09-10  7:32             ` Ole-Hjalmar Kristensen
2001-09-06 13:42     ` Alfred Hilscher
2001-09-07  8:13       ` Dmitry Kazakov
2001-09-08  3:55     ` Kenneth Almquist
replies disabled

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