相关疑难解决方法(0)

设备驱动程序代码在哪里执行?内核空间还是用户空间?

第1部分:

对于那里的linux/unix专家,请你帮我理解设备驱动程序.据我所知,驱动程序是一段代码,它直接与硬件交互并暴露一些api来访问设备.我的问题是这段代码在哪里运行,用户空间或内核空间?

我知道在内核空间中执行的代码有一些额外的权限,比如访问任何内存位置(如果我错了,请更正).如果我们安装第三方驱动程序并且它在内核空间中运行,这不会对整个系统有害吗?操作系统如何处理这个?

第2部分:

让我们举一个USB设备(相机,键盘......)的例子,系统如何识别这些设备?系统如何知道要安装哪个驱动程序?驱动程序如何知道设备的地址以读取和写入数据?

(如果这个太大而无法在这里回答,请提供一些好的文档或教程的链接..,我已经尝试过但无法找到这些答案.请帮助)

operating-system device-driver linux-kernel

11
推荐指数
1
解决办法
3561
查看次数