The system I'm working on is running in Windows 3.11. It was written to be a multitasking system consisting of six DOS apps and one Windows app. These apps though, were NOT written to be cooperatively multitasked, they are each a continuous loop and at no time release the processor. Somehow the system has been working but the question remains, if the apps don't release the processor, how does it get passed onto the next task? I've been hearing that windows grabs the processor from a task when it executes I/O operations, is that true and what operations do allow windows to pass the processor on?