El projecte Neptune OS està desenvolupant una capa de compatibilitat amb Windows basada en el microkernel seL4

S'ha publicat la primera versió experimental del projecte Neptune OS, desenvolupant un complement al microkernel seL4 amb la implementació de components del nucli de Windows NT, amb l'objectiu de proporcionar suport per executar aplicacions de Windows. El codi es distribueix sota la llicència GPLv3.

El projecte està implementat per "NT Executive", una de les capes del nucli de Windows NT (NTOSKRNL.EXE), responsable de proporcionar l'API i la interfície de trucada del sistema nativa de NT per al funcionament del controlador. Al sistema operatiu Neptune, el component NT Executive i tots els controladors no s'executen al nivell del nucli, sinó en forma de processos d'usuari en un entorn basat en el micronucli seL4. La interacció del component NT Executive amb els controladors es realitza mitjançant l'estàndard seL4 IPC. Les trucades al sistema proporcionades permeten garantir que la biblioteca NTDLL.DLL funciona amb la implementació de la interfície de programació Win32 utilitzada a les aplicacions.

La primera versió de Neptune OS inclou un controlador de teclat (kbdclass.sys), un controlador de port PS/2 (i8042prt.sys), un controlador de bip (beep.sys) i un intèrpret de línia d'ordres (ntcmd.exe), portat des de ReactOS i permetent demostrar els principis bàsics de l'organització del treball. La mida de la imatge d'arrencada és d'1.4 MB.

L'objectiu final és portar la capa a un estat suficient per portar l'entorn d'usuari i els controladors ReactOS. Els desenvolupadors també estan considerant la possibilitat d'aconseguir una compatibilitat binària amb els fitxers executables de Windows i una compatibilitat acceptable a nivell d'origen amb els controladors del nucli de Windows.

El principal obstacle per proporcionar suport als controladors de Windows és l'ús en la majoria dels controladors del nucli de Windows no d'un protocol de comunicació estàndard quan s'accedeix a altres controladors, sinó de la transferència directa del punter, que no es pot implementar al sistema operatiu Neptune a causa dels controladors que s'executen en diferents processos.

Font: opennet.ru

Afegeix comentari