Linux 驱动程序以内核模块(文件)的形式出现*.ko
,加载到内核时可以为其指定参数,并且通常位于/lib/modules/<kernel version>
.
BSD/OSX 的类似安排是什么?例如,我刚刚安装了 MacFUSE,但很难理解安装程序到底在我的系统中放入了哪些内容。
答案1
我不确定其他 BSD,但 OSX 有内核扩展(称为kext
)。
Kext 居住在/System/Library/Extensions/
.它们每个都是一个文件夹,包含设备描述和指令(制作驱动程序的指令)。 kext 中的东西需要合适的文件权限(通常属于具有0:0
mask 的用户755
)才能工作。
kext 就位后,操作系统将在重新启动时自动加载它(尽管有时会立即加载)。有时您需要清除 kext 缓存 ( rm -r /System/Library/Extensions/Caches/
),然后新的 kext 才能正常工作。