Page 2 of 2

Re: Using preemptive multitasking

Posted: Thu Jun 26, 2025 6:22 am
by tofro
Well, TRAP #0 is especially designed to suppress multitasking and switch off the scheduler - It's the QDOS way to avoid expensive mechanisms like mailboxes and semaphores you'd otherwise need to sync jobs with each other.

@Derek Jobs will only be blocked from concurrent access to the screen when the Pointer Environment is loaded. "Standard" QDOS will happily allow concurrent jobs to access (and garble) the same (or overlapping) screen channels without blocking anything.

Re: Using preemptive multitasking

Posted: Thu Jun 26, 2025 11:14 am
by Derek_Stewart
tofro wrote: Thu Jun 26, 2025 6:22 am @Derek Jobs will only be blocked from concurrent access to the screen when the Pointer Environment is loaded. "Standard" QDOS will happily allow concurrent jobs to access (and garble) the same (or overlapping) screen channels without blocking anything.
Thanks for the clarification, I will have read all the books again

Re: Using preemptive multitasking

Posted: Thu Jun 26, 2025 12:10 pm
by Peter
tofro wrote: Thu Jun 26, 2025 6:22 am @Derek Jobs will only be blocked from concurrent access to the screen when the Pointer Environment is loaded. "Standard" QDOS will happily allow concurrent jobs to access (and garble) the same (or overlapping) screen channels without blocking anything.
I forgot a lot, but this is a QDOS characteristic I remember well. :) Even if "ecdhe" had loaded the PE, I doubt he is using channels at all. His interest in syncing with video output suggest that he directly writes to video memory - which even the PE won't block.

Re: Using preemptive multitasking

Posted: Thu Jun 26, 2025 12:30 pm
by Peter
ecdhe wrote: Wed Jun 25, 2025 11:34 pm Just like RAM conflict can happen quite easily as the 6800X doesn't support protected mode.
The whole 68K family never had anything directly comparable to the Intel 80286+ "protected mode", but that does not mean "RAM conflict can happen quite easily". The 68K from the very beginning supported supervisor and user modes to do a similar thing. Maybe you refer to the concept of protected virtual addressing via MMU, which is available from MC68030 upward, and was used by the QL compatibles Q40 and Q60 - but only under Linux.