Neptune OS-projektet udvikler et Windows-kompatibilitetslag baseret på seL4-mikrokernen

Den første eksperimentelle udgivelse af Neptune OS-projektet er blevet offentliggjort, der udvikler en tilføjelse til seL4-mikrokernen med implementering af Windows NT-kernekomponenter, der sigter mod at yde support til at køre Windows-applikationer. Koden distribueres under GPLv3-licensen.

Projektet er implementeret af "NT Executive", et af Windows NT-kernelagene (NTOSKRNL.EXE), ansvarlig for at levere NT Native systemopkalds-API og interface til driverdrift. I Neptune OS kører NT Executive-komponenten og alle drivere ikke på kerneniveau, men i form af brugerprocesser i et miljø baseret på seL4-mikrokernen. Interaktionen af ​​NT Executive-komponenten med drivere udføres gennem standard seL4 IPC. De stillede systemkald gør det muligt at sikre, at NTDLL.DLL-biblioteket fungerer med implementeringen af ​​Win32-programmeringsgrænsefladen, der bruges i applikationer.

Den første version af Neptune OS inkluderer en tastaturdriver (kbdclass.sys), en PS/2-portdriver (i8042prt.sys), en bipdriver (beep.sys) og en kommandolinjefortolker (ntcmd.exe), porteret fra ReactOS og tillade demonstrere de grundlæggende principper for arbejdstilrettelæggelse. Startbilledets størrelse er 1.4 MB.

Det ultimative mål er at bringe laget til en tilstand, der er tilstrækkelig til at portere brugermiljøet og ReactOS-drivere. Udviklerne overvejer også muligheden for at opnå binær kompatibilitet med Windows-eksekverbare filer og acceptabel kompatibilitet på kildeniveau med Windows-kernedrivere.

Den største hindring for at yde support til Windows-drivere er brugen i de fleste Windows-kernedrivere, ikke af en standardkommunikationsprotokol, når man får adgang til andre drivere, men af ​​direkte pointeroverførsel, som ikke kan implementeres i Neptune OS på grund af driverne, der kører i forskellige processer.

Kilde: opennet.ru

Tilføj en kommentar