Публикуван е първият експериментален брой на проекта Neptune OS, който развива надстройка над микроядрото seL4 с реализиране на компоненти от ядрото на Windows NT, насочена към предоставяне на поддръжка за изпълнение на Windows приложения. Кодът се разпространява под лицензия GPLv3.
Проектът реализира "NT Executive", един от нивата на ядрото на Windows NT (NTOSKRNL.EXE), отговорен за предоставяне на API за системни извиквания на NT Native и интерфейс за работа с драйверите. В Neptune OS компонентът NT Executive и всички драйвери се изпълняват не на ниво ядро, а под формата на потребителски процеси в среда, базирана на микроядрото seL4. Взаимодействието на компонента NT Executive с драйверите се осъществява чрез стандартен seL4 IPC. Предоставените системни извиквания дават възможност да се осигури работата на библиотеката NTDLL.DLL с реализиране на програмния интерфейс Win32, използван в приложенията.
Първата версия на Neptune OS включва драйвер за клавиатура (kbdclass.sys), драйвер за PS/2 порт (i8042prt.sys), драйвер за подаване на звуков сигнал (beep.sys) и интерпретатор на командния ред (ntcmd.exe), пренесени от ReactOS и позволяващи демонстриране на основни принципи на работа. Размерът на стартиращия образ е 1.4 MB.
Крайната цел е довеждането на слоя до състояние, достатъчно за пренос на потребителска среда и драйвери от ReactOS. Разработчиците също така разглеждат възможността за постигане на бинарна съвместимост с изпълними файлове на Windows и приемлива съвместимост на ниво изходен код с драйверите на ядрото на Windows.
Основната пречка пред осигуряването на поддръжка за драйверите на Windows е употребата в повечето драйвери на ядрото на Windows на нестандартен комуникационен протокол при обращение към други драйвери, а именно директна предаване на указатели, което не може да бъде реализирано в Neptune OS поради стартирането на драйверите в различни процеси.
Източник: opennet.ru
