博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【深入Linux块设备驱动层次之一】整体层次
阅读量:6286 次
发布时间:2019-06-22

本文共 672 字,大约阅读时间需要 2 分钟。

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

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

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

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

你可能感兴趣的文章
拥抱PostgreSQL,红帽再表态:SSPL的MongoDB坚决不用
查看>>
让架构更简单,QCon上海2016热点前瞻
查看>>
如何测试ASP.NET Core Web API
查看>>
SQL Server新一轮更新
查看>>
想像亚马逊或 Netflix 一样酷?抱走敏捷转型五大秘籍
查看>>
《Git in Practice》作者访谈:关于Git的八个问题
查看>>
Visual Studio 2019正式版发布,专注于人工智能和生产力
查看>>
写给Java程序员的Java虚拟机学习指南
查看>>
苏宁11.11:如何基于异步化打造会员任务平台?
查看>>
滴滴开源支撑业务代码重构工具Rdebug
查看>>
Table Editor 使用方法
查看>>
支持多种小程序!阿里云ARMS推出小程序监控
查看>>
《The Age of Surge》作者访谈
查看>>
《A Seat at the Table》作者访谈录
查看>>
F# 4.5提供Spans、Match!等特性
查看>>
微信小程序模块化开发实践
查看>>
Jenkins将致力于提升稳定性、易用性和云原生兼容性
查看>>
Facebook开源工具包LASER,支持93种语言
查看>>
禁止eclipse校验JavaScript
查看>>
从微服务迁移到工作流的经验之谈
查看>>