关闭

linux块设备驱动之相关结构体间的关系

标签: Linux驱动块设备驱动rquest
794人阅读 评论(0) 收藏 举报
分类:

        根据上一篇blog:linux块设备驱动之相关结构体

        前一篇blog中已经贴出这些相关的结构体,但是其中关系还是没有说的很清楚。现在来理一理它们之间的关系,首先是struct gendisk 和 struct block_device 以及struct hd_struct;其中struct  gendisk 表示的是一个块设备,而struct block_device表示是一个分区设备(也可以表示块设备),struct hd_struct表示的是一个分区信息;它们的关系如下面。

       

        下面是struct request 和 struct bio 的关系;其实还有一副图没有贴出,就是表示一个块设备只有一个队列,而该队列中有多个request,每个request都代表了一个请求。而request结构体真正的有效数据是bio,其实request的请求都是bio请求。如果不是硬盘之类的设备,比如闪存、ssd之类不需要对request请求进行排列顺序(因为硬盘请求是要移动磁头的,所以会在队列里把所有的request请求进行排序,一般我们熟悉的就是电梯算法;但是像ssd这样的设备是不需要用磁头的,可以随时访问任何地址,没有什么磁道之类的,也就不需要电梯算法对request请求进行排序之类的。所以不用request,直接用bio进行访问请求)

       


        转载地址:linux块设备驱动之相关结构体间的关系


0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:358783次
    • 积分:5116
    • 等级:
    • 排名:第5404名
    • 原创:146篇
    • 转载:64篇
    • 译文:0篇
    • 评论:79条
    博客专栏
    最新评论