2012-04-08 3 views
7

どのようにプログラムはマイクロカーネル/モノリシックカーネル/エクソカーネルと通信しますか?プログラムはどのように通信するのですか?マイクロカーネルモノリシックカーネルエクソカーネル

enter image description here

私はモノリシックカーネルは、システムコールテーブル/ファイルシステム層を介してプログラムと通信していること、絵のように表示され、多くの本を読みました。

しかし、マイクロカーネルとexoカーネルはどのようにプログラムと通信しますか?

マイクロカーネルのベースはプログラムと直接通信し、マイクロカーネルはサーバーと通信しますか?更新

: は、私は、これは非常にうまくそれに答えた

クライアント - サーバまたはマイクロカーネルオペレーティングシステム、オペレーティング・システムの設計、マイクロカーネルにおける新しい概念の登場は、モノリシックのうち、オペレーティングシステムのtraditionalservicesを移行することを目的としている

カーネルをユーザーレベルのプロセスに変換します。このアイデアは、オペレーティングシステムを複数のプロセスに分割することです。各プロセスは、I/Oサーバー、メモリサーバー、プロセスサーバー、スレッドインターフェイスシステムなどの単一のサービスセットを実装します。各サーバーはユーザーモードで実行され、要求されたクライアントにサービスを提供します。クライアントは、別のオペレーティングシステムコンポーネントまたはアプリケーションプログラムのいずれかであり、サーバーにメッセージを送信してサービスを要求します。カーネルモードで動作するAnOSカーネル(またはマイクロカーネル)は、適切なサーバーにメッセージを配信します。サーバーは操作を実行します。マイクロカーネルは別のメッセージでクライアントに結果を返します。

+0

これらの書籍ではシステムコールインターフェイスについて言及していませんか?ある意味では、* nixシステムでは、ほとんどのプロセスがカーネルと通信する方法は** **です。 –

+0

@AdamMihalcinそうですね、あなたの言うことは、システムコールインターフェースを通して、そしてサーバーを通してではなく、プログラムが基本カーネルと通信しているということですか? – zeitue

+0

これらのドキュメントのこちらもhttps://docs.google.com/viewer?a=v&q=cache:P8U0Y9-4UPkJ:community.qnx.com/sf/sfmain/do/downloadAttachment/projects.core_os/wiki/Oct27_Microkernel_Innovation% 3Fid%3Datch1222 +&HL = EN&GL = US&PID = BL&SRCID = ADGEESgXFLBn6HJD6f9RndRAJJikgttpH7VoD8MW-YVTg7X2AsucCnhr6m2Jj9ivbSS7DjXnqll7Z8WDyvd2Gb7cBGMWCkjb3sLcqSJinAemmdSHuA0nOJPkXw1KGO05uSJPzpSXAgXn&SIG = AHIEtbSwaYInyP7NR98kM2hMJw5tsX5OrQそれは、すべてのものが通じ通信メッセージ・バスがあることを示しています。システムコールテーブルがこれらのマイクロカーネルのどこにあるのかまだ分かりません。 – zeitue

答えて

2

システムコールは、モノリシックとマイクロカーネルの両方と通信するための主な方法です。システムコールを使用すると、インターフェイスカーネルは、(シグナル、共有メモリ、メッセージパッシングなどの)多数のIPCメソッドを提供する可能性があります。マイクロカーネルの性質上、通常、IPCはそのようなカーネルの最も重要な部分であり、プログラムがサーバーと通信できるようにするために使用されます。

つまり、プログラムがカーネルに要求を行うためのシステムコールがあります。カーネルは、プログラムがマイクロカーネルベースのオペレーティングシステムのサーバーを含めて互いに通信できるようにする、いくつかのIPCメソッドを提供します。

+0

プログラムはカーネルと通信するので、プログラム - >ライブラリ - >サーバ - >カーネルのように< - 、はい? – zeitue

関連する問題