Neptune OS-projektet utvecklar ett Windows-kompatibilitetslager baserat på seL4-mikrokärnan

Den första experimentella versionen av Neptune OS-projektet har publicerats, som utvecklar ett tillägg till mikrokärnan seL4 med implementering av Windows NT-kärnkomponenter, som syftar till att ge stöd för att köra Windows-applikationer. Koden distribueras under GPLv3-licensen.

Projektet implementeras av "NT Executive", ett av Windows NT-kärnlagren (NTOSKRNL.EXE), som ansvarar för att tillhandahålla NT Native systemanrops-API och gränssnitt för drivrutinsdrift. I Neptune OS körs inte NT Executive-komponenten och alla drivrutiner på kärnnivå, utan i form av användarprocesser i en miljö baserad på seL4-mikrokärnan. Interaktionen av NT Executive-komponenten med drivrutiner utförs genom standarden seL4 IPC. Systemanropen gör det möjligt att säkerställa att NTDLL.DLL-biblioteket fungerar med implementeringen av Win32-programmeringsgränssnittet som används i applikationer.

Den första versionen av Neptune OS innehåller en tangentbordsdrivrutin (kbdclass.sys), en PS/2-portdrivrutin (i8042prt.sys), en pipdrivrutin (beep.sys) och en kommandoradstolk (ntcmd.exe), portad från ReactOS och tillåta demonstrera de grundläggande principerna för arbetsorganisation. Storleken på startbilden är 1.4 MB.

Det slutliga målet är att få lagret till ett tillstånd som är tillräckligt för att portera användarmiljön och ReactOS-drivrutiner. Utvecklarna överväger också möjligheten att uppnå binär kompatibilitet med Windows körbara filer och acceptabel källnivåkompatibilitet med Windows kärndrivrutiner.

Det främsta hindret för att tillhandahålla stöd för Windows-drivrutiner är användningen i de flesta Windows-kärndrivrutiner, inte av ett standardkommunikationsprotokoll vid åtkomst till andra drivrutiner, utan av direkt pekaröverföring, som inte kan implementeras i Neptune OS på grund av att drivrutinerna körs i olika processer.

Källa: opennet.ru

Lägg en kommentar