字符设备号的分配与管理
2015-05-22 17:31
232 查看
转载处地址:http://blog.chinaunix.net/uid-28422984-id-3528601.html
在第二章讲解字符设备的时候,个人觉得比较有收获的主要是两个方面的知识:
1、字符设备号的管理原理(char_device_struct)
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
对于以上两个主要的知识点,我觉得书上的条理已经很清楚的,很容易看懂,我在这里复述就多余了。我把学到的两个知识点用图的方式总结出来,供大家参考。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1、字符设备号的管理原理
重点在于内核在管理时所依赖的数据结构char_device_struct以及全局的散列表chrdevs。
还有就是要知道内核对于设备号的注册与注销和驱动功能的实现是没有必然的联系的。设备号的管理是一个独立的机制,以避免驱动在使用设备号的时候发生冲突,导致驱动中的file_operation对应错误,进而出现应用层操作错误的设备。因为应用层对设备的操作就是通过设备号对应到具体的file_operation的。
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
这部分的内容主要是要熟悉open函数的调用流程,驱动中的file_operation结构体就是在open函数中通过设备号与进程相关的file结构体中相应函数进行对应的。在完成了open操作之后,其他的文件操作就可以直接调用驱动file_operation中的函数了。
内核对于char_device_struct结构体的管理方式和设备号的cdev_map是类似的,都是通过主设备号作为哈希表的key来索引。
在第二章讲解字符设备的时候,个人觉得比较有收获的主要是两个方面的知识:
1、字符设备号的管理原理(char_device_struct)
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
对于以上两个主要的知识点,我觉得书上的条理已经很清楚的,很容易看懂,我在这里复述就多余了。我把学到的两个知识点用图的方式总结出来,供大家参考。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1、字符设备号的管理原理
重点在于内核在管理时所依赖的数据结构char_device_struct以及全局的散列表chrdevs。
还有就是要知道内核对于设备号的注册与注销和驱动功能的实现是没有必然的联系的。设备号的管理是一个独立的机制,以避免驱动在使用设备号的时候发生冲突,导致驱动中的file_operation对应错误,进而出现应用层操作错误的设备。因为应用层对设备的操作就是通过设备号对应到具体的file_operation的。
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
这部分的内容主要是要熟悉open函数的调用流程,驱动中的file_operation结构体就是在open函数中通过设备号与进程相关的file结构体中相应函数进行对应的。在完成了open操作之后,其他的文件操作就可以直接调用驱动file_operation中的函数了。
内核对于char_device_struct结构体的管理方式和设备号的cdev_map是类似的,都是通过主设备号作为哈希表的key来索引。
相关文章推荐
- linux驱动开发--字符设备:动态分配设备号
- 设备管理学习之设备分配
- 字符设备编号的注册分配
- Linux字符驱动中动态分配设备号与动态生成设备节点
- linux驱动一 设备号的分配和管理
- 字符设备cdev的分配和初始化
- 字符设备编号的注册分配
- linux字符设备驱动程序(一)----------分配设备号并注册设备
- 字符内存动态分配管理类(CAutoMem)
- 【整理】--【字符设备】分配设备号register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()
- 字符设备的组织形式与设备号的注册分配
- Linux字符驱动中动态分配设备号与动态生成设备节点
- 按资源分配管理技术,输入输出设备类型可分为哪三类?
- Linux 10字符设备管理
- Linux字符驱动中动态分配设备号与动态生成设备节点
- Linux字符驱动中动态分配设备号与动态生成设备节点
- Linux字符驱动中动态分配设备号与动态生成设备节点
- Linux字符驱动中动态分配设备号与动态生成设备节点
- 字符设备管理机制分析(一)
- TQ2440 LINUX 2.6.30.4 LED驱动感言,从最初的打印字符,到自动分配设备号,到自动创建设备节点,到此设备号分控led