字符设备驱动里各种结构体得关系??

发布于 2022-10-15 08:22:18 字数 128 浏览 22 评论 0

如题:字符设备驱动里各种结构体struct file与struct file_operations、 struct inode、struct   cdev ,都怎么相互发生关系的? 实在是晕。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

递刀给你 2022-10-22 08:22:18

本帖最后由 tempname3 于 2011-04-28 07:57 编辑

大概是这样。系统把设备号与cdev结构体关联。当打开一个设备文件时,首是文件名到inode的转换,得到inode后发现它是个字符设备,于是得到它设备号。如果设备号之前与cdev关联了,那么就取出这个cdev,生成file结构体,将其中的file_operation设置为cdev内携带的file_operation,大概还会调用其open方法。用户层对fd的读写最后就被引导到对应file中file_operation里的方法,而这些方法就是驱动里的方法。这样,驱动代码就得到执行的机会了。

Hello爱情风 2022-10-22 08:22:18

回复 2# tempname3

    谢谢LS的,清楚了一点点。哪位有清晰的描述,不妨继续写来。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文