有人告诉我,对于大多数操作系统,驱动程序成为内核的一部分。这是怎么发生的?内核是否自行反编译,添加驱动程序并重新编译自己?或者是内核的驱动程序插件?司机甚至是他们自己的独立项目吗?
答案 0 :(得分:2)
将驱动程序编译到一个公开已知接口的库中。然后内核在启动时扫描驱动程序并将它们加载到内核内存中。某些操作系统(如linux)也支持在OS运行时可以加载/卸载的内核模块......
答案 1 :(得分:2)
即使7年前被问到那些多年后偶然发现它的人,我也要回答这个问题。
内核模式设备驱动程序实质上是内核的“模块”。您在Windows上的用户模式下具有动态链接库(DLL),在OS X上的Dylib具有动态链接库...将内核模式设备驱动程序视为等同于内核模式的驱动程序,只是它没有 have < / em>是为了扩展实际的内核,它可以用于必须在第三方应用程序的内核级别实现的功能。
此外,其背后的想法是主内核能够提供对一组API的访问,以供第三方内核模式软件依赖。否则,第三方开发人员将必须自己实现所有内容,而这基本上就是“ OS开发”。
子弹点:
我希望这对将来使用这个极老线程的绊脚石有所帮助;这个问题真的很好。