Adaptive Domain Environment for Operating Systems
Adeos (Adaptive Domain Environment for Operating Systems) je nanokernel hardware abstraction layer (hardwarová abstraktní vrstva, zkratka HAL), nebo hypervisor, který pracuje mezi hardwarem a operačním systémem, který na něm běží. To je odlišné od jiných nanokernelů v tom, že to není jen nízká vrstva pro vnější jádro, místo toho má spouštět několik jader dohromady, což je podobné jako u virtualizačních technologií.

Adeos poskytuje flexibilní prostředí pro sdílení hardwarových prostředků mezi více operačními systémy, nebo mezi více instancemi jednoho operačního systému, což umožňuje existenci více oblastí podle priorit současně na stejném hardwaru.

Adeos byl úspěšně vložen do linuxového jádra a otevírá tím řadu možností, jako je SMP clustering, efektivnější virtualizace, patchless ladění jádra a real-time systémy pro Linux.

Neobvykle mezi HAL je, že Adeos může být načten jako Linux loadable kernel module a povolit tak jinému OS běžet spolu s ním. Ve skutečnosti byl Adeos vyvinut v rámci RTAI (Real-Time Application Interface) aby jej modularizoval a oddělil HAL od real-time jádra.

Předchozí práce
Existují dvě kategorie řešení, které umožňují více operačním systémům běžet na stejném systému. První z nich je založená na simulaci a poskytuje virtuální prostředí, pro které chcete spustit další operační systémy. Druhá navrhuje využití vrstvy v nanokernelu k tomu, aby sdílel hardware. 

V kategorii simulace existují nástroje, jako je VMware, Plex86, VirtualPC a Simos. K dispozici je také KVM, který se více podobá Adeosu, ale není RT a vyžaduje zvláštní hardwarovou virtualizační podporu. Tyto řešení se používají pro uživatele, kteří si přejí, aby spouštění aplikací, které nejsou pro jejich OS, neposkytovaly pro uživatele žádnou kontrolu nad základním operačním systémem. Simulace nebyla určena pro použití v produkčním prostředí. V kategorii nanokernel existují nástroje, jako je SPACE, vyrovnávací jádra a Exokernel. Všechny tyto možnosti budují miniaturní správu hardwarových zařízení, které lze následně použít k produkování operačních systémů. Problém tohoto přístupu je, že neřeší problém aktuálně existujících operačních systémů a jejich uživatelské základny.

Adeos řeší požadavky obou kategorií tím, že poskytuje jednoduchou vrstvu, která se vkládá pod nezměněný běžící OS a poté poskytuje požadované primitiva a postupy, které umožní více operačním systémům sdílet stejné hardwarové prostředí. Adeos se nepokouší o žádná omezení týkající se použití daného hardwaru, různými operačními systémy, více než je nezbytné pro vlastní provoz Adeos. Namísto toho, že? skutečná omezení jsou nastaveny správcem systému nebo systémovým programátorem. Myšlenka Adeos je vrátit ovládání na systémové administrátory a programátory.

Architektura 

Adeos implementuje fronty signálů. Odešle periferní signál, různé operační systémy, které jsou spuštěny v počítači se v pořadí probudí a musí se rozhodnout, zda budou akceptovat, ignorovat nebo jestli ukončí signál. Signály, které nejsou zpracovány (nebo vyřazeny) prostřednictvím OS jsou předány na další OS v řetězci. Signály, které jsou ukončovány, nejsou rozšířené do druhé etapy.

Pokud to jde, Adeos musí zajistit rovný a důvěryhodný přístup k hardwaru, že převezme kontrolu nad některými hardwarovými příkazy vydanýchi různými operačními systémy, ale nesmí jich být příliš mnoho, aby nebylo ovlivněno běžné chování různých operačních systémů. Každý OS je zahrnut v doméně, nad kterými má úplnou kontrolu. Tato doména může obsahovat vlastní adresní prostor a softwarové abstrakce, jako je proces, virtuální paměť, systémové soubory, atd. Adeos se nesnaží vnutit svoje politiky pro užívání hardwaru s výjimkou potřeby pro vlastní přežití. Stanovování politiky je ponecháno na systémovém architektovi.

Adeos přerušovací roura

Adeos používá přerušovací rouru aby, rozšířila přerušení do různých oblastí v hardwaru. Protože některé oblasti mohou být preferovány při získaní hardwarového přerušení, Adeos poskytuje mechanismus přístupu k prioritám přerušení.

Použití 
Univerzální operační systém pro sdílení zdrojů je jedním z hlavních cílů Adeos. Prostředí, které umožní několika univerzálním operačním systémům sdílet stejný hardware.

Vývoj operačních systémů je obvykle složitý proces, který někdy vyžaduje další hardware jako jsou in-circuit emulátory pro sledování hardwaru, na kterém běží operační systém. Díky systému Adeos je vývoj OS usnadněn, protože jakékoliv nevyžádané chování může být obslouženo příslušným správcem oblasti.

Externí odkazy 
 Adeos Home Page
 Adeos Workspace

Operační systémy
Virtualizační software