首页 理论教育 嵌入式Linux编程实例:块设备相关结构体

嵌入式Linux编程实例:块设备相关结构体

时间:2023-10-31 理论教育 版权反馈
【摘要】:structgendisk结构体的相关函数如下。请求完成设置扇区尺寸4.structhd_struct结构体该结构体存储了磁盘上的分区信息。当这个结构代表一个块设备时,bd_disk指向设备的gendisk结构。

嵌入式Linux编程实例:块设备相关结构体

与Linux块设备驱动相关的结构体如下:

1.structblock_device_operations结构体

块设备通过structblock_device_operations结构使它们的操作对系统可用,定义在/include/linux/fs.h中。

2.structgendisk结构体

在Linux内核中,通常使用structgendisk结构体来表示一个独立的磁盘设备或者分区。

structgendisk结构体的相关函数如下。

3.structrequest_queue结构体

structrequest_queue结构体表征等待进行的请求队列。

(1)初始化请求队列

该函数的第1个参数是请求处理函数的指针,第2个参数是控制访问队列权限的自旋锁,该函数在块设备驱动的模块加载函数中调用。

(2)提取请求(www.xing528.com)

该函数用于返回下一个要处理的请求(由I/O调度器决定)。如果没有请求,则返回NULL。

(3)请求完成

(4)设置扇区尺寸

4.structhd_struct结构体

该结构体存储了磁盘上的分区信息。

5.structbio结构体

该结构用来描述内核以文件系统、虚拟内存子系统或系统调用的形式对块I/O设备进行的输入、输出数据的操作。

6.structblock_device结构体

该结构代表了内核中的一个设备,它可以表示整个磁盘或者一个特定的分区。当这个结构代表一个分区时,bd_contains指向包含这个分区的设备,bd_part指向设备的分区结构。当这个结构代表一个块设备时,bd_disk指向设备的gendisk结构。

Linux中的块设备和UNIX不同,在Linux中可以像访问字符设备一样访问块设备,UNIX只能将块设备看做块来访问。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈