LinuxとUNIX - カーネル - 違いを理解するには? [閉鎖]

LinuxとUNIX - カーネル - 違いを理解するには? [閉鎖]

1980年代に最も人気のある2つのオペレーティングシステムが登場しました。

1)システムVAT&T製

2)BSDUCバークレーで設立

一部BSD変形はOpenBSD、FreeBSD、Mac OS X

一部システムVバリアントにはAIX / HP-UX / Solarisが含まれます。


Linux1991年に製作され、次のもので構成されました。

GNUツール(ユーザースペース)+ Linuxカーネル(カーネルスペース)


比較するUNIX カーネル vs GNU ハード vs Linux カーネル基本的な/関連UNIX/Linux カーネルユーザーが知っている違いは次のとおりです。カーネル統合(ビルド)戦略方法、

Unixの場合、コアカーネルお​​よびサービス層(例:MemoryMgmt / ProcessMgmt / IPC / ..)が静的にコンパイルされリンクされてカーネル実行可能ファイルを生成します。単一の静的バイナリ。

GNUハードから、コアカーネルは静的実行可能ファイルとしてのみ構築され、サービスは動的モジュールとして構築されます。起動時にコアカーネルがロードされ、メモリに常駐します。コアカーネルは必要に応じてサービス層を動的にロードします。サービスが不要になった場合は削除されます。ロード可能なモジュールがあるカーネル。

長所短所:

  • 単一の静的バイナリは応答時間が短くなります。
  • ロード可能なモジュールを持つカーネルは応答時間が長くなります。
  • 単一の静的バイナリは、すべてのサービスの完全な静的イメージを含むため、より多くのメモリを占有します。
  • ロード可能なモジュールを持つカーネルはメモリを少なくします。

Linuxカーネル統合(ビルド)戦略は「モジュラーカーネル」と呼ばれ、上記の2つの戦略を組み合わせたものです。言及する理由があることを願っています。GNU ハード


Linux/UNIX カーネルのメカニズム、1) カーネルとそのサービスの作業 2) ユーザーへのインターフェースの提供(シェルおよびシステムコール)、以下に示すように常に同じです。

ここに画像の説明を入力してください。


したがって、Linux/UNIX カーネルユーザーの場合

1)さらに重要なこと違いを理解してくださいカーネル統合(ビルド)戦略方法。

2)UNIXとLinuxカーネルのメカニズムが同じであれば、もっと考えることができます。それほど重要ではない 議論された側面様々な実装Cのサービス層(Memory_mgmt_policy/drivers/FileSytems/....)を使用します。なぜそれほど重要ではないのですか?これはLinux / UNIXカーネルユーザーのための抽象化であり、各オペレーティングシステムの実装は常に異なり(同じではありません)、時間の経過とともに変わります。


私の質問:

UnixとLinuxカーネルの違いを理解するために、上記の2つの理由に同意しますか?

そうでない場合は、私を訂正してください。

関連情報