A publicación da primeira versión experimental do proxecto Neptune OS, que se diferencia do proxecto de a distribución Linux baseada en Debian co mesmo nome.
Este sistema do que falaremos hoxe caracterízase por desenvolver un complemento para o microkernel seL4 coa implementación de compoñentes do núcleo de Windows NT, co obxectivo de proporcionar soporte para executar aplicacións de Windows.
Acerca de Neptune OS
o proxecto iimplementa o "NT Executive", unha das capas do núcleo de Windows NT (NTOSKRNL.EXE), responsable de proporcionar a API de chamadas de sistema nativa de NT e a interface para que os controladores funcionen.
En Neptune OS, o compoñente NT Executive e todos os controladores non se executan a nivel do núcleo, pero como procesos de usuario nun ambiente baseado no microkernel seL4. A interacción do compoñente NT Executive cos controladores realízase a través do estándar seL4 IPC. As chamadas de sistema proporcionadas permiten que a biblioteca NTDLL.DLL funcione cunha implementación da API Win32 utilizada nas aplicacións.
NT Executive tamén é responsable da interface do controlador do núcleo de Windows (coñecido como modelo de controlador de Windows), que inclúe funcións como
IoConnectInterrupt
yIoCallDriver
.En Windows, estes cárganse en modo kernel e enlazan co
NTOSKRNL.EXE
imaxe. No sistema operativo Neptune, executamos todos os controladores do núcleo de Windows en modo de usuario e comunícanse co proceso NT Executive a través das primitivas IPC estándar seL4.
O obxectivo final do proxecto Neptune OS é implementar suficiente semántica NT para que o ambiente de usuario de ReactOS poida ser portado baixo Neptune OS, así como a maioría dos controladores do núcleo de ReactOS.
En teoría, os desenvolvedores menciona que deberían ser capaces de acadar a compatibilidade binaria con executables nativos de Windows sempre que a implementación ofrecida da API nativa de NT sexa o suficientemente fiel.
Tamén deberíamos ser capaces de acadar un alto grao de compatibilidade do código fonte cos controladores do núcleo de Windows. O principal obstáculo para lograr a compatibilidade binaria dos controladores do núcleo é que moitos controladores do núcleo de Windows non seguen o protocolo de comunicación estándar do controlador de Windows (é dicir, pasan IRP cando precisan chamar a outro controlador) e, en cambio, simplemente pasan punteiros e chaman directamente a outros controladores. . No sistema operativo Neptune, a non ser que sexa un par controlador-minicontrolador, sempre executamos "kernel".
Acerca de Neptune OS 0.1.0001
O estado do proxecto neste momento é unha versión preliminar, xa que ata agora puidemos implementar suficientes primitivas NT para cargar unha pila básica de controladores de teclado, que inclúe o controlador de clase de teclado kbdclass.sys e o controlador de porto. PS/ 2 i8042prt.sys, así como un indicador de comandos básico ntcmd.exe, extraído do proxecto ReactOS.
Case ningún dos comandos do shell funciona, pero a pila de teclado é estable. As compilacións de depuración poden ser un pouco lentas xa que se están xerando demasiados rexistros de depuración.
Pero menciónase que estes poden ser desactivados no código (debería apuntar a private/ntos/inc). Tamén se menciona que se incluíu un controlador "beep.sys" (o que non ten sentido, pero só o programador saberá por que) que fai un son molesto no altofalante do PC e que para escoitalo hai que activar o silencio. (especialmente se usa pulseaudio).
Todos os controladores funcionan no espazo de usuario! Todo o sistema cabe nun disquete e pódese descargar desde a versión v0.1.0001. Tamén podes construílo por ti mesmo, cuxo procedemento se describe na seguinte sección.
Por último, para os que estean interesados en coñecer un pouco máis o proxecto, poden consultar os detalles Na seguinte ligazón.
O tamaño da imaxe de arranque é de 1,4 MB e o código está liberado baixo a licenza GPLv3.
Sexa o primeiro en opinar sobre