No, it doesn't.
And we've discussed this before on this site.
It has just the type of task switching scheme I mentioned.
Doubt me?
Yes, I do doubt you. I have no idea where you get the idea from that AmigaOS has a "cooperative" multitasking system rather than preemptive. The original MacOS was a cooperative multitasking system where you had to sprinkle your code with calls to yield the CPU. AmigaOS has no such function, because the OS will
preemptively switch between tasks on a prioritized round-robin basis. I've never heard anyone claim that it's not preemptive... until now.
Sure, it has no "fairness" algorithm** (unless you have Executive installed) and setting the task priority to max almost kills multitasking. However, try setting a CPU intensive task to REALTIME_PRIORITY_CLASS, THREAD_PRIORITY_TIME_CRITICAL in Windows and see what happens. It's not pretty... Neither of these aspects demote AmigaOS from preemptive to cooperative, though.
Find a module in Amiga OS that sets the priority level.
exec.library->SetTaskPri() sets a task's priority. Or are you asking something else?
Hans
** NOTE: AmigaOS 4.x has a "pluggable" scheduler, so it could be updated with different scheduling algorithms in future.