Exec is the multitasking kernel of AmigaOS. It enabled pre-emptive multitasking in as little as 256 KB of memory (as supplied with the first Amiga 1000s). Exec provided functionality for multitasking, memory allocation, interrupt handling and handling of dynamic shared libraries.
It acts as a scheduler for tasks running on the system, providing pre-emptive multitasking with prioritized round-robin scheduling. Exec also provides access to other libraries and high-level inter-process communication via message passing. Other comparable microkernels have had performance problems because of the need to copy messages between address spaces. Since the Amiga has only one address space, Exec message passing is quite efficient. The only fixed memory address in the Amiga software (address 4) is a pointer to exec.library, which can then be used to access other libraries. Exec was designed and implemented by Carl Sassenrath. (Full article...)