Foi lançada a primeira versão experimental do projeto Neptune OS, que desenvolve uma sobreposição sobre o microkernel seL4 com a implementação de componentes do núcleo Windows NT, visando fornecer suporte à execução de aplicativos Windows. O código é distribuído sob a licença GPLv3.
O projeto implementa o 'NT Executive', uma das camadas do núcleo Windows NT (NTOSKRNL.EXE), responsável por fornecer a API de chamadas de sistema NT Native e a interface para operar drivers. No Neptune OS, o componente NT Executive e todos os drivers são executados não no nível do núcleo, mas na forma de processos de usuário em um ambiente baseado no microkernel seL4. A interação do componente NT Executive com os drivers é feita por meio do IPC padrão do seL4. As chamadas de sistema fornecidas permitem que a biblioteca NTDLL.DLL funcione com a implementação da interface de programação Win32, utilizada em aplicações.
A primeira versão do Neptune OS inclui o driver de teclado (kbdclass.sys), o driver de porta PS/2 (i8042prt.sys), o driver de sinal sonoro (beep.sys) e o interpretador de linha de comando (ntcmd.exe), transferidos do ReactOS e que permitem demonstrar os princípios básicos da organização do trabalho. O tamanho da imagem de inicialização é de 1,4 MB.
O objetivo final é levar a camada a um estado suficiente para portar o ambiente de usuário e drivers do ReactOS. Os desenvolvedores também consideram a possibilidade de alcançar compatibilidade binária com arquivos executáveis do Windows e compatibilidade aceitável em nível de código-fonte com os drivers do núcleo do Windows.
Um dos principais obstáculos para garantir o suporte a drivers do Windows é o uso de um protocolo de comunicação não padrão na maioria dos drivers do núcleo do Windows ao interagir com outros drivers, na forma de passagem direta de ponteiros, o que não pode ser implementado no Neptune OS devido à execução dos drivers em diferentes processos.
Fonte: opennet.ru
