カーネルは、コンピューティングで使用される英語の単語で、 オペレーティングシステムコア、コンピュータの主要部分です。
カーネルバージョンを古いバージョンまたは現在のバージョンに変更するだけで、次の問題を解決できます。 ハードウェア また、コンピュータの互換性。
システムに関連するすべてを完全に制御できるカーネルは、起動時にロードされる最初のプログラムの1つです。 実行が開始されるとすぐに、カーネルは全体を検出するプロセスを開始します ハードウェア コンピュータが正しく機能するために必要です。
さらに、カーネルはからの入力および出力要求を処理します ソフトウェア、および使用されるメモリや周辺機器などを管理します。
カーネルの役割
システムのコアであるカーネルが責任を負います 接続します ソフトウェア に ハードウェア. このようにして、オペレーティングシステムのリソース間の効果的な通信を確立し、その機能を管理します。
カーネルによって管理されるオペレーティングシステムの主な機能を以下に示します。
プロセス管理
オペレーティングシステムでは、プロセスは実行中のプログラムです。 カーネルによって実行されるプロセス管理によって、実行されるプロセスが決定されます。
実行中の各プロセスは、同じ秒内にプロセッサに何度も出入りして、別のプロセスに道を譲ることができます。 カーネルは、プロセッサに割り当てられるプロセスを決定する責任があります。
プロセス間の切り替えは非常に迅速に行われるため、プログラムがプロセッサ上にない場合でも、プログラムは実行を継続できます。
アクセスモード
プロセスの実行は、2つの異なる方法で実行できます。
- ユーザーモード:いくつかのサブシステムで構成されています。 環境サブシステムを含むそのうちの1つは、さまざまな種類のオペレーティングシステム用に設計されたアプリケーションを実行します。 ユーザーモードは非特権モードと見なされます。 全ての ソフトウェア このようにして、プロセスの作成などの特権命令を実行するために、カーネルに要求を行う必要があります。
- カーネルモード:コンピュータ全体にアクセスできるため、特権があると見なされます。 CPUがカーネルモードの場合、CPUが実行されていることを示します。 ソフトウェア 信頼でき、あらゆる指示を実行することができます。
の意味も参照してください CPU.
メモリ管理
タスクマネージャでは、RAMメモリの一部(合計メモリ)がカーネルに割り当てられます。
プロセス管理中に、カーネルはプログラムをアドレス空間に送信します。 カーネルに割り当てられた合計メモリの一部 常に利用可能なメモリがあることを保証します メインプロセスがそのスペースに送信されるようにします。
カーネルには、各プロセスが操作中にアクセスできるメモリの部分を定義する機能もあります。
端末管理
カーネル コンピュータに接続されている周辺機器を制御します.
ユーザーがデバイス(ペンドライブ、プリンター、ヘッドホン、キーボード、マウスなど)を接続するたびに、カーネルはそのデバイスのメモリと、プログラムおよび ハードウェア コンピューターから。
各デバイスには、特定のオペレーティングシステムで動作するように設計されたドライブがあります。 したがって、 運転者 Windows用に設計されたものは、たとえばMACでは機能しません。
O 運転者 各デバイスの機能は、特定の電子デバイスとコンピュータのオペレーティングシステムの間で実行されるコマンドの一種の変換を実行することです。
オペレーティングシステムのサービスには、次のように指定されたユーザーインターフェイスを介してアクセスします。 シェル、これは英語で「シェル」を意味します。 名前は、 シェル コアの周りの最外層になります。
の意味を見る インターフェース.
システムコール
システムコールは、ユーザーモードで使用されるコンピュータープログラムで使用できる特定の機能です。 これらは、コンピュータのオペレーティングシステムのコアを呼び出すために使用されます。 特定のアクションを実行する.
これらの機能はしばしば複雑であり、平均的なユーザーがアクセスできない機能を使用します。
以下は、Windowsシステムコールとそれに対応するLinuxカーネルの例です。
ウィンドウズ | Linux | 説明 |
---|---|---|
closehandle |
閉じる |
ファイルを閉じる |
CreateFile | 開いた | ファイルを作成する |
ファイルを削除する | リンクを解除する | ファイルを削除する |
ExitProcess | 出口 | プロセスとそのすべてのセグメントを終了します |
GetLocalTime | チーム | 現在の場所、日付、時刻を取得する |
についてもっと知る ウィンドウズ.
カーネルタイプ
そのアーキテクチャに関する限り、オペレーティングシステムのコアは次のようになります。 モノリシック, ハイブリッド または 小核.
モノリシック
デバイスドライバーとコア拡張機能はコアスペースで実行され、 ハードウェア.
すべてのモジュールが同じアドレス空間で実行されるため、これらの空間の1つでエラーが発生すると、システム全体が影響を受ける可能性があります。
モノリシックの例:Linux、BSD、MS-DOSおよびSolaris。
Linuxは、最もよく知られているモノリシックカーネルの1つです。 お気に入り ソフトウェア Linuxは無料でポータブルであるため、IBMコンピューターからモバイルデバイスまで、数十のプラットフォームで実行できるという利点があります。 スマートフォン または iPod.
についてもっと知る ソフトウェア そしてハードウェア.
マイクロカーネルまたはマイクロカーネル
マイクロカーネルは、その名前が示すように、非常に小さなカーネルであるため、カーネル空間で実行されるプロセスは可能な限り少なくなります。 これらのプロセスの一部は、ユーザースペースで実行されます。
マイクロカーネルタイプのカーネルでは、エラーが発生した場合は、問題が発生したサービスを再起動するだけです。 これにより、システム全体がダウンするのを防ぎます(モノリシックカーネルの場合のように)。
小核の例:AIX、BeOS、L4、Mach、Minix、MorphOS、QNX、RADIOS、VSTa、GNUHurd。
ハイブリッド
ハイブリッドシステムは、モノリシックおよび小核システムと比較して、中立的な立場で機能するシステムと見なされます。 ハイブリッドは、マイクロカーネルの安定性とセキュリティをモノリシックなパフォーマンスと組み合わせています。
ハイブリッドカーネルはマイクロカーネルに似ていますが、実行される操作が高速になるように、カーネル空間にコード(「必須ではない」)があります。
ハイブリッドの例:AmigaOS、Android、Chrome、Macintosh、webOS、Windows、OSX、Xinu。
のカーネル アンドロイド Linuxから構築されています。 ただし、誰もが評価するわけではありません アンドロイド Linuxのように、Linux自体に基づいているのではなく、Linuxに基づいていると彼らは考えています。
についてもっと知る アンドロイド.