在第二章讲解字符设备的时候,个人觉得比较有收获的主要是两个方面的知识:
1、字符设备号的管理原理(char_device_struct)
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
对于以上两个主要的知识点,我觉得书上的条理已经很清楚的,很容易看懂,我在这里复述就多余了。我把学到的两个知识点用图的方式总结出来,供大家参考。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1、字符设备号的管理原理
重点在于内核在管理时所依赖的数据结构char_device_struct以及全局的散列表chrdevs。
还有就是要知道内核对于设备号的注册与注销和驱动功能的实现是没有必然的联系的。设备号的管理是一个独立的机制,以避免驱动在使用设备号的时候发生冲突,导致驱动中的file_operation对应错误,进而出现应用层操作错误的设备。因为应用层对设备的操作就是通过设备号对应到具体的file_operation的。