何がカーネル

Bookmark and Share this Article Original English article

自分自身に着く前に控えて、見てみましょう、カーネルのオペレーティングシステムでの役割をします。 ほとんどのオペレーティングシステムでは、ウィンドウを含むunixと、カーネルは、特別なソフトウェアをコントロールするさまざまな要素が非常に重要な機械です。 カーネルの存在は、ハードウェアとの間で個別のプログラムを実行しています。 ハウスキーピングのさまざまな機能を実行するための重要なオペレーティングシステムとの間の連絡役としての演技のユーザレベルのプログラムとは、ハードウェア、カーネルのサービスを提供し、重要な役割をします。 多くのカーネルを含め、発見されunixとwindowsのシステムでは、コアとして、次の機能があります:

  • プロセスやスレッドを制御します。 プログラムを実行すると、カーネルの指図を作成するときに実行されるスレッド内でのさまざまなプロセスとそれらのプロセスです。 いくつかのプロセスには何もない以上、実行中のプログラムに割り当てられたメモリ、およびスレッドは、個別のストリーム内のプロセスを実行します。 カーネルorchestratesさまざまなプロセスとそのスレッドのように複数のプログラムを同時に実行することができ、同じマシン上で、透過します。

  • プロセス間通信を制御します。 必要なデータを送信するときに1つのプロセスまたは別のプロセスに、カーネル自体のように、さまざまなプロセス間通信機能を活用することができ、ほとんどのカーネルおよびデータ信号を送信します。

  • メモリを制御します。 カーネルのメモリ割り当てを実行するプログラム、およびメモリを解放することがなくなった時に必要になります。 このメモリ制御が実装され、カーネルの仮想メモリ管理機能を利用した物理ramとハードドライブの空き容量の情報を保存するための実行中のプロセスです。

  • ファイルシステムを制御します。 カーネルのすべてのアクセスを制御して、ハードドライブ、抄録生のシリンダとセクターは、ドライブのファイルシステム構造をします。

  • その他のハードウェアを制御します。 カーネルの間のインターフェースを管理し、さまざまなハードウェア要素のように、キーボード、マウス、ビデオ、オーディオ、およびネットワークデバイスのためのさまざまなプログラムを活用することができ操作して入力と出力します。

  • 割り込み制御:さまざまなときには、マシンのハードウェアコンポーネント注意する必要があり(例えば、パケット到着して、ネットワーク上のインターフェイス)または通常のプログラムに遭遇するイベント(例えば、ゼロ除算)は、カーネルが責任をもって決定その結果の処理方法を割り込みました。 され、細心の注意を割り込み自体のカーネルのコードを使って情報を送信したり、特定のプロセスに対処するには、カーネルのオペレーティングシステムにスムーズに続けています。

これらの機能は、カーネルについては、すべての制御: interstices座っているのは、ユーザプログラムおよびハードウェアを制御するとマシン上で何が起こっています。

それを実行するたびに、カーネルレベルの保護に頼っているハードウェアで実装され、システムのcpuが必要です。 ハードウェアレベルの保護を使用する場合、カーネルを保護しようとし、独自のデータ構造から重要な偶発的または故意の操作によって、マシンのユーザーレベルのプロセスです。 ほとんどのcpuハードウェアの機能を含め、システム上のソフトウェアを実行しましょうさまざまなレベルでの権限が必要です。 メモリ容量やその他の要素が非常に敏感なソフトウェア(カーネルのように)アクセスされるコードを実行することはできませんが、それほど重要なレベル(例えば、ユーザプロセス)します。 別のタスクを実行することは、 cpuのスイッチの間に、これらのさまざまなレベルの感度に応じて、現在のところ、特定のソフトウェアを実行します。

linuxとwindowsのオペレーティングシステムでは、リング0と3が使用されのみ; [その他のオプションでサポートされてx86でのcpu ( ie 、指輪1および2 )はありません活用します。 カーネル自体は、 linuxとwindowsの両方で、実行されるリング0 。 実際のところ、リング0で定義されて実行中のタスクを与えられたとして、カーネルレベルです。 実行している場合、リング0 、アクセスすることができ、すべてのカーネルのメモリ構造で、そのためには、同じレベルでのカーネルのコードします。 ユーザーモードで実行するプロセスの指輪3 、および、ほとんどの条件下ではありませんカーネル空間に直接アクセスできるようにします。 x86以外のcpu 、オペレーティングシステムを活用すると類似の概念をリング0とリング3で実装され、 cpuのハードウェアです。 ほぼすべてのcpuの概念をサポートするいくつかの特権モードでは、カーネルのどこに住んと、 nonprivilegedモードをユーザプロセスします。

このため、実際にお使いのオペレーティングシステムには、 2つの世界:ユーザーモードとカーネルモードになります。 通常モードでは、ユーザーを参照してくださいと交流することは、毎日の基礎をお使いのシステムは、それが含まれているプログラムを実行するなど、コマンドシェルは、 guiのは、メールサーバー、またはテキストエディタでいます。 他の世界では、カーネルモードでは、全体の運用管理下にある暗黙のうちには、ハードウェアと通常のアクセスを制御することができる。 システムが起動したときに、カーネルがメモリにロードされ、実行を開始し、リング0 、それを作成する第一次世界(カーネルモード)します。 取得した後、カーネルメモリ自体に設置され、それを有効にuser - modeでのさまざまなプロセスを行うことができるシステムにアクセスするユーザーに個別のプログラムを実行すると、それは、 user - modeの世界を作成します。

することが重要に注意してカーネルモードのルートからは、非常に異なったコンセプトまたは管理者権限をします。 コマンドを実行するときには、管理者は、ユーザーモード内で、特定のプログラムが実行;それは、指輪3 。 カーネルの観点から、管理者だけでは、別のユーザーは、 1つの重要な〜にもかかわらず、それでもさせるに住んでいるの指輪3 。

ほとんどのプログラムを実行するときに、ときどき制御を渡すからユーザモードには、カーネルモードでは、プログラムのようなときに必要なハードウェアにアクセスし、印刷して画面で、パケットを受け取った、または他のいくつかのアクションです。 この場合は、非常に慎重なコントロールは、ユーザーから渡さモードをカーネルモードでは、インターフェイスを通じてしっかりと制御します。 このソフトウェアを実装してからの移行の指輪3からリング0が呼ばれるコールゲートは、門のような行為としては、ユーザモードでのソフトウェアのプロセスをカーネルモードに住んでいます。

管理者のリストを要求するときに実行中のプログラムのようなツールを使って、 unixのps 、 lsof 、または上のコマンドまたはwindowsのタスクマネージャ、彼らからのコマンドを実行するユーザーモード、カーネルの要求を実行中のすべてのプロセスをリストします。 カーネルのチャンスが巡ってカーネルモードからのデータのデータ構造は、コマンドは、 user - modeに応答して、適切な情報を提供し、実行中のプロセスが表示されます。 同様に、管理者またはユーザーのファイルのリストを要求するかもしれないが、ディレクトリにあります。 カーネルの応答に適切な情報をします。 または、これを探すことができtcpまたはudpのポートが使用される場合、またはネットワークインターフェイスかどうかは、 promiscuousモードだ。 でもお勧めの整合性チェッカーを実行するファイルを参照してくださいあれば、お客様の重要なシステムファイルを改変してきた、ユーザーモードのルートキットです。 これらのすべての相互作用、およびはるかには、カーネルに頼っているのは、マシンのステータスを決定します。 そんなふうにしてすべての仕事をします。 カーネルのビジネスを引き受けて、みんなが幸せだった。

これは、記事を追加したクワンラファエル
免責事項:弊社のウェブサイト上に含まれる情報は、責任を負いませんこの記事されました。 この記事ではない方法での意見を反映して、ご意見、思想や信条の記事ディレクトリのスタッフします。

翻訳注意:記事"何が、カーネル"だった翻訳する自動翻訳サービスを使っています。 すべてのお客様にご迷惑を翻訳してエラーが発生しました。 理解していただきありがとうございました。


  Online: 1397 users browsing the articles directory © 2005-2010 E-articles.info All Rights Reserved.  
The articles and tutorials in the directory are property of their respective owners and authors.