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つの理由に同意しますか?
そうでない場合は、私を訂正してください。