驱动高级-块设备驱动基础.pdf

驱动高级-块设备驱动基础.pdf

ID:52518936

大小:339.75 KB

页数:25页

时间:2020-03-28

驱动高级-块设备驱动基础.pdf_第1页
驱动高级-块设备驱动基础.pdf_第2页
驱动高级-块设备驱动基础.pdf_第3页
驱动高级-块设备驱动基础.pdf_第4页
驱动高级-块设备驱动基础.pdf_第5页
资源描述:

《驱动高级-块设备驱动基础.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、块设备驱动基础基于linux-2.6.351块设备基本概念系统中能够随机访问固定大小数据片(chunk)的设备被称作块设备,这些数据片就称作块。块设备文件都是以安装文件系统的方式使用,此也是块设备通常的访问方式。块设备的访问方式是随机的,也就是可以在访问设备时,随意的从一个位置跳转到另一个位置。块设备的访问位置必须能够在介质的不同区间前后移动。所以事实上内核不必提供一个专门的子系统来管理字符设备,但是对块设备的管理却必须要有一个专门的提供服务的子系统。1.1块、扇区块设备中最小的可寻址单元是扇区,扇区大小一般是2的整数倍,最常见的大小是512字节。扇区的大小是设备的物理属性,扇区

2、是所有块设备的基本单元,块设备无法对比扇区还小的单元进行寻址和操作,许多块设备能够一次传输多个扇区。块是文件系统的一种抽象,只能基于块来访问文件系统。物理磁盘寻址是按照扇区级进行的,内核执行的所有磁盘操作都是按照块进行的。扇区是设备的最小可寻址单元,所以块不能比扇区还小,只能数倍于扇区大小。内核对块大小的要求是,必须是扇区大小的整数倍,并且要小于页面的大小,所以,块地大小通常是512字节、1K或4K。内核对所有块设备的I/O操作都必须基于扇区来进行,块是内核使用的较高层概念,是比扇区更高一层的抽象。如图所示。11.2簇、柱面、磁头1.2.1簇文件系统是操作系统与驱动器之间的接口,

3、当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰

4、好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。簇是指可分配的用来保存文件的最小磁盘空间,计算机中所有的信息都保存在簇中。簇越小,保存信息的效率就越高。在FAT16文件系统中,每个分区最多有65525个簇,簇大小默认值为32KB;在FAT32文件系统中使用的簇比FAT16小,默认为4KB。1.2.2柱面和磁头硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=5

5、12字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,2习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数要点:l硬盘有数个盘片,每盘片两个面,每个面一个磁头l盘片被划分为多个扇形区域即扇区l同一盘片不同半径的同心圆为磁道l不同盘片相同半径构成的圆柱面即柱面l公式:存储容量=磁头数

6、×磁道(柱面)数×每道扇区数×每扇区字节数l信息记录可表示为:××磁道(柱面),××磁头,××扇区2Linux块设备处理模型3lThegenericblocklayer–Thegenericblocklayer隐藏硬件细节,提供block设备的抽象视图。–提供通用的数据结构描述“disks”和“diskpartitions”lI/Oschedulerlayer–I/Oscheduler(I/O调度器)根据内核制定的策略对未决的(pending)I/O数据传送请求进行排序和调度。–提高I/O调度器的效率也是影响整个系统对块设备上数据管理效率的一个方面。lBlockDeviceDri

7、ver–设备驱动程序,完成和硬件的具体交互。3块设备相关数据结构块设备驱动,像字符驱动一样,必须使用一套注册接口向内核注册,以便内核可使用这些设备。两类设备在概念上是类似的,但是块设备注册的细节却不相同,块设备有单独一套数据结构和相关操作。3.1gendisk结构体内核使用gendisk结构来表示一个独立的磁盘设备,内核还使用gendisk结构表示分区,4在此结构中,很多成员必须由驱动程序来进行初始化。此结构定义在中。#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。