[comp.sys.amiga] How do we change the scheduler?

lrg7030@uxa.cso.uiuc.edu (Loren Rittle) (01/10/91)

mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
> In article <17289@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes:
>
>   In article <MWM.91Jan8110848@raven.relay.pa.dec.com> mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>
>   >Then again, I'll could decide that "true" multitasking means "no task
>   >can ever be completely blocked out, unless the user specifically
>   >allows it to happen by tagging the blocked task". That makes a lot
>   >more sense to me than just not allowing low priority tasks to starve
>   >higher priority ones. But then the Amiga doesn't have "true"
>   >multitasking.
>
>   While not every multitasking OS tries to get close to realtime response,
>   your restriction is nothing you'd expect to find in the average
>   multitasking system, realtime or not.
>
> I disagree - every multitasking OS I've worked with (sans AmigaDOS)
> either met that restriction, or met it if you never used the real-time
> facilities. They all "aged" tasks so that a low-priority CPU-bound
> task would get some cycles, even in the presence of many high-priority
> cpu-bound tasks.

Couldn't we decide to not use the real-time facilities of AmigaOS, and
replace the dispatcher with one that "ages" tasks, ala UNIX, like 
``every multitasking OS [mike has] worked with [now including AmigaOS].''

According to Tim Holloway in his lastest article in the Jan. Byte,
``Exec gives good performance with a simple time-slice dispatching
algorithm.  More complex custom algorithms can be attached in a
straightforward manner, if required.''  I assume he means via
the SetFunction() function.  Does anyone know exactly what must
be done to change the algorithm to support "aging" and some of
the other neat functions talked about (I mean, which function, not how
to change the algorithm)?  Is the current system precisely described
anywhere?  Could an Amiga developer get source to the pertinent
routines? (thought not :-(, I'll just use my commented EXEC
disassembly :-)  Any pointer are most welcome, I can summarize if
you just want to mail me.  Or, post if the info is of general
importance to this topic...

>   While what you consider to be multitasking 
>   depends on definition, a wacky restriction designed to exclude mainly the 
>   Amiga OS is silly, and you know it.
>
> Yup, I know it. To me, it looks like "true multitasking" is defined to
> exclude multifinder and similar hacks. I think that's silly.

I agree with both of you :-)
Loren J. Rittle
--
``In short, this is the absolute coolest computer device ever invented!''
                   -Tom Denbo speaking about The VideoToaster by NewTek
``Think about NewTek's VideoToaster!  Now think about the Amiga!''
Loren J. Rittle lrg7030@uxa.cso.uiuc.edu