「カーネルモジュール」と「GNU Cライブラリ」は同じですか?

「カーネルモジュール」と「GNU Cライブラリ」は同じですか?

私はLinuxに初めてアクセスし、Linuxオペレーティングシステムの構造の基本を理解しようとしています。

それでは、「lsmod」と「GNU Cライブラリ」(約2000個のサブルーチン)の出力にリストされている「linux-kernel-modules」は同じですか?

答え1

いいえ、LinuxカーネルモジュールはGNU Cライブラリと同じではありません。どこでこのようなアイデアを得たのかわかりません。

カーネルモジュールはLinuxカーネルの一部であり、要求に応じてロードできます。構成によっては数千のモジュールがありますが、一般的なインストールには数百個しか使用されませんが、使用されるモジュールはハードウェアやその他の要因によって異なります。

一方、GNU Cライブラリはユーザープログラム用のC関数の集まりであり、カーネルでは使用されません。

答え2

まったく異なる2つを混同しています...

  • Linuxカーネルモジュールは平信者たちはそれを何と呼びますか?ドライバー。グラフィックカード、ネットワークカード、サウンドカードなどを使用できます。未使用のドライバを無効にできますが、必要なドライバがないとシステムは起動しません。

    カーネルモジュールは、コンピュータディレクトリ内のどこかに.ko拡張子を持つファイルとして見つけることができます。/lib/modules

  • GNU Cライブラリはよく知られたブランドシステムライブラリ(必要に応じてシステムDLL)。これはユーザープログラム(Cで書かれたUnixプログラムなど)として機能します。走るLinuxカーネルから。システムライブラリがない場合は、プログラムを実行するにはアセンブリ言語で書く必要があります。

    GNU Cライブラリの主な要素は、コンピュータディレクトリのどこかにlibc-*.soあるDLLというDLLとして見つけることができます。/lib/*-linux-gnu/

注:この回答は実際に質問を単純化しすぎました。

関連情報