A dependable kernel design for resource isolation and protection
Abstract
Anaxagoros is microkernel designed to support dependable, concurrent execution of tasks with different safety levels, some of them having real-time constraints. Following microkernel philosophy of secure resource sharing, it allows resources to be separated into pools accessed only through a dedicated system service. This ensures spatial and behavioral protection of system resources. Anaxagoros also provides means to guarantee temporal isolation and availability when accessing the shared services. This is achieved by providing adequate kernel mechanisms, like communication with resource lending; but also by careful kernel design and implementation, like the decision to make all kernel operations of (small) constant time complexity, even on multicore architectures, thus making the kernel behavior predictable. This led to an efÞcient kernel, that does not perform any dynamic memory allocation, and is highly parallelizable. This paper presents an overview of the design and implementation of the kernel, along their higher-level rationales.