#Broke Exec Scheduler
4 messages in this thread
Ben – Durn, your comments about changing the Amiga scheduler have scrolled
off AmigaUser. In the same vein, there's been an interesting discussion
lately on internet; you may already know about the topic.
It seems that until Exec V37, the scheduler had a bug wherein it _ignored_
timeslice expirations… and only switched tasks whenever some task did a
call like Signal() or Wait(), which inherently call Reschedule().
Gee, sounds just like the Mac Multifinder so far :-). No auto
timeslicing!! This also caused extremely poor CLI CON:output response,
because a background cpu-bound program at the same priority could eat most
of the cpu time.
Fortunately, the input.device wakes up 10 times a second and does a
PutMsg(), causing a reschedule… and this has accidentally allowed fairly
normal preemptive multitasking to occur all these years (I suppose that
just moving the mouse also helped at times).
Or so it's been explained, and the bug was confirmed by a Commodore person.
I may edit and upload the whole thread if there's interest. cheers – kevin
Kevin,
Are you being deliberately obtuse or……..? No, I've held
conversations with you before and this must just be chaff.
Q: What does 'time-slicing' have to do with pre-emptive scheduling??
A: Nothing at all.
Hi Vic,
What does timeslicing have to do with preemptive? Well, it sometimes
causes the preemption 🙂 But I agree with you, my wording used (what I
thought was obviously) a shorthand form. It's too easy to get used to a
discussion on one net and carry the same abbreviated phraseology over to
another <sigh>.
I figured everyone would know what I meant. Heck, even the Commodore
engineer was using "preemptive" as shorthand to mean tasks got to
reschedule every so often because of a constant trigger. But that's okay,
I admire nitpicking, being a nitpicker myself <grin>. So change…
"allowed fairly normal preemptive multitasking", to…
"allowed the timesliced, preemptive, priority-based, interrupt-driven
multitasking scheduling to operate fairly closely, but not exactly, to what
was always defined as normal operation by the Exec manuals."
Whew. Shorthand is much easier than being deliberately obtuse, I assure
you! Thanks for pointing out the need for more exact phrasing. cheers –
kevin
GEEZ, I kinda liked just plain Preemptive better <G>
Craig Glaser (Software Etc Milwaukee) – via Whap!