カーネル自体は標準Cライブラリに依存していますか

カーネル自体は標準Cライブラリに依存していますか

私は、特に組み込みデバイス上で Linux が実際にどのように機能するか、そして完全に機能するシステムを構築するために必要なさまざまなコンポーネントについてさらに詳しく調べています。

glibc などの標準 C ライブラリの実装は別個であり、ユーザー空間アプリケーションが Linux カーネルと通信して連携するために必要であることを理解しています。

しかし、Linux コード自体は実際にこの標準ライブラリに依存しているのでしょうか? Linux はこれがなくても単独で実行できるのでしょうか?

答え1

いいえ、カーネルは標準 C ライブラリ (または他のライブラリ) に依存せず、自己完結型です。ユーザー空間プログラムも必ずしも C ライブラリに依存するわけではありません。C ライブラリはシステム コール用の便利なラッパーを提供しますが、C ライブラリを経由せずに直接呼び出すこともできます。また、他の言語ランタイムは独自のラッパーを提供することもできます。

(これは、カーネルに、通常Cライブラリによって提供されると予想される多くの関数の実装が含まれていることを意味します。カーネルに適した簡略化されたバージョンである場合もあります。このカーネル初心者向けFAQ詳細については。)

関連情報