Neptune OS:seL4マイクロカーネルのWinNTカスタマイズ

Neptune OSプロジェクトの最初の実験バージョンの公開。これは、 DebianベースのLinuxディストリビューション 同じ名前で。

今日お話しするこのシステム seL4マイクロカーネル用のプラグインを開発することを特徴としています 提供することを目的としたWindowsNTカーネルコンポーネントの実装 Windowsアプリケーションの実行のサポート。 

NeptuneOSについて

プロジェクトi「NTエグゼクティブ」を実装、Windows NTカーネル(NTOSKRNL.EXE)のレイヤーのXNUMXつであり、ドライバーが動作するためのNTネイティブシステムコールAPIとインターフェイスを提供します。

Neptune OSでは、コンポーネント NT Executiveおよびすべてのドライバーは、カーネルレベルで実行されません。 シノ seL4マイクロカーネルに基づく環境でのユーザープロセスとして。 NT Executiveコンポーネントとドライバーの相互作用は、seL4IPC標準を介して実行されます。 提供されているシステムコールにより、NTDLL.DLLライブラリがアプリケーションで使用されるWin32APIの実装と連携できるようになります。

 NT Executiveは、Windowsカーネルドライバーインターフェイス(Windowsドライバーモデルと呼ばれる)も担当します。これには、次のような機能が含まれます。 IoConnectInterruptIoCallDriver

Windowsでは、これらはカーネルモードでロードされ、NTOSKRNL.EXE画像。 Neptune OSでは、すべてのWindowsカーネルドライバーをユーザーモードで実行し、標準のseL4IPCプリミティブを介してNTExecutiveプロセスと通信します。

最終目標 NeptuneOSプロジェクトから 十分なNTセマンティクスを実装することです これにより、ReactOSユーザー環境をNeptune OS、およびほとんどのReactOSカーネルドライバーに移植できます。

理論的には、開発者 バイナリ互換性を実現できるはずだと述べています 提供されているネイティブNTAPIの実装が十分に忠実である限り、ネイティブWindows実行可能ファイルを使用できます。

また、Windowsカーネルドライバーとの高度なソースコード互換性を実現できるはずです。 カーネルドライバーのバイナリ互換性を実現する上での主な障害は、多くのWindowsカーネルドライバーが標準のWindowsドライバー通信プロトコルに準拠しておらず(つまり、別のドライバーを呼び出す必要があるときにIRPを渡す)、代わりにポインターを渡し、他のコントローラーを直接呼び出すことです。 。 Neptune OSでは、ドライバーとミニドライバーのペアでない限り、常に「カーネル」を実行します。

NeptuneOS0.1.0001について

kbdclass.sysキーボードクラスドライバーとポートドライバーを含むキーボードドライバーの基本スタックをロードするのに十分なNTプリミティブを実装できたため、現時点でのプロジェクトの状態は暫定バージョンです。PS/ 2 i8042prt.sys、およびReactOSプロジェクトから取得した基本的なコマンドプロンプトntcmd.exe。

実際に機能するシェルコマンドはほとんどありませんが、キーボードスタックは安定しています。 生成されるデバッグログが多すぎるため、デバッグビルドが少し遅くなる可能性があります。

ただし、これらはコードで無効にできることが記載されています(private / ntos / incをポイントする必要があります)。 また、「beep.sys」ドライバーが含まれていることにも言及されています(これは意味がありませんが、開発者だけが理由を知っています)。これはPCスピーカーで不快な音を出し、それを聞くにはミュートを解除する必要があります。 (特にpulseaudioを使用する場合)。

すべてのコントローラーはユーザースペースで実行されます! システム全体が0.1.0001枚のフロッピーディスクに収まり、バージョンvXNUMXからダウンロードできます。 自分で作成することもできます。その手順については、次のセクションで説明します。

最後に、プロジェクトについてもう少し知りたい方は、詳細をご覧ください。 次のリンクで。

ブートイメージのサイズは1,4MBで、コードはGPLv3ライセンスの下でリリースされています。


コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。