Norost Bは、マイクロカーネルの周りに構築されたオブジェクト指向OSです。主に、セキュリティ、携帯性のスケーリングを改善するために、システムの残りの部分からプロセスを分離することに焦点を当てています。
Webサイト
デザインの理論的根拠
ドキュメント
ファイル、ネットワークソケット…はすべてオブジェクトであり、共通のAPIを持っています。これにより、インターフェイスをシンプルで理解でき、柔軟性とパワーを大量に提供します。
どのプロセスも新しいオブジェクトを作成できます。 IPCは、オブジェクトの操作を介して実行されます。
プロセスは、ハンドルを持つオブジェクトでのみ操作を実行できます。これにより、必要なオブジェクトにハンドルのみを与えることにより、システムの残りの部分からプロセスを分離することが簡単になります。
最小限のアプリケーションでは、同期APIを使用してバイナリを小さく保ちますが、より高度なアプリケーションは非同期I/Oを利用してバッチ作業をより効率的に実行できます。
アプリケーションは、特殊なI/O構造で共有メモリを利用して、オーバーヘッドをさらに減らすこともできます。
ネットワーキングに対するいくつかの基本的なサポートが存在します。基本的なSSHサーバーとHTTPサーバーが利用可能です。
アプリケーションは、ウィンドウを割り当てて、任意のピクセルを描画できます。タイルウィンドウマネージャーは、レイアウトを自動的に処理して、スクリーンエステートを最適化します。
カーネルはほぼ完全に前提となります。
ほとんどのドライバーはカーネルの外側にあり、それらを簡単に交換および/またはスタブすることができます。
| 建築 | サポート |
|---|---|
x86 | ✗ |
x64 | ✓SSEおよびAVX2を使用 |
RISC-V | ✗ |
USB:XHCI
Virtioブロックデバイス
USB大容量貯蔵装置(BBB)
MultiBoot2経由のプレーンフレームバッファー
Virtio GPU
Intel HDグラフィックス(非常に貧弱で、特定のブート設定を備えた特定のラップトップでのみ)
PS/2キーボード&マウス
USB HID
パッチ付きの錆びたコンパイラが必要です。
コンパイラが適切に構成されると、 mkiso.sh起動可能な画像を作成します。 run.sh QEMUでOSを実行します。