Linux设备驱动模型的一些概念

2023-03-17  本文已影响0人  耕田者

sysfs: 用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。

kobject: 使所有设备在底层具有统一的接口,提供基本的对象管理,每个在内核中注册的kobject对象,对应sysfs中的一个目录。

kset: 相同类型kobject的集合。kobject通过kset组织成层次化结构。

Linux设备驱动模型相关数据结构定义于 <kernel source tree>/include/linux/device.h 包括:

- 设备结构: devices

- 驱动结构:drivers

- 总线结构:buses

- 设备类结构:classes

任一设备由device对象描述

任一驱动程序由device_driver对象描述

非静态全局变量及函数,需要显式EXPORT_SYMBOL才能输出到内核空间。

cat /proc/kallsyms #可用于查看内核模块输出到内核空间的内核符号。

上一篇 下一篇

猜你喜欢

热点阅读