向 Linux 用户解释 BSD/OSX 驱动程序如何工作

向 Linux 用户解释 BSD/OSX 驱动程序如何工作

Linux 驱动程序以内核模块(文件)的形式出现*.ko,加载到内核时可以为其指定参数,并且通常位于/lib/modules/<kernel version>.

BSD/OSX 的类似安排是什么?例如,我刚刚安装了 MacFUSE,但很难理解安装程序到底在我的系统中放入了哪些内容。

答案1

我不确定其他 BSD,但 OSX 有内核扩展(称为kext)。

Kext 居住在/System/Library/Extensions/.它们每个都是一个文件夹,包含设备描述和指令(制作驱动程序的指令)。 kext 中的东西需要合适的文件权限(通常属于具有0:0mask 的用户755)才能工作。

kext 就位后,操作系统将在重新启动时自动加载它(尽管有时会立即加载)。有时您需要清除 kext 缓存 ( rm -r /System/Library/Extensions/Caches/),然后新的 kext 才能正常工作。

相关内容