Neptune OS: una personalització WinNT del microkernel seL4

Es va donar a conèixer la publicació de la primera versió experimental del projecte Neptune OS, que difereix del projecte de la distribució de Linux basada en Debian amb el mateix nom.

Aquest sistema del qual parlarem avui dia es caracteritza per desenvolupar un complement per al microkernel seL4 amb la implementació de components del nucli del Windows NT, amb l'objectiu de brindar suport per executar aplicacions de Windows. 

Sobre Neptune US

El projecte implementa el NT Executive, una de les capes del nucli del Windows NT (NTOSKRNL.EXE), responsable de proporcionar l'API de trucada al sistema NT Native i la interfície perquè funcionin els controladors.

A Neptune OS, el component NT Executive i tots els controladors no s'executen a nivell de kernel, sinó com a processos d'usuari en un entorn basat en el microkernel seL4. La interacció del component NT Executive amb els drivers es realitza a través de l'estàndard seL4 IPC. Les trucades al sistema proporcionades fan possible que la biblioteca NTDLL.DLL funcioni amb una implementació de l'API Win32 utilitzada a les aplicacions.

 NT Executive també és responsable de la interfície del controlador del kernel de Windows (conegut com a model de controlador de Windows), que inclou funcions com IoConnectInterruptIoCallDriver

A Windows, aquests es carreguen en mode kernel i es vinculen amb elNTOSKRNL.EXEimatge. Al sistema operatiu Neptune, executem tots els controladors del kernel de Windows en mode d'usuari i es comuniquen amb el procés NT Executive a través de les primitives estàndard seL4 IPC.

L'objectiu final del projecte Neptune OS és implementar suficient semàntica de NT perquè l'entorn d'usuari de ReactOS es pugui portar sota Neptune OS, així com la majoria dels controladors del nucli del ReactOS.

En teoria, els desenvolupadors esmenta que haurien de poder aconseguir la compatibilitat binària amb els executables nadius de Windows sempre que la implementació oferta de l'API nativa de NT sigui prou fidel.

També hauríem de poder aconseguir un alt grau de compatibilitat del codi font amb els controladors del nucli de Windows. El principal obstacle per aconseguir la compatibilitat binària dels controladors del kernel és que molts controladors del kernel de Windows no segueixen el protocol estàndard de comunicació del controlador de Windows (és a dir, passen els IRP quan necessita trucar a un altre controlador) i, en canvi , només passen punters i criden a altres controladors directament. A Neptune OS, tret que sigui un parell de controlador-minicontrolador, sempre executem «kernel».

Sobre Neptune US 0.1.0001

L'estat del projecte en aquest moment és una versió preliminar, ja que fins ara s'ha aconseguit poder implementar suficients primitives de NT per carregar una pila bàsica de controladors de teclat, que inclou el controlador de classe de teclat kbdclass.sys i el controlador de port PS/2 i8042prt.sys, així com un símbol del sistema bàsic ntcmd.exe, pres del projecte ReactOS.

Gairebé cap de les ordres d'intèrpret d'ordres funciona realment, però la pila de teclat és estable. Les compilacions de depuració poden ser una mica lentes, ja que s'estan generant massa registres de depuració.

Però s'esmenta que aquestes poden ser desactivades al codi (s'ha de dirigir a private/ntos/inc). També s'esmenta que s'incloc un controlador «beep.sys» (que no té sentit, però només el desenvolupador sabrà per què) que fa un so molest a l'altaveu de la PC i que per poder escoltar-lo, s'haurà de desactivar el silenci ( especialment si fa servir pulseaudio).

Tots els controladors s'executen a l'espai de l'usuari! Tot el sistema cap en un disquet i es pot descarregar des de la versió v0.1.0001. També el pot construir vostè mateix, el procediment del qual es descriu a la secció següent.

Finalment per als que estiguin interessats a poder conèixer una mica més sobre el projecte, podeu consultar els detalls en el següent enllaç.

La mida de la imatge d'arrencada és de 1,4 MB i el codi es distribueix sota la llicència GPLv3.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.