【深入Linux块设备驱动层次之一】整体层次

简介:

 最近在做文件系统和linux块设备相关的工作,需要对文件系统和底层块设备之间的关系和交互有比较深入的了解。笔者参考的书籍有敖青云所著的《存储技术原理分析-基于Linux2.6内核原代码》,同时参考的还有Jonathan Corbet、Alessandro Rubini和Greg Kroah-Hartman 一起著作的linux设备经典书籍《Linux设备驱动Edition 3 》、陈学松写的《深入Linux设备驱动内核机制》.对比了一下,还是敖青云写的很存储结合更紧密一些。整体上《存储技术原理分析-基于Linux2.6内核原代码》中对块设备的层次划分很清晰,完整地总结了通用块层、IO调度层和物理块设备层之间的关联。下面是他对块设备驱动的层次划分:

wKioL1kDLaqjFHt_AAC07xVhoXw855.png


但是对于它对块设备驱动的层次划分,个人认为上面的图不是特别精确。比如,根据Linux Storage Stack Diagrm 中的描述,md和device mapper设备驱动应该在I/O  scheduler之上:


wKiom1kDLdTDqn29AAHYNsWxOPA863.png

因为ioscheduler要实现scatter read/gather write, 就必须基于存储盘片或者RAID的物理特性,根据上层逻辑块设备或者device mapper发过来的逻辑IO请求,把它翻译转换成对应存储设备上的IO请求。因此这个层次的device mapper 需要在IO schedulre 层之上。















本文转自存储之厨51CTO博客,原文链接:http://blog.51cto.com/xiamachao/1920614 ,如需转载请自行联系原作者













相关文章
|
10天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
29天前
|
Linux API 调度
Linux系统驱动跟裸机驱动的区别
Linux系统驱动跟裸机驱动的区别
27 0
|
1月前
|
Linux C语言 SoC
嵌入式linux总线设备驱动模型分析
嵌入式linux总线设备驱动模型分析
32 1
|
28天前
|
存储 缓存 Linux
【Shell 命令集合 磁盘维护 】Linux 设置和查看硬盘驱动器参数 hdparm命令使用教程
【Shell 命令集合 磁盘维护 】Linux 设置和查看硬盘驱动器参数 hdparm命令使用教程
35 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
93 1
|
4天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
48 0
|
11天前
|
存储 缓存 固态存储
Linux设备全览:从字符到块,揭秘每种设备的秘密
在Linux的世界里,设备是构成系统的基础,它们使得计算机能够与外界互动。Linux设备可以大致分为几种类型,每种类型都有其独特的特性和用途。🌌让我们一起探索这些设备类型及其特性。
|
17天前
|
Linux
Linux驱动运行灯 Heartbeat
Linux驱动运行灯 Heartbeat
8 0
|
30天前
|
存储 缓存 Linux
探秘Linux块设备驱动程序:成为内核开发大师的第一步
探秘Linux块设备驱动程序:成为内核开发大师的第一步
86 0