Adeos
From Wikipedia, the free encyclopedia
Adeos (Adaptive Domain Environment for Operating Systems) is a nanokernel hardware abstraction layer that operates between a computer operating system (OS) and its underlying hardware
Adeos provides a flexible environment for sharing hardware resources among multiple operating systems, or among multiple instances of a single OS, thereby enabling multiple prioritized domains to exist simultaneously on the same hardware.
Adeos has been successfully inserted beneath the Linux kernel, opening a range of possibilities, such as SMP clustering, patchless kernel debugging and real-time systems for GNU/Linux.
Unusually among HALs, Adeos can be loaded as a Linux module to allow another OS to run along with it. In fact Adeos was developed in the context of RTAI (Real-Time Application Interface) to modularize it and to separate the HAL from the real-time kernel.
[edit] Architecture
Adeos implements a queue of signals. Each time that a peripheral sends a signal, the different operating systems that are running in the machine are awakened, in turn, and must decide if they will accept (handle), ignore, discard, or terminate the signal. Signals not handled (or terminated) by an OS are passed to the next OS in the chain.