Google utvecklar MicroFuchsia-miljön, som inkluderar en nedskuren version av operativsystemet Fuchsia, optimerad för att köras i virtuella maskiner på Android-plattformen. Ändringar för att stödja MicroFuchsia har redan börjat tas emot i Androids kodbas. För att köra virtuella maskiner med MicroFuchsia kommer det att användas det tillagda ramverket AVF (Android Virtualization Framework) som har implementerats på en hypervisor KVM-basis och verktyget crosvm.
Tidigare använde Google AVF för att köra miljön "Microdroid", som användes för att isolera tredjeparts systemkomponenter i Android, samt experimenterade med att köra gästsystem med Chromium OS. Anledningen till att MicroFuchsia förbereds för Android har fortfarande inte meddelats, men det antas att Google utvecklar en mer effektiv och minimal miljö för isolerad körning av tjänster i Android, som konsumerar mindre resurser än Microdroid-miljön baserad på Androids systemkomponenter och Linux-kärnan.
Fuchsia bygger på mikro-kärnan Zircon, baserad på arbetet från projektet LK, utvidgad för användning på olika klasser av enheter, inklusive smartphones och persondatorer. Zircon utvidgar LK med stöd förprocesser och delade bibliotek, användarnivå, objektbehandlingssystem och säkerhetsmodell baserad på capability. Drivrutiner implementeras som dynamiska bibliotek som körs i användarrummet, laddas av processen devhost och hanteras av enhetschefen (devmg, Device Manager).
Vid laddning används en systemhanterare som inkluderar appmgr för att skapa en initial programmiljö, sysmgr för att forma laddningsmiljön och basemgr för att konfigurera användarmiljön och organisera inloggning. För att säkerställa säkerhet erbjuds ett avancerat sandboxisoleringssystem, där nya processer inte har tillgång till kärnobjekt, inte kan allokera minne och inte kan köra kod, och för åtkomst till resurser används ett namnrymdssystem som definierar tillgängliga behörigheter. Plattformen erbjuder ett ramverk för att skapa komponenter, som är program som körs i sin egen sandbox och som kan interagera med andra komponenter via IPC.
Källa: opennet.ru
