驱动程序的类型
静态链接的内核设备驱动程序,直接编译和链接在内核中,静态链接的模块,一旦编译进入了内核,就始终附加在内核上,直到重新编译内核为止。
可加载内核模块loadable kernel modules, LKM能够被加载和卸载而不必重新链接内核,而且最重要的是,不需要重新启动你的计算机,这就能让你动态地配置系统。
共享库,在有些情况下,驱动程序可以作为一个共享库来实现,但如果驱动程序需要特殊的权限或者有特殊的时限需要则不行。这种共享库一般可供那些使用标准低层驱动程序和硬件通信的高层驱动程序使用。
无特权用户模式程序,程序代码在内核模式或用户模式下执行,前面的那些类型运行在内核模式,而其他类型运行在用户模式,运行在内核模式的代码对硬件有无限的低层访问权,而对高层的访问就不那么容易实现。
特权用户模式程序
设备驱动程序通常分成下半部和上半部的两层。上半部完成与内核的通信工作,下半部在需要实际访问硬件时调用。
静态链接的内核设备驱动程序,直接编译和链接在内核中,静态链接的模块,一旦编译进入了内核,就始终附加在内核上,直到重新编译内核为止。
可加载内核模块loadable kernel modules, LKM能够被加载和卸载而不必重新链接内核,而且最重要的是,不需要重新启动你的计算机,这就能让你动态地配置系统。
共享库,在有些情况下,驱动程序可以作为一个共享库来实现,但如果驱动程序需要特殊的权限或者有特殊的时限需要则不行。这种共享库一般可供那些使用标准低层驱动程序和硬件通信的高层驱动程序使用。
无特权用户模式程序,程序代码在内核模式或用户模式下执行,前面的那些类型运行在内核模式,而其他类型运行在用户模式,运行在内核模式的代码对硬件有无限的低层访问权,而对高层的访问就不那么容易实现。
特权用户模式程序
设备驱动程序通常分成下半部和上半部的两层。上半部完成与内核的通信工作,下半部在需要实际访问硬件时调用。