Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxカーネルの機能の概要

Linuxカーネルの機能の概要

  

Linuxは、パーソナルコンピュータやワークステーション上のUnixライクなオペレーティングシステムです。しかし、それは決して単純化されたUnixではありません。対照的に、Linuxは強力で革新的なUnixライクなオペレーティングシステムです。これは、Unixの特性を継承するだけでなく、多くの点でUNIXを凌駕しています。 Unixクラスのオペレーティングシステムとして、Linuxカーネルには以下の基本機能があります。


1. Linuxカーネルはモノリシック構造になっています。つまり、Linuxカーネル全体が多数のプロセスで構成されており、各プロセスを個別にコンパイルして、リンカによって互いに接続して別々のターゲットプログラムにすることができます。情報の隠蔽の観点からは、彼女は隠ぺいの程度はなく、各プロセスは他のプロセスからも見えます。この構造の最大の特徴は、内部構造が単純でサブシステムにアクセスしやすいことです。そのため、カーネルは効率的に動作します。さらに、プロセスベースの構造は、さまざまな人がさまざまなプロセスの開発に参加するのに役立ちますこの観点から、Linuxカーネルはオープン構造であり、彼女は誰でもそれを変更、改善、および改善することができます。


2. Linuxのプロセススケジューリングはシンプルで効果的です。 Linuxは効率を追求することに飽きのこないとも言え、スケジューリング方法もユニークです。ユーザプロセスに対しては、Linuxは単純な動的優先度スケジューリング方式を使用し、カーネル内のルーチン(デバイスドライバ、割り込みサービスルーチンなど)に対しては、独自のメカニズムを使用します;ソフト割り込みメカニズムは、カーネルルーチンの効率的な操作


3. Linuxはカーネルスレッド(またはデーモン)をサポートしています。カーネルスレッドは、ターミナルやログインシェルを組み合わせずにバックグラウンドで実行されるプロセスです。多くの標準カーネルスレッドがあり、そのうちのいくつかは特定のタスクを実行するために定期的に実行され(swapdなど)、他のスレッドは継続的に実行され、特定のイベント(inetdやlpdなど)の処理を待機します。カーネルスレッドはユーザープロセスと言えますが、一般的なユーザープロセスとは異なり、カーネルのようにスワップアウトされないため、より効率的に実行されます。


4. Linuxは複数のプラットフォームで仮想メモリ管理をサポートしています。さまざまなハードウェアプラットフォームをサポートし、仮想ストレージ管理テクノロジの多様性を確保するために、Linux仮想メモリ管理はさまざまなハードウェアプラットフォームに統一されたインタフェースを提供するため、Linuxカーネルは新しいハードウェアプラットフォームはそれほど難しくありません。


5. Linuxカーネルのもう1つのユニークな機能は仮想ファイルシステム(VFS)です。仮想ファイルシステムは、複数の論理ファイルシステム(ext2、fatなど)に統一されたインタフェースを提供するだけでなく、(特別なファイルとして)さまざまなハードウェアデバイスに統一されたインタフェースも提供します。


6. Linuxのモジュールメカニズムにより、カーネルは独立していて拡張が容易です。モジュールメカニズムは、カーネルを再コンパイルせずにカーネルが新しいモジュール(新しいデバイスドライバなど)を追加するのを容易にします;同時に、モジュールメカニズムは、必要に応じてカーネルにモジュールを追加したり、カーネルからモジュールを削除したりできます。これにより、必要に応じてカーネルをカスタマイズできます。


7.特定のニーズに合わせてシステムコールを増やします。一般に、システムコールは、オペレーティングシステムの設計者がカーネル機能を使用するためにユーザーに提供するインタフェースですが、Linux用のオープンソースコードを使用して独自のシステムコールを設計し、それをカーネルに追加することもできます。


8.ネットワーク部分のオブジェクト指向設計により、Linuxカーネルは複数のプロトコルと複数のネットワークカードドライバを簡単にサポートできます。

Copyright © Windowsの知識 All Rights Reserved