Exec provided functions for multitasking, memory management, and handling of interrupts and dynamic shared libraries.
Contemporary operating systems for the Motorola 68000, such as Atari TOS and SunOS used trap instructions to invoke kernel functions.
By contrast, exec function calls are made with the library jump table, and the kernel code normally executes in user mode.
[4] Linux kernel developer Linus Torvalds once described the Amiga design as cooperative,[5] even though it uses a preemptive scheduling policy.
As tasks would need to choose not to stop the preemptive mechanism this would reduce to a kind of inverted cooperative system.