linux下的API:open函数调用设备驱动的一个问题

如果这样写open(驱动设备文件名,O_RDWR),会去调用这个驱动对应open函数。但是如果open函数去打开其他各种各样的文件,这时候调用的底层驱动是哪个?我是lin... 如果这样写open(驱动设备文件名,O_RDWR),会去调用这个驱动对应open函数。
但是如果open函数去打开其他各种各样的文件,这时候调用的底层驱动是哪个?
我是linux驱动初学者,今天发现open函数去打开驱动设备文件的时候,会调用这个驱动程序,这是为什么,open是怎么找到的驱动程序?谢谢了
展开
 我来答
寻秦记记
2016-12-02 · TA获得超过1040个赞
知道小有建树答主
回答量:1098
采纳率:100%
帮助的人:461万
展开全部
这跟文件系统有关系,掌握sys文件系统就知道了,linux 驱动和结构体file_operations
关联,结构体里面包含open函数,每一个驱动都会实例化open函数,当应用调用open时,内核就会通过file_opereations中的信息确定所有打开的设备
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式