NEPTUNE OS project develops a Windows compatibility layer based on Microiderian SEL4

Published The first experimental release of the project NEPTUNE OS , developing an add-on over a microker of SEL4 with the implementation of the Windows NT kernel components, aimed at providing support for the execution of Windows applications. Code distributed under the GPLv3 license.

The project implements NT Executive, one of the nt kernel levels (ntoskrnl.exe), The NT Native System Call APIs is responsible for the provision of the NTIVE system calls and the driver operation interface. In the Neptune OS, the NT Executive component and all drivers are not performed at the kernel level, but in the form of user processes surrounded on the basis of the Microiderian SEL4. The interaction of the NT Executive component with the drivers is carried out through the standard SEL4 IPC. The system calls provided are allowed to provide the NTDLL.DLL library with the Win32 API implementation used in applications.

The first version of the Neptune OS includes the keyboard driver (KBDClass.sys), the PS / 2 port driver (I8042PRT.SYS), the beep.sys file feeder and the command line interpreter (NTCMD.exe) moved from ReactOS and allowing to demonstrate the basic principles of organization of work in the system. The size of boot image 1.4 MB.

The ultimate goal is to bring the interlayer to a state sufficient to port the user environment and ReactOS drivers. The developers also consider the possibility of achieving binary compatibility with Windows executable files and acceptable compatibility at the source code level with the Windows kernel drivers.

As the main obstacle to supporting Windows driver support is the use of a non-standard communication protocol in most Windows kernel drivers when accessing other drivers, and direct transmission of pointers, which cannot be implemented in Neptune OS due to the start of the drivers in Different processes.

/Media reports.