さまざまなディストリビューションとカーネル間の安定性を維持するために、インストールプロセスの各コンポーネントが相互にどのように作用するかについて説明します。

Linuxカーネルは、コンピュータのメモリ、ハードウェア、プロセス、およびシステム呼び出しを管理します。Linuxディストリビューションは、次のようなカーネル上で動作する厳選されたユーティリティグループを追加します。

  • パッケージマネージャ
  • ファイルエクスプローラ
  • アプリケーション
  • ライブラリ
  • コマンドラインインタプリタ
  • デスクトップ環境

NIソフトウェアをインストールするには、ディストリビューションのパッケージマネージャを使用してNIソフトウェアパッケージを取得します。ドライバソフトウェアのインストールには、構成ユーティリティ、APIライブラリ、カーネルモジュールも含まれます。ネイティブパッケージマネージャはこれら3種類のパッケージをインストールしますが、カーネルモジュールをカーネルに追加するには別のステップが必要です。NIドライバソフトウェアは、ダイナミックカーネルモジュールサポート (DKMS) を使用して、NIドライバカーネルモジュールをカーネルに追加します。



カーネルモジュールがLinuxカーネルへのプラグインに使用するメカニズムは、異なるバージョンのカーネル間で簡単に壊れてしまいます。NIは、速いペースでアップデートされていくカーネルバージョンをNIソフトウェアがサポートできるように、カーネル抽象化レイヤ (NI-KAL) を作成しました。NI-KALは以下の処理を実行します。

  • Linuxカーネルのバージョン間の差異を平滑化させる
  • 同じNIソフトウェアスタックを、NIがサポートするいずれのカーネルでも動作させる