Genode

ソフトウェアのスクリーンショット:
Genode
ソフトウェアの詳細:
バージョン: 17.08 更新
日付のアップロード: 2 Oct 17
開発者: Genode Labs
ライセンス: 無料
人気: 13

Rating: nan/5 (Total Votes: 0)

Genodeは、既存のカーネル(マイクロカーネルやハイパーバイザーなど)を拡張し、アプリケーション用の統一されたAPIを提供するオープンソースのオペレーティングシステムフレームワークです。


Intel Gen-8 GPU用のハードウェアアクセラレーショングラフィックス

現在のL4 / FiascoとLinuxはサポートされています。
ARMおよび64ビットx86ハードウェア上のseL4カーネル
基本フレームワークとOSレベルのインフラ:
簡素化されたIOMMUの取り扱い
レポートをファイルに取り込む新しいレポートサーバー
順次コンポーネントを起動するための新しいランタイム環境
起動時初期化フレームバッファのサポート
VFSのノンブロッキング拡張動作
ブロックセッションを既定で読み取り専用にする
洗練された時間処理
FatFSベースのVFSプラグイン
拡張されたGUIプリミティブ
Cランタイム
ライブラリとアプリケーション:
メサ調整
パッケージ管理
プラットフォーム:
Xen DomUとしてのGenode
裸のハードウェアでの実行(base-hw)
ミュン分離カーネル
NOVAマイクロハイパーバイザー

バージョン17.05の新機能:

ベースフレームワーク:
Genode Foundations本の新しい改訂版
現代のAPIへのコンポーネント移行完了
例外タイプの合理化
能力割当の割り当てと取引
コアコンポーネントのRAMおよびPDサービスの統合
静的コンストラクタの明示的な実行
アプリケーションレベル信号からのI / O信号の分離
OSレベルのライブラリとコンポーネント:
initによる動的リソース管理とサービス転送
ユーザーレベルのタイミングのための新しいAPI
ファイルシステムセッションでの帯域内通知
ログベースのCPU負荷表示
ネットワークトラフィックの監視
共有ライブラリとしてのPOSIX libcプロファイル
ブロックデバイスレベルのコンポーネントの状態レポート
ランタイムとアプリケーション:
NOVA上のVirtualBox 5の機能の完全性
Nimプログラミング言語
バージョン5.8にアップデートされたQt5
プラットフォーム:
裸のハードウェアでの実行(base-hw)
Muen分離カーネル更新
Fiasco.OCカーネルアップデート
ツールチェーン:
GNUコンパイラコレクション(GCC)6.3、Adaサポート
ビルドされた実行可能ファイルの分離されたデバッグバージョン

バージョン13.11の新機能:



ベースフレームワーク:
動的リソースバランシング
デフォルトで有効になっているC ++ 11
改善されたイベントトレース
低レベルのOSインフラ:
Linux TCP / IPスタックを使用したギガビットネットワーキング
改良されたnitpicker GUIサーバ
新しいターミナルサービス
ハイブリッドGenode / Linuxシステム用の新しいファイルシステムサーバー
ブロックデバイスにアクセスするための新しいC-runtimeプラグイン
デバイスドライバ:
ラズベリーパイのグラフィックスとUSB HID
Samsung Exynos 5のHDMI
アプリケーションとライブラリ:
OpenGLとQMLをサポートするQt5
FUSEベースの新しいファイルシステム
DosBoxのポート
ランタイム環境:
高度なGNUデバッガ機能
Freescale i.MX53でのARM TrustZoneのサポート
プラットフォーム:
動的ワークロードに対してBase-HWが有効になっている
NOVAにおけるカーネルオブジェクトのライフタイム管理
Fiasco.OCで動作するL4Linuxのためのバルーンサポート

バージョン13.08の新機能:

バージョン13.08のリリースは、Genode OSフレームワークの5周年を迎えます。この記念日には、Qt5からGenodeへの移植、深遠なマルチプロセッサーサポート、軽量イベントトレースフレームワークの3つの主要機能が追加されました。さらに、新しいバージョンのSATA 3.0およびExynos-5 SoC用の電源管理、x86上のNOVA上での仮想化サポートの強化、アップデートされたカーネル、ダウンロードされたサードパーティソースコードの整合性チェックなどの新しいデバイスドライバが付属しています。
過去5年間で、Genodeの開発は、フレームワークを可能な限り多くのアプリケーション領域に適合させるための機能を追加して栽培することによって、主に動機付けられました。重要な機能を備えているので、単なる機能に焦点を当てるだけでは十分ではありません。どのようなGenodeが最終的にできるのかという問題は、Genodeが何かできるのかという疑問に変わります。一定の作業負荷はどれくらい安定していますか?ネットワークはどのように機能しますか?マルチプロセッサシステムとはどのように拡張されますか?我々はこれらの種類の質問に対する簡潔な答えが不足しているので、調査する必要があります。安定性について言及すると、最近導入された自動テストインフラストラクチャは、これまで以上に自信を持っています。毎晩200を超える自動テストが実行され、さまざまなカーネルといくつかのハードウェアプラットフォームがカバーされます。これらのテストは、いわゆる実行スクリプトの形で一般に公開されており、今後も継続的に開発されています。
パフォーマンス調査については、最近、ネットワークスループットに焦点を当てたアプリケーションパフォーマンスのベンチマークを開始しました。興味深いことに、我々の測定値は、使用されたカーネル間の重要な違いを明らかにしますが、ソフトウェアスタックの欠点も示しています。たとえば、私たちのバージョンlwIPはギガビットネットワークではうまく機能しません。このようなパフォーマンスの問題を徹底的に調べるために、現在のバージョンでは、Genodeコンポーネントの動作を追跡するためのサポートが追加されています。これにより、複雑なアプリケーション・レベルの作業負荷のクリティカル・パス上にあるすべてのコンポーネント間の対話を深く理解することができます。 Genodeアーキテクチャのおかげで、非常にシンプルで強力なトレース機能を設計することができました。セクション軽量イベントトレースは、その動作方法を説明します。マルチプロセッサのスケーラビリティに関しては、正直なところ、私たちはそれにあまり配慮していないので、このような問い合わせを躊躇していました。このビューは今変更されています。現在のリリースでは、CPU親和性の管理をフレームワークの中心に、すなわちGenodeのセッションコンセプトに実装しました。さらに、NOVAハイパーバイザー上で複数のCPUを使用できるようにGenodeを有効にすることで、難しいナットを割った。このカーネルは、x86アーキテクチャー向けの最も進んだOpen-Sourceマイクロカーネルです。しかし、NOVAのMPモデルは、GenodeのAPI設計と本質的に矛盾するように見えました。幸いなことに、私たちはかなりエレガントな方法を見つけ、獣を飼いならすことができました。セクション強化されたマルチプロセッサのサポートがより詳細に説明されています。
機能面では、私たちは常にGenodeでのQtの可用性を大きな資産と考えていました。現在のリリースでは、最終的にQt4からQt5へと切り替えることを発表しています。すべてのカーネルで利用できるセクションQt5では、移植作業中に直面した課題についての洞察が得られます。

これらのハイライトに加えて、新しいバージョンには改良が施されています。いくつか挙げると、POSIXスレッド、更新されたデバイスドライバ、Fiasco.OCカーネルとL4Linuxのアップデートバージョン、Exynos-5用の新しいデバイスドライバのサポートが強化されています。最後に、ダウンロードされたサードパーティのソースコードの完全性を検証する問題が取り上げられました。

バージョン12.11の新機能:

Genode OSフレームワークのバージョン12.11の中心テーマは、Genode on Genodeの自己ホスティング型です。自己ホスティングでは、Genode環境内のGenodeビルドシステム全体の実行を理解しています。この作業ラインを追求する動機は2つあります。まず、Genode開発者がGenodeを日々のOSとして使用するための基本的な前提条件です。もちろん、この前提条件は、利用可能な仮想化ソリューションの1つを使用して実現できます。たとえば、Fiasco.OCカーネルのGenode上でL4Linuxを実行し、L4Linuxインスタンス内のGenode構築システムを使用することができます。しかし、これはシステムの複雑さを減らすためにGenodeの背後にある主なインセンティブを打ち破っています。 GenodeとL4Linuxの両方を使用することで、システムの構成、保守、使用の全体的な複雑さが増します。したがって、複雑なLinuxユーザの土地を写真から削除することを大いに望んでいます。第2の動機付けは、フレームワークと基礎となる基盤プラットフォームが現実の使用に十分適しており、安定していることを証明することです。システムがビルドシステムのような作業負荷を処理できない場合、GNU / Linuxなどの現在のコモディティOSに比べてマイクロカーネルベースのシステムを持っているという付加価値について議論するのはほとんど意味がありません。
私たちは、マイクロカーネル上で実行されているGenode上で直接未修飾Genode構築システムを実行できる状態に達したことをうれしく思います。ビルドシステムはGNUユーティリティとGNUコンパイラのコレクションに基づいているため、これらのツールとGenode APIの間にかなりの努力が払われました。 Genode上のGenode Section Buildingは、目標を達成した方法と現在の状況を把握します。
これらのカーネルから、Cランタイム、ファイルシステムの実装、メモリアロケータ、実際のプログラムまで、さまざまな安定性の向上と最適化が行われましたから構成されています。ツールチェーンと言えば、公式のGenodeツールチェーンは、GCCバージョン4.6.1からバージョン4.7.2にアップデートされています。これにより、すべての第三者コードパッケージがテストおよび修正活動を受けました。

ビルドシステムを稼働するために、プロジェクトは現在NOVAとFiasco.OCをベースプラットフォームとして扱っています。しかし、ARMアーキテクチャ用のカスタムカーネルプラットフォームにも大きな改善がありました。 Freescale i.MXとTexas Instruments OMAP4のサポートが追加されたことにより、このプラットフォームは新しいSoCに非常によく適合していますが、新しいキャッシュ処理により性能が向上します。さらに、いわゆるTrustZoneのセキュアな世界で主にGenodeの実行を可能にするARM TrustZoneテクノロジの実験的なサポートを追加しました。これはいわゆるノーマルワールドでLinuxを実行します。
GenodeをLinux上でミドルウェア・ソリューションとして使用することへの関心が高まっていることを知り、このカーネル・プラットフォームのサポートを大幅に見直し、Genodeの概念をLinuxカーネルが提供するメカニズムに合わせる驚くほど新しい方法を発見しました。セクションLinuxは、このプラットフォームをサポートするために取られた新しいアプローチの要約を提供します。
機能面では、新しいバージョンでは、Open Sound Systemのオーディオドライバ、新しいOMAP4 GPIOドライバ、グラフィカルターミナルの改良、SSHクライアントの初期ポートのサポートが導入されています。

バージョン12.08の新機能:

Genode 12.08では、このプロジェクトはプラットフォームのサポートに重点を置いていました。 OMAP4ベースのARMプラットフォームの世界に入り、NOVAハイパーバイザのサポートを復活させ、大幅に強化し、基盤となるカーネルを必要とせずにARMプラットフォーム上で直接実行できるようになりました。
新しいベースhwプラットフォームは、ユーザーランドのインフラストラクチャで既存のカーネルを補完するGenodeの従来のアプローチからの逸脱です。これは、別のカーネルを完全にピクチャから去り、それによって、Genodeベースのシステムの信頼できるコンピューティングベースのベースラインを約半分に矮小化します。新しい基本プラットフォームについては、「裸のARMハードウェアのGenode」のセクションで説明しています。
ベースプラットフォームと言えば、NOVAハイパーバイザーをベースプラットフォームの一流市民に昇進させていただき、幸いです。このカーネルは、過去数ヶ月の間に開発モードとその機能セットに関する根本的な変更を受けました。これにより、このプラットフォームに対するGenodeのサポートを大幅に改善し、独自の機能を活用することができました。 x86ベースのハードウェアでGenodeを使用する場合、NOVAは非常に魅力的な基盤となっています。セクションNOVA Hypervisorを採用すると、NOVA固有の変更が記述されます。

現在のリリースでのプラットフォームサポートの改善は基本プラットフォームのみを必要とせず、特に人気のあるPandaboardで使用されているARMベースのOMAP4 SoCのデバイスドライバの大幅な追加にまで及んでいます。このプラットフォーム用のHDMI出力、SDカード、USB HID、およびネットワーキング用のデバイスドライバの可用性を発表することを誇りに思っています。
新しいバージョンには、低レベルのプラットフォームの改善のほかに、いくつかの新しいサービス、既存のコンポーネントの最適化、および移植された新しいライブラリが付属しています。特に、Nouxランタイムは、主にGenodeでLynx Webブラウザなどの深刻なネットワーキングアプリケーションを実行できる点に達しています。もう1つの例は、新しいFFATベースのファイルシステムサービスです。これは、永続ストレージをGenodeのファイルシステムインターフェイス経由で利用可能にします。この新しいサービスを、パーティションサービス、Noux、libcのファイルシステムプラグインなどの既存のコンポーネントと組み合わせることで、多くの新しいアプリケーションシナリオが利用可能になります。これらの新しいコンポーネントのおかげで、フレームワークはNouxで実行されているGDBを介してオンターゲットのデバッグを実行できるようになりました。または、lighttpd Webサーバー経由でgenode.org Webサイトをホストすることができました。

バージョン12.02の新機能:

Genode 12.02のリリースは、Genode Labsの会議室ではなくオープンで開発された最初のバージョンであるため、プロジェクトの歴史上エキサイティングなポイントです。これにより、私たちはディスカッションやソースコード管理の中心的な機能としてGitHubを採用しました。この変更は、フレームワークのユーザーおよび開発者にとっても同様の利点があります。ユーザーには、公式のgenodelabs / masterブランチを使用して最新の開発状況を把握し、現在の活動について議論することが可能になりました。通常のGenode開発者にとって、Gitリポジトリは公共のSubversionと社内のMercurialリポジトリを置き換えたもので、人生をはるかに簡単にします。開発プロセスの解放のセクションでは、この変更の背景にある動機づけについて概説し、新しいリソースへのポインタを示します。
ベースシステムに新たに追加されたのは、メモリマップされたI / Oリソースにアクセスするための新しいフレームワークAPI、Linux上でユーザーレベルのコンポーネントフレームワークとしてGenodeを使用するための特別なサポート、既存のコンポーネントの再利用のためのAPIサポートサンドボックス化されたライブラリ。これらの変更には、デバイスドライバマネージャの最初のバージョンや新しいACPIパーサーなどの新しいデバイスドライバインフラストラクチャが伴います。

特筆すべきことは、現在のリリースでは、2012年のロードマップの目標に向かって第一歩を踏み出し、Genodeをその開発者が日常的に使用できる汎用OSにすることです。ロードマップによれば、私たちはNouxランタイムをforkセマンティクスで強化し、bashシェルやcoreutilsなどのコマンドラインベースのGNUプログラムを、さまざまなマイクロカーネル上で無修正でネイティブに実行できるようにしました。さらに、ライブラリインフラストラクチャは、Qt 4.7.4やMuPDF PDFレンダリングエンジンなどのライブラリの移植と更新によって強化されています。

バージョン11.11の新機能:

仮想化のレベルの豊かさ:
バンクーバーVMMによって実現された忠実なx86 PC仮想化
Android準仮想化
Nouxランタイム環境を使用したOSレベルの仮想化
アプリケーションレベルの仮想化によるGDBのデバッグ
基本フレームワーク、低レベルOSインフラ:
ユーザーレベルでCPU例外を処理する
スレッド状態へのリモートアクセス
シグナリングレイテンシの改善
大規模なメモリマッピングサイズの最適化
標準C ++ライブラリ
端末セッションインタフェース
ダイナミックリンカ
ライブラリとアプリケーション:
Cランタイム
バンクーバー仮想マシンモニター
TCP端末
フレームバッファベースの仮想端末とncurses
Noux
GDBモニタ
L4Linux / L4Android:
カーネルバージョン3.0へのアップデート
スタブドライバのサポート
L4Android
デバイスドライバ:
iPXEネットワークドライバのデバイスドライバ環境
PL110ディスプレイドライバ
UARTドライバ
プラットフォームサポート:
NOVA Microhypervisorバージョン0.4
Fiasco.OCマイクロカーネル
リビジョン38への更新

リモートスレッドのクエリと操作
汎用Express Cortex-A9x4
Linux
UNIXドメインソケットに基づく新しいIPC実装
ローカルのサブアドレス空間を手動で管理するためのサポート
ハイブリッドLinux / Genodeプログラムの処理の改善
L4ka :: Pistachioマイクロカーネル
システムとツールを構築する:
GCC 4.6.1に基づく新しいツールチェーン
ライブラリ依存関係構築段階の最適化
改良されたlibportとポートのパッケージ処理

バージョン11.05の新機能:



型安全なプロセス間通信用の新しいAPI
拡張Fiasco.OCプラットフォームサポート
共有ライブラリ
シグナリングフレームワーク
ARM RealView PBX-A9サポート
x86 64ビットのサポート
L4Linux(IA32およびARM)
新しい実験的なGDBサポート
MicroBlazeプラットフォームのデバイスI / Oサポート
入力、表示、ネットワーク、およびSDカード用のARM RealView PBXデバイスドライバ
Qt4、lwIP、Noux、L4Linux、GDBなどのさまざまなGenode機能を簡単にテスト駆動するための、すぐに使える新しいスクリプト

バージョン10.02の新機能:


プラットフォーム関連のさまざまな改善のうち、リリース10.02では、NOVAおよびCodezeroカーネルのサポートが追加され、リアルタイムの優先順位を管理するための新しいコンセプトが導入されています。
以前の機能豊富なリリースを踏襲して、Genodeプロジェクトはフレームワークのベースプラットフォームサポートを拡張することに焦点を当てました。 2009年に最初にリリースされたNOVAとCodezeroの2つの最新のマイクロカーネルによって、サポートされているカーネルの幅広い部分を補完することができたことをうれしく思います。Genodeは、これらのカーネルで直接実行される統合されたユーザーレベルのインフラストラクチャを提供しますLinux(32ビットおよび64ビット)、OKL4v2(x86およびARMv4)、L4 / Fiasco、およびL4ka :: Pistachioでサポートされています。マイクロカーネルベースのアプリケーションを作成する開発者にとって、フレームワークはそれぞれのカーネルの複雑さを隠します。しかし、各基本プラットフォームのユニークな機能をユーザーが利用できるようにすることも目的としています。たとえば、新しいリリースでは、OKL4とL4ka :: PistachioのリアルタイムスケジューリングをGenodeアプリケーションで利用できるようにしました。

バージョン9.05の新機能:



アプリケーション:
Qt4の統合
Qt4ベースのランチパッド
OSサービスとドライバ:
Nitpickerのパフォーマンスの調整
VESAドライバ用の仮想化PCIバス
USBセッションとデバイスインタフェース
USBサポート:
USB HIDドライバ
UHCI、OHCI、およびEHCI用のホストコントローラドライバ
新しいプラットフォームとしてOKL4
64ビットLinuxプラットフォームのサポート
ベースフレームワークの洗練

同じようなソフトウェア

へのコメント Genode

コメントが見つかりません
コメントを追加
画像をオンにする!