Whats the difference between preemptive and cooperative multitasking?
Cooperative multitasking relies on applications making certain calls frequently (in this case, AES calls) in order to allow the other processes a chance to become active. Preemptive multitasking gives all processes an equal chance to get control on a regular basis. The advantage of preemptive multitasking is that if an application goes into an infinite loop or does something that is computationally intensive (like ray tracing) where it doesn’t want to have to use the AES, the other applications won’t get locked-out. However, under GEM, many older applications use methods that still prevent you from getting to other applications while they are doing time-intensive tasks. An example of this is printing in Pagestream. Because GEM was originally designed using cooperative multitasking, older applications work much better with this method. The major reason Geneva’s primary mode of multitasking is cooperative is for backward compatibility. But you can use MiNT with Geneva 004 or newer to get