CompuServe Thread

#Broke Exec Scheduler

4 messages in this thread
#12725From: Kevin DarlingJul 31, 1991 4:31 AM
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
#12768From: Vic WagnerJul 31, 1991 7:45 PM
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.
#12792From: Kevin DarlingAug 1, 1991 1:31 AM
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
#12843From: Software EtcAug 2, 1991 1:50 AM
GEEZ, I kinda liked just plain Preemptive better <G> Craig Glaser (Software Etc Milwaukee) – via Whap!