首页 > 其他 > 详细

说说字符设备驱动

时间:2014-03-06 00:56:01      阅读:477      评论:0      收藏:0      [点我收藏+]
讲解字符设备的时候,个人觉得比较有收获的主要是两个方面的知识:
1、字符设备号的管理原理(char_device_struct)
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。

  我把学到的两个知识点用图的方式总结出来,供大家参考。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1、字符设备号的管理原理
    重点在于内核在管理时所依赖的数据结构char_device_struct以及全局的散列表chrdevs。
    还有就是要知道内核对于设备号的注册与注销和驱动功能的实现是没有必然的联系的。设备号的管理是一个独立的机制,以避免驱动在使用设备号的时候发生冲突,导致驱动中的file_operation对应错误,进而出现应用层操作错误的设备。因为应用层对设备的操作就是通过设备号对应到具体的file_operation的。

bubuko.com,布布扣


2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
   这部分的内容主要是要熟悉open函数的调用流程,驱动中的file_operation结构体就是在open函数中通过设备号与进程相关的file结构体中相应函数进行对应的。在完成了open操作之后,其他的文件操作就可以直接调用驱动file_operation中的函数了。
   内核对于char_device_struct结构体的管理方式和设备号的cdev_map是类似的,都是通过主设备号作为哈希表的key来索引。

bubuko.com,布布扣

说说字符设备驱动,布布扣,bubuko.com

说说字符设备驱动

原文:http://blog.csdn.net/urtheappleinmyeye/article/details/20571453

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!