web-dev-qa-db-ja.com

LinuxユーザーにBSD / OSXドライバーのしくみを説明する

Linuxドライバーは、カーネルモジュール(*.koファイル)の形式で提供されます。カーネルモジュールは、カーネルにロードされるときにパラメーターを指定でき、通常は/lib/modules/<kernel version>にあります。

BSD/OSXの同様の配置は何ですか?たとえば、MacFUSEをインストールしたばかりで、インストーラーがシステムに何を正確に配置したかを理解するのに苦労しています。

6
Alex B

他のBSDについてはよくわかりませんが、OSXにはカーネル拡張機能(kextとして知られています)があります。

Kextは/System/Library/Extensions/に住んでいます。それらのそれぞれは、デバイスの説明と命令(ドライバーを作成するもの)を含むフォルダーです。 kext内のものが機能するには、適切なファイル権限(通常、マスク0:0を持つユーザー755に属します)が必要です。

Kextを配置した後、OSは再起動時に自動的にkextをロードします(ただし、瞬時にロードされる場合もあります)。新しいkextが正しく機能する前に、kextキャッシュ(rm -r /System/Library/Extensions/Caches/)をクリアする必要がある場合があります。

3
phunehehe