Neptune OS: a seL4 mikrokernel WinNT testreszabása

Megjelent a Neptune OS projekt első kísérleti verziója, amely eltér a projekttől a Debian-alapú Linux disztribúció ugyanazzal a névvel.

Ez a rendszer, amelyről ma beszélünk egy bővítmény fejlesztése a seL4 mikrokernelhez a Windows NT kernel összetevőinek megvalósításával, azzal a céllal, hogy biztosítsa Windows alkalmazások futtatásának támogatása. 

A Neptune OS-ről

a projekt ivégrehajtja az "NT Executive", a Windows NT kernel (NTOSKRNL.EXE) egyik rétege, amely az NT Native rendszerhívás API-jának és az illesztőprogramok működéséhez szükséges interfésznek a biztosításáért felelős.

Neptune OS-en az összetevő Az NT Executive és az összes illesztőprogram nem fut kernel szinten, de felhasználói folyamatokként a seL4 mikrokernelen alapuló környezetben. Az NT Executive komponens és az illesztőprogramok interakciója a seL4 IPC szabványon keresztül történik. A biztosított rendszerhívások lehetővé teszik, hogy az NTDLL.DLL könyvtár az alkalmazásokban használt Win32 API implementációjával működjön együtt.

 Az NT Executive felelős a Windows kernel illesztőprogram felületéért is (Windows illesztőprogram-modellként ismert), amely olyan funkciókat tartalmaz, mint pl IoConnectInterruptIoCallDriver

Windows rendszeren ezek kernel módban töltődnek be, és összekapcsolódnak aNTOSKRNL.EXEkép. A Neptune operációs rendszerben az összes Windows kernel-illesztőprogramot felhasználói módban futtatjuk, és a szabványos seL4 IPC primitíveken keresztül kommunikálnak az NT Executive folyamattal.

A végcél a Neptune OS projektből elegendő NT szemantika megvalósítása hogy a ReactOS felhasználói környezet portolható legyen a Neptune OS alatt, valamint a legtöbb ReactOS kernel-illesztőprogram.

Elméletileg a fejlesztők megemlíti, hogy képesnek kell lenniük bináris kompatibilitás elérésére natív Windows futtatható fájlokkal mindaddig, amíg a natív NT API felajánlott megvalósítása kellően hűséges.

A Windows kernel-illesztőprogramjaival is nagyfokú forráskód-kompatibilitást kell elérnünk. A rendszermag-illesztőprogramok bináris kompatibilitásának elérésének fő akadálya az, hogy sok Windows kernel-illesztőprogram nem követi a szabványos Windows-illesztőprogram-kommunikációs protokollt (azaz átadják az IRP-t, ha másik illesztőprogramot kell hívniuk), hanem csak átadják a mutatókat, és közvetlenül hívják meg a többi vezérlőt. . Neptune operációs rendszeren, hacsak nem illesztőprogram-minidriver párosról van szó, mindig a "kernelt" futtatjuk.

A Neptune OS 0.1.0001-ről

A projekt jelenlegi állapota egy előzetes verzió, mivel eddig elegendő NT primitívet tudtunk megvalósítani ahhoz, hogy betöltsünk egy alapvető billentyűzet-illesztőprogramot, amely tartalmazza a kbdclass.sys billentyűzetosztály-illesztőprogramot és a port-illesztőprogramot. PS/ 2 i8042prt.sys, valamint az ntcmd.exe alapvető parancssor, amely a ReactOS projektből származik.

A shell-parancsok alig működnek, de a billentyűzetverem stabil. A hibakeresési buildek kissé lassúak lehetnek, mivel túl sok hibakeresési napló készül.

De megemlítik, hogy ezeket le lehet tiltani a kódban (a private/ntos/inc-re kell mutatni). Azt is megemlítik, hogy egy "beep.sys" illesztőprogram került bele (aminek nincs értelme, de csak a fejlesztő fogja tudni, hogy miért), ami bosszantó hangot ad ki a számítógép hangszórójában, és hogy meghallja, fel kell kapcsolnia a némítást. (főleg, ha pulseaudiót használsz).

Minden vezérlő a felhasználói térben fut! A teljes rendszer elfér egy hajlékonylemezen, és letölthető a 0.1.0001 verzióról. Saját maga is megépítheti, amelynek eljárását a következő részben ismertetjük.

Végül pedig azok, akik kicsit többet szeretnének tudni a projektről, tájékozódhatnak a részletekről A következő linken.

A rendszerindító lemezkép mérete 1,4 MB, a kód GPLv3 licenc alatt került kiadásra.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.