Проектът Neptune OS разработва слой за съвместимост на Windows, базиран на микроядрото seL4

Публикувано е първото експериментално издание на проекта 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

Добавяне на нов коментар