块设备驱动指的是文件系统驱动(FAL+FMD)吗
来源:互联网 发布:java虚拟机相关书籍 编辑:程序博客网 时间:2024/05/08 08:01
不好意思,周末happy去了,没有上来。
块设备驱动从字面上来看,它是以块即block为单位进行读取的流式设备驱动。
因为属于流驱动范畴,所以也是XXX_Init XXX_Read XXX_Write XXX_IOContorl的接口形式。
但是这种驱动往往用于存储设备,所以一般是冠以DSK_的prefix,而且它会有一个固定的ICLASS={..... .....},你随便找个sample看看就晓得了。所有的块设备驱动会在被设备管理器加载后被存储管理发现,因为它的ICLASS会让device.exe偷偷告诉filesys.exe有活干了,后者通知下属存储管理去加载块设备驱动所注明的文件系统并且mount上存在存储设备上的分区。
块设备驱动的IOContorl里面一般都会有固定的Read和Write的IOCTLCODE,上层的文件系统或其他middleware会通过这两个接口来存取数据,存取的最小单位是block,默认为512bytes。得益于块驱动的固定接口模型,方便系统在设计上层文件系统和其他middleware的时候具有最大的平台移植性。举例来说,SD卡和Nand虽然驱动不同,但是因为对外提供的接口都是块设备接口,所以文件系统都可以识别并且加载它们,就算你换到其他的SOC平台,文件系统和存储管理也不需要改变。块设备上层也可以不是文件系统,举个middleware的例子就是当device做massstorage client使用的时候,USB client驱动会直接访问块设备驱动接口,提供给USB host那段的数据访问服务。
在CE里面,块设备驱动有自己的专属类别(ICLASS),CE会把具有块设备驱动的ICLASS的驱动和普通设备驱动区分对待。比如电源管理中,块设备驱动必须在suspend过程中最后一个进入电源节省状态,而在resume的时候第一个进入电源恢复状态,以保证系统的正常运行(因为类似binfs的文件系统,都是建立在块设备驱动基础之上,基础不能work后上层建筑就挂了)
你的问题是FAL+FMD是否是块设备驱动?
答案是是块设备驱动,FAL+FMD是微软的NAND驱动的架构,类似于MDD+PDD,FAL+FMD整体上实现了一个完整的块设备驱动,当然按照微软的习惯,对外的流接口和与平台无关的逻辑层一定会放在MDD层也就是FAL层去实现,而和硬件平台有关的控制器的驱动就是FMD了。
块设备驱动从字面上来看,它是以块即block为单位进行读取的流式设备驱动。
因为属于流驱动范畴,所以也是XXX_Init XXX_Read XXX_Write XXX_IOContorl的接口形式。
但是这种驱动往往用于存储设备,所以一般是冠以DSK_的prefix,而且它会有一个固定的ICLASS={..... .....},你随便找个sample看看就晓得了。所有的块设备驱动会在被设备管理器加载后被存储管理发现,因为它的ICLASS会让device.exe偷偷告诉filesys.exe有活干了,后者通知下属存储管理去加载块设备驱动所注明的文件系统并且mount上存在存储设备上的分区。
块设备驱动的IOContorl里面一般都会有固定的Read和Write的IOCTLCODE,上层的文件系统或其他middleware会通过这两个接口来存取数据,存取的最小单位是block,默认为512bytes。得益于块驱动的固定接口模型,方便系统在设计上层文件系统和其他middleware的时候具有最大的平台移植性。举例来说,SD卡和Nand虽然驱动不同,但是因为对外提供的接口都是块设备接口,所以文件系统都可以识别并且加载它们,就算你换到其他的SOC平台,文件系统和存储管理也不需要改变。块设备上层也可以不是文件系统,举个middleware的例子就是当device做massstorage client使用的时候,USB client驱动会直接访问块设备驱动接口,提供给USB host那段的数据访问服务。
在CE里面,块设备驱动有自己的专属类别(ICLASS),CE会把具有块设备驱动的ICLASS的驱动和普通设备驱动区分对待。比如电源管理中,块设备驱动必须在suspend过程中最后一个进入电源节省状态,而在resume的时候第一个进入电源恢复状态,以保证系统的正常运行(因为类似binfs的文件系统,都是建立在块设备驱动基础之上,基础不能work后上层建筑就挂了)
你的问题是FAL+FMD是否是块设备驱动?
答案是是块设备驱动,FAL+FMD是微软的NAND驱动的架构,类似于MDD+PDD,FAL+FMD整体上实现了一个完整的块设备驱动,当然按照微软的习惯,对外的流接口和与平台无关的逻辑层一定会放在MDD层也就是FAL层去实现,而和硬件平台有关的控制器的驱动就是FMD了。
阅读全文
0 0
- 块设备驱动指的是文件系统驱动(FAL+FMD)吗
- WINCE FAL+FMD nand flash驱动
- 块设备驱动的写法
- 块设备驱动的引入
- Linux块设备驱动
- Linux块设备驱动
- 块设备驱动分析
- 块设备驱动编写
- 块设备驱动
- 块设备驱动层
- Linux块设备驱动
- 块设备驱动分析
- linux块设备驱动
- 块设备驱动设计
- 块设备驱动---RAMDISK
- Linux块设备驱动
- linux 块设备驱动
- Linux块设备驱动
- 进程通信
- vue2.0中过滤器的使用
- 入参校验工具
- 河南省第十届ACM省赛题目:问题 C: 最小秘钥
- 刘轩-心理课堂-五个赢得社交正面评价的秘诀
- 块设备驱动指的是文件系统驱动(FAL+FMD)吗
- 【设计模式】—— 外观模式Facade
- mysql explain执行计划详解
- 刘轩-心理课堂-改善自己的生活习惯
- 犬夜叉
- 了解
- 【C/C++多线程编程之一】VC6.0安装pthread
- 【Codeforces 808 A. Lucky Year】
- struts2上传文件