Using preemptive multitasking

Anything QL Software or Programming Related.
User avatar
tofro
Font of All Knowledge
Posts: 3137
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Using preemptive multitasking

Post 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.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
Derek_Stewart
Font of All Knowledge
Posts: 4780
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Using preemptive multitasking

Post 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


Regards, Derek
User avatar
Peter
Font of All Knowledge
Posts: 2461
Joined: Sat Jan 22, 2011 8:47 am

Re: Using preemptive multitasking

Post 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.


User avatar
Peter
Font of All Knowledge
Posts: 2461
Joined: Sat Jan 22, 2011 8:47 am

Re: Using preemptive multitasking

Post 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.


Post Reply