ハイパーバイザーとexokernelの違い


7

ハイパーバイザー(第一種)は、ハードウェアへのゲストの手術システムの要求を管理し、作成した仮想マシンを実行するソフトウェアです。exokernelは LETのプログラムがハードウェアに直接アクセスすることを、手術システムのカーネルで実装しabstactionsは、そのアーキテクチャのための実行可能ファイルの種類を実行することを特定のライブラリのサポートで、または


どちらもハードウェアとアプリケーションソフトウェア間の抽象化レイヤーです。
2つとも、同じマシンで異なる実行可能ファイル/ソフトウェア/オペレーティングシステム/何でも実行できます

では、2つの違いは何ですか?


これがオントピックであるかどうかはわかりません。ここでは「ハイパーバイザー」の概念は範囲外のようですが、「カーネル」はおそらくそうではありません。
ラファエル

2
なぜそれがオントピックではないのですか?この質問は、ヘルプ以下の説明、それはないSW / HW、ない程度numberical計算の特定の部分については、プログラミングについてはありません、と私は2つのソフトウェアの背後にある科学的な概念を求めています
incud

回答:


7

ハイパーバイザーの上で実行されるものは、1つ以上の完全なオペレーティングシステムです。ハイパーバイザーはハードウェアを仮想化するため、各オペレーティングシステムは、マシン全体が自分自身にあると信じ込ませます。ハイパーバイザーに入るエンジニアリングの天才は、この仮想化をほとんどまたはまったく費用をかけずに提供する方法です(物理ハードウェア上で1つのオペレーティングシステムを直接実行する場合と比較して)。

exokernelの上で実行されるのは、ユーザーレベルのプロセスの集まりです。各プロセスは、さまざまなサービスとポリシーを提供するライブラリ(同じライブラリでも異なるライブラリでもよい)にアタッチされます。exokernelの目的は、保護のみを提供し(1つのプロセスが別のプロセス専用のリソースを使用しないようにする)、ユーザーレベルのプログラムに残して、最も効率的なポリシーを選択することです。Exokernelは実際には研究プロジェクトであり、その主な成果は、さまざまな種類のオペレーティングシステムサービスと、それらのサービスを効率的に実装するための障壁に関する一連の研究でした。Exokernelプロジェクトを表示するもう1つの方法は、マイクロカーネルの作成方法を調査するプロジェクトであるということです。 それは恐ろしく非効率的で遅くはありません。

マイクロカーネルの大きな問題の1つは、モノリシックカーネル(Linuxなど)よりも頻繁にユーザープロセスとカーネルモードを頻繁に切り替えたり切り替えたりすることです。ユーザーモードからカーネルモードまたはカーネルモードからユーザーモードへの移行が驚くほど高い(スイッチあたり1000マシンサイクル)。

Exokernelプロジェクトがどの程度成功したか失敗したかは、私にはわかりません。リソース保護を提供する驚くべき新しい方法を思いついたケースは確かにいくつかあります(オペレーティングシステムがディスクブロックのアクセス許可を管理し、ファイルシステム全体がユーザーレベルで管理されるディスクモデルなど)。彼らはまた、その頃からのいくつかの優れたアイデア、例えば、カール・ウォルドスバーガーの宝くじのスケジューリング技術を活用することもできました。そして、機能ベースの保護がかなり効率的であることが判明したいくつかのケースがありました。

他にも、ポリシーの柔軟性を提供することでカーネル境界を越える数が劇的に増加し、他の手法に頼らなければならない場合がありました。たとえば、ネットワークパケットフィルタリングでは、ユーザーレベルでフィルタリングを実行する代わりに、カーネルでフィルタリングを実行しましたが、ユーザープログラムに、実行する小さな(したがって(したがって安全な)プログラミング言語で)小さなプログラムを送信する機能を提供しましたカーネル。この分野の同様のアイデアは、ワシントン大学のSPINオペレーティングシステムプロジェクトによってほぼ同時に調査されていました


1
準仮想化(OSはハードウェア上で直接実行されておらず、ハイパーバイザーとの通信インターフェイスを利用できることをOSが認識している)と外部カーネルモデルの違いのように聞こえるかもしれません。
ポールA.クレイトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.