Genode は、デバイス ドライバー、システム サービス、アプリケーションなど のすべてのソフトウェア コンポーネントに厳格な組織構造を適用することでソフトウェアの安全性を向上させることを目的とした新しい OS アーキテクチャです。
Genode プロジェクトでは、オペレーティング システム フレームワークは、非常に安全なコンポーネントベースのオペレーティング システムを構築するためのオープン ソースツールキットであり、 Sculptはパーソナル コンピューターとスマートフォン用に事前に構築されたディストリビューションです。
Genode は、学術界におけるコンピューターサイエンスの研究に頻繁に使用されています。
Genodeは、ドレスデン工科大学( TU Dresden )におけるBastei OSアーキテクチャ[2]の研究報告書として初めて構想されました。この報告書の焦点は、機能ベースのセキュリティを用いたコンポーネントベースのOSの実用性を判断することでした。この研究は、ドレスデンで同時期に行われていた仮想化とマイクロカーネルの研究に影響を受けており、これらの研究は後にSculptカーネルとして採用されるNOVAマイクロハイパーバイザー[3]へと発展しました。初期のプロトタイプの成功を受けて、報告書の著者らはBasteiをGenode OSフレームワークとして開発するためにGenode Labsを設立しました。
Genode OSフレームワークは、高度に安全な特殊用途向けオペレーティングシステムを構築するためのツールキットです。わずか4MBのメモリを搭載した組み込みシステムから、高度に動的な汎用ワークロードまで、幅広い用途に対応します。[4]
このシステムは再帰的な構造に基づいています。各プログラムは専用のサンドボックス内で実行され、特定の目的を達成するために必要なアクセス権とリソースのみが付与されます。プログラムは自身のリソースからサブサンドボックスを作成・管理できるため、階層構造が形成され、各レベルでポリシーを適用できます。このフレームワークは、プログラム同士が通信し、リソースを交換するためのメカニズムを提供しますが、厳密に定義された方法に限定されます。この厳格な体制により、セキュリティ上重要な機能の攻撃対象領域は、現代のオペレーティングシステムと比較して桁違いに縮小されます。[4]
このフレームワークは、マイクロカーネルの構築原理をUnix哲学に整合させています。Unix哲学に倣い、Genodeは小さな構成要素の集合体であり、それらから高度なシステムを構成できます。しかしUnixとは異なり、これらの構成要素にはアプリケーションだけでなく、カーネル、デバイスドライバ、ファイルシステム、プロトコルスタックといった従来のOS機能もすべて含まれています。[4]
Genodeは、 x86(32ビットおよび64ビット)、ARM(32ビットおよび64ビット)、RISC-V (64ビット)のCPUアーキテクチャをサポートしています。x86では、 IOMMUやハードウェア仮想化といった最新のアーキテクチャ機能を利用できます。ARMでは、GenodeはTrustZoneと仮想化技術を活用できます。[4]
Genodeは、 L4マイクロカーネルファミリーのほとんどのメンバー(NOVA、seL4、Fiasco.OC、OKL4 v2.1、L4ka::Pistachio、L4/Fiasco)を含む、様々なカーネルに導入できます。さらに、 Linuxカーネル上で使用することで、開発中の迅速な開発テストサイクルを実現できます。さらに、このフレームワークには、Genode専用に開発されたカスタムマイクロカーネルが付属しており、これにより、他のカーネルと比較して、トラステッドコンピューティングベースの複雑さがさらに軽減されます。[4]
Genode はさまざまなレベルで仮想化をサポートしています。
フレームワークは、次のような数百のすぐに使用できるコンポーネントで構成されています。
Genodeは無料のオープンソースソフトウェアとして提供されており、リクエストに応じて商用ライセンスも利用可能です。[5]
アップデートは四半期ごとにリリースされます。[6]開発は毎年ロードマップに沿って進められ、長期的な目標は別途記載されています。[7]
市販のPCハードウェアおよびPinePhone向けに構築済みの汎用オペレーティングシステム。Genode Labsの社内ディストリビューションであるSculptは、Genode開発者によって日常的に使用されています。[8]
ユーザーインターフェースの設計は、Genodeの根底にある設計哲学に基づいており、主流の慣習とは大きく異なっています。[9]このアプローチの典型は、いつでもアクセスできるシステムコンポーネントのインタラクティブなチャート「Leitzentrale」です。KDEからSculptに移植されたアプリケーションのライブラリは膨大です。
「Sculpt」という名前は、ユーザーが自分の望むコンポーネントだけを組み込んで独自のデスクトップを彫刻するという意図に由来しています。[10]
Genode Labsは、自社製品に関する広範なドキュメントを提供しています。[11]マスターリファレンスは「Genode Foundations」で、フレームワークの包括的な説明を提供し、毎年改訂されています。これは、Genodeへのアプリケーションの開発と移植を扱う「Genode Applications」と、低レベルおよびハードウェア関連のトピックを扱う「Genode Platforms」によってサポートされています。
Genodeは、Sculptの型破りなインターフェースが一部のユーザーを怖がらせる可能性があることを認めている。[10]ブライアン・ルンドゥケはSculptを現代のオペレーティングシステムの中で「最も奇妙な」ものだと考えている。[12]