固定头磁盘和一台活动头磁盘盘磁盘,有什么区别?有图示吗?

Fedora release 25 (Twenty Five)
判断cat /sys/block/*/queue/rotational的返回值(其中*为你的硬盘设备名称,例如sda等等),如果返回1则表示磁盘可旋转,那么就是HDD了;反之,如果返回0,则表示磁盘不可以旋转,那么就有可能是SSD了。
[cheshi@cheshi-laptop2 ~]$ cat /sys/block/nvme0n1/queue/rotational
[cheshi@cheshi-laptop2 ~]$ grep ^ /sys/block/*/queue/rotational
/sys/block/dm-0/queue/rotational:0
/sys/block/dm-1/queue/rotational:0
/sys/block/dm-2/queue/rotational:0
/sys/block/nvme0n1/queue/rotational:0
/sys/block/sda/queue/rotational:1
[cheshi@cheshi-laptop2 ~]$
这种方法有个问题,那就是/sys/block/下面不只有硬盘,还可能有别的块设备,它们都在干扰你的判断。
使用lsblk命令进行判断,参数-d表示显示设备名称,参数-o表示仅显示特定的列。
[cheshi@cheshi-laptop2 ~]$ lsblk -d -o name,rota
[cheshi@cheshi-laptop2 ~]$
这种方法的优势在于它只列出了你要看的内容,结果比较简洁明了。还是那个规则,ROTA是1的表示可以旋转,反之则不能旋转。
可以通过fdisk命令查看,参数-l表示列出磁盘详情。在输出结果中,以Disk开头的行表示磁盘简介,下面是一些详细参数,我们可以试着在这些参数中寻找一些HDD特有的关键字,比如:”heads”(磁头),”track”(磁道)和”cylinders”(柱面)。
下面分别是HDD和SSD的输出结果,HDD拷贝自网络。
Disk /dev/sda: 120.0 GB,
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074f7d
[cheshi@cheshi-laptop2 ~]$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB,
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xad91c214
[cheshi@cheshi-laptop2 ~]$
可以使用第三方工具判断,比如smartctl,这些工具的结果展示比较直观,但是需要单独安装。
硬盘三大种类(SSD;HHD;HDD)
固态硬盘(Solid State Drive):
用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态...
遇到这个问题的时候首先就将windows的几个直接获取磁盘相关信息的API函数给否决掉了,比如GetDiskType,返回类型只有几个,并且固态硬盘作为新生事物,这个多年前就存在的API应该是不可能有...
Linux下检查硬盘是否为固态硬盘Linux 下判断硬盘是否为固态硬盘可以通过判断硬盘是否是转动磁盘来判定。
SSD是非转动磁盘
HDD是转动磁盘
Linux可以通过读 sysfs:#cat ...
原文地址:http://www.jb51.net/hardware/yingpan/212165.html
SSD固态硬盘与HDD机械硬盘之间有什么区别?其实固态硬盘与机械硬盘各有优缺点,以下我们...
数据库放在 WDC WD3000BLFS (1万转)
跟放在 INTEL SSDSA2BW080G3
上的速度,有质的飞跃,不是同一个数量级的。
数据库必须得放到SSD上。
一、硬盘的硬件结构
1、硬盘外部结构 :电源接口、和数据接口、 控制电路板、 固定面板
2、硬盘内部结构:磁头组件 、磁头驱动机构、 磁盘片 、主轴组件、 前端控制电路
3、硬盘控制电...
《SSD VS HDD》:SSD比HDD消耗的功耗平均约少2-3瓦、SSD成本比较HDD每GB0.35美元、SSD容量能力不如HDD(差不多是4分之一)、SSD启动时间HDD快(平均约18S)、SSD...
查询/sys/block/sda/queue/rotational
如果打印为0则是SSD,否则为硬盘
这里的sda可自行更改为sdb,sdc等等
这里有个快速查询全部的方法
backplane slot背板插槽硬盘三大种类(SSD;HHD;HDD)
固态硬盘(Solid State Drive):用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、...
目的:为配置VSAN,需将所创建的三块硬盘类型的一块变成SSD类型,作为缓冲。步骤1:将主机的SSH打开,以使xshell进行连接,配置-&安全配置文件-&编辑将ESXI ...
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"移动的安全数据库—ORICO双盘位蜂巢存储硬盘柜评测移动的安全数据库—ORICO双盘位蜂巢存储硬盘柜评测茶叶姑娘百家号存储技术不断改进,硬盘容量也在不断飙升,从500GB到1T、2T,再到现在的4T、8T,几年间,硬盘容量已经进入10TB时代,超大的空间可以存储海量的歌曲,成千上万部电影以及无数的资料。对于硬盘空间有需求或是需要经常携带大数据的用户来说,选择一款外置式的存储系统是最佳的选择。ORICO是知名的外设厂商,旗下的ORICO双盘位蜂巢存储硬盘柜采用USB3.1和SATA3.0主控方案,支持USAP协议,拥有不输于电脑的传输速度,支持两块硬盘组成RAID,为电脑提供更大的存储空间。电脑的硬盘位是固定的,如果转移数据只能通过移动硬盘或是U盘,但是这两者都不是最完美的方案,ORICO双盘位蜂巢存储硬盘柜与内置的硬盘并没有实质的区别,更重要的是能够随身携带,任何电脑都可以使用,为超大存储提供更好的解决方案。ORICO双盘位蜂巢存储硬盘柜很大,至少要比我想象中大,原以为只是将两块硬盘连接在一起不会占用太大的空间,但是真正看到硬盘柜的时候才发现是错的。因为硬盘柜外观必须好看,材质要好,才能上得厅堂,内部空间要足够宽敞,拥有充足的散热空间和出色的散热系统,才能保证稳定运行。ORICO双盘位蜂巢存储硬盘柜采用散热足够出色的铝合金板材,正面是ORICO奥睿科的Logo。铝合金散热性能好,重量较钢材要轻,硬度也不如钢材,为了防止在携带时出现磕碰,也为了硬盘的稳定运行,ORICO特意在硬盘柜外加入了硅胶防护层,同时提供了提手。这样的设计可以保证硬盘柜的安全性,还可以随时携带,提升了便携性更具实用效果。为了保证散热,硅胶层采用了挖空设计,只在边角部分进行了覆盖,大部分机身都露在外面,保证散热效果。顶部加入了硅胶提手,由于是硅胶材质,手感细腻顺滑,柔韧度极高,耐拉扯,使用效果并不差于布质提手。提起来的时候,提手两端会出现金属拉簧,也就是说提手内部是金属材质,能够承受较高的重量,两块硬盘完全不足担心。左侧为铝合金挡板,表面密布均匀的散热孔,上方有两个LED指示灯,分别对应两块硬盘的工作状态。四角采用螺丝固定,可拆卸。右侧同样密布散热网孔,与左侧的散热网孔一起组成散热风道,能够将内部的热量排出,保证硬盘的稳定运行。左侧是ORICO双盘位蜂巢存储硬盘柜的操控区及连接接口。顶部红色的拨动键是RAID设置,向下依次是复位键,USB Type-C接口,开关机,DC电源接口。RAID设置开关分为1、2两个控制开关,分别对应1、2两块硬盘,这个功能只有在两块硬盘完全一样的情况下组成RAID陈列的时候才会采用,如果手中没有两块完全一样的硬盘或是不打算RAID不需要开启。底部在硅胶保护套外面又加入了防滑脚垫,好处是拥有极好的防滑效果,又提供了一定的高度,具有良好的通风散热效果。ORICO双盘位蜂巢存储硬盘柜并没有内置硬盘,使用的时候需要自备硬盘,安装硬盘需要拆下左侧的挡板。铝合金挡板内部也是一样的光滑,足够高的厚度保证内部的安全。ORICO双盘位蜂巢存储硬盘柜支持两个硬盘同时运行,内部提供了两个硬盘位,通过定制的轨道进行固定,两个硬盘位之间预留出足够的空间保证内部的散热。硬盘支架为塑料材质,并不是ORICO不愿意采用金属材质,金属材质会产生静电,会对硬盘造成损伤,我们的电脑主机的硬盘支架采用的也是塑料材质。ORIC的硬盘支架与电脑里是一样的。两侧和底部都提供了固定螺丝孔位,保证硬盘的牢固。支架也密布较大的孔隙用来散热。底部的横向椭圆是拉手区。硬盘柜是内部的电路板,上面提供了两个SATA3.0硬盘接口,向下兼容SATA1.2两种型号。电脑早就普及,几乎每个人的家中都有几块硬盘,我接触电脑比较久,除了坏掉的,手上还能用的硬盘足有五六块,这还不包括2.5英寸的HDD硬盘,SSD硬盘以及没找到的硬盘,汗,不知不觉竟然在硬盘上投入了这么多。这么多的硬盘是不可能全部放入硬盘柜的,找两块容量最大,速度最快的硬盘吧。安装比较简单,只需要扣入硬盘支架,再用螺丝固定即可,硬盘支架是通用的,只要接触过DIY装机的用户都能轻松驾驭。所有的螺丝一定要保证一样的力度,这样才能保证硬盘受力均匀。可惜的是不支持免工具安装,否则整个安装过程会更加轻松一些。固定完成,推成硬盘柜即可,由于采用的是定制滑轨,只支持唯一的方向推入,这个并没有难度,不过推到底的时候要稍用下力,保证硬盘全部插入接口,其实这个很好分辨,如果硬盘全部推入,外面会整齐一致,反之,会留出一部分。两块硬盘全部安装完成,很简单,没有任何难度。接入电源和连接电脑,大功告成。按开机键开机。侧面的硬盘指示灯显示内部有几块硬盘以及运行状态,所有的状态一目了然。Winsdows7以上的系统都支持自动安装驱动, ORICO双盘位蜂巢存储硬盘柜不需要额外提供驱动,再者说,宽带已经普及,即使有驱动上官网下载即可,非常方便。其实,ORICO双盘位蜂巢存储硬盘柜在Windows7以上的电脑中是以U盘的形式存在的,由于支持USB3.1标准,理论速度可以达到10.0Gbps,虽然与SSD相比要差一些,但与电脑内置的机械硬盘相比,基本没有差别。将硬盘柜内硬盘的数据传输到电脑内置的硬盘上,大文件传输的速度在70MB/S至82MB/S之间。碎文件的传输速度超出预料,最低的时候为44.6MB/S,最快的时候却高达160MB/S,说明ORICO双盘位蜂巢存储硬盘柜的芯片起到了重要的作用。RAID磁盘阵列能够提升硬盘的传输速度,还能保证数据的安全,如果手里有多余的硬盘完全可以利用起来组成RAID,但是如果硬盘里有数据最好转移保存,因为组成RAID阵列之后会组成一块新的硬盘,格式化之后才能使用。组成RAID磁盘阵列分很多种,硬盘越多组成Raid的方式也越多,针对2块硬盘的Raid只有Raid 0、1、2以及等几种,Raid 0在保持硬盘容量不变的情况下,提升传输数据的速度,Raid 1的硬盘容量会有损失,但是互为备份,也是最安全的组成方案,即使一块硬盘在使用中坏掉了,另一块硬盘仍然保存中数据。JOBD只是将2块硬盘串连起来,扩大存储容量 ,其他并没有变化,也是一种不错的组成方式。所有的Raid阵列方式只需要通过Raid设置开关就能调节,设置开关实际上就是两个向左右拨动的开关键,分别对应两块硬盘。由于我也是第一次使用Raid,也没有相关的经验,一切都是在摸索中进行,ORICO针对这些用户提供了详细的使用说明,所有的操作一目了然,并没有那种对未知的恐惧。当然第一次使用嘛,肯定要测试最简单的PM模式,PM比JODB模式还要简单,实质上与普通的硬盘组成并没有区别,如果硬盘内有数据,甚至都不需要转移,至于传输速度,肯定也与以前一样。Raid 0是将两块硬盘真正的组成一块新的硬盘,要格式化以后才能使用。重启硬盘柜之后电脑安装全新的驱动,这时候才能称得上真正的Raid。进入电脑后是找不到硬盘的,按照说明书的提示打开管理中的磁盘管理,这时就会弹出新的硬盘窗口。需要进行格式化才能使用,如果小于2TB可以使用MBT,大于2TB使用,我用的是淘汰下来的硬盘,容量不大,使用第一种方式即可。快速格式化后可以正常使用了,但是需要分配盘符,这些都不是问题,点击右键就可以搞定。由于此前的盘符实在是太多,已经将前面的那些采用占用了,这次选择了一个比较靠后的盘符X。ORICO双盘位蜂巢存储硬盘柜有一个优点是采用了Type-C接口,USB3.1 10Gbps传输标准,硬盘柜不用也可以给手机使用,很方便。10Gbps的传输速度完全可以胜任任何的文件传输要求,即使是上百GB的文件也不是问题。实际测试的结果如下:从测试结果可以看到,组成Raid之后,数据传输速度提升明显,但是也没有达到更高速度,这是因为10Gbps只是理念传输速度,实际要受到硬盘技术、硬盘接口、硬盘的老化程度、USB接口的材质,芯片的性能等各方面的限制,实际使用能够拥有这个速度已经很满意了,如果换成SSD,传输速度又会不同。这里提一点建议,ORICO双盘位蜂巢存储硬盘柜既能支持3.5英寸的硬盘,就能支持2.5英寸的SSD,无非就是硬盘支架的设计问题,只需要经过简单的调节就能解决。支持2.5英寸硬盘可以极大的扩展它的使用空间,手里的那些SSD和HDD就有了用武之地了。Raid 1将两块硬盘互为镜像,换句话说,两块硬盘保存的都是相同的数据,即使一块硬盘损坏,另一块硬盘仍然保存着完整的数据,这时只需要更换一块新的硬盘即可。Raid 1的优点是数据安全,适合一些珍贵或是安全级别极高的数据,绝对不会发生意外。缺点是两块硬盘只有一块硬盘的容量,如果是容量大小不同的两块硬盘只能使用小容量硬盘的空间,如果容量差距大的话意味着浪费了很大的资源。使用Raid 1并不会提升传输速度,真正的意义就是安全。由于我的两块硬盘组成Raid 0模式,就不再转换到Raid 1了,操作过程实际上都是一样的。ORICO双盘位蜂巢存储硬盘柜由于其强大的移动能力为数据存储传输提供了更全面的解决方案,即使有再多的数据,再庞大的文件都可以轻松携带,也为我们手中多余的硬盘找到了更好的解决方案。它能够提供比移动硬盘更大的空间,采用USB3.1 10Gbps传输标准,拥有10GbpsX2的极速传输速度,即使是海量的数据也可以在极短的时间内完成传输。使用范围极广,特别是对那些动辄几十几百GB数据的用户来说,ORICO双盘位蜂巢存储硬盘柜比移动硬盘更理想。磁盘阵列可以将两块硬盘组合使用,速度更高,安全性更强,即使一块硬盘在使用中坏掉也不用担心,互为镜像的特性能够保证数据万无一失。为了让硬盘稳定运行,ORICO采用了散热效果更出色的铝合金材质,内部拥有完整的散热通道,高速运转也能保证硬盘的稳定支行。简约的设计风格更具观赏价值,外部采用硅胶防护套提供了强大的保护能力,防震、防碰、防刮蹭,随身携带更放心。高效、高速、稳定、便携,为数据提供更宽广的空间,ORICO双盘位蜂巢存储硬盘柜全方位保护数据的安全,为硬盘找到更好的家。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。茶叶姑娘百家号最近更新:简介:半壁山房待明月,一盏清茗愁知音作者最新文章相关文章4.9 磁盘的结构
磁盘(Disk)是由表面涂有磁性物质的金属或塑料构成的圆形盘片,通过一个称为磁头的导体线圈从磁盘中存取数据。在读/写操作期间,磁头固定,磁盘在下面高速旋转。如图 4-23所示,磁盘的盘面上的数据存储在一组同心圆中,称为磁道。每个磁道与磁头一样宽,
一个盘面有上千个磁道。磁道又划分为几百个扇区,每个扇区固定存储大小(通常为512B), 一个扇区称为一个盘块。相邻磁道及相邻扇区间通过一定的间隙分隔开,以避免精度错误。
注意,由于扇区按固定圆心角度划分,所以密度从最外道向里道增加,磁盘的存储能力受限于最内道的最大记录密度。
磁盘安装在一个磁盘驱动器中,它由磁头臂、用于旋转磁盘的主轴和用于数据输入/输 出的电子设备组成。如图4-24所示,多个盘片垂直堆叠,组成磁盘组,每个盘面对应一个 磁头,所有磁头固定在一起,与磁盘中心的距离相同且一起移动。所有盘片上相对位置相同 的磁道组成柱面。按照这种物理结构组织,扇区就是磁盘可寻址的最小存储单位,磁盘地址 用“柱面号 o 盘面号 o 扇区号(或块号)”表示。
磁盘按不同方式可以分为若干类型:磁头相对于盘片的径向方向固定的称为固定头磁盘,每个磁道一个磁头;磁头可移动的称为活动头磁盘,磁头臂可以来回伸缩定位磁道。磁 盘永久固定在磁盘驱动器内的称为固定盘磁盘;可移动和替换的称为可换盘磁盘。
4.10 磁盘调度算法
一次磁盘读写操作的时间由寻找(寻道)时间、延迟时间和传输时间决定:
1) 寻找时间Ts:活动头磁盘在读写信息前,将磁头移动到指定磁道所需要的时间。这个时间除跨越n条磁道的时间外,还包括启动磁臂的时间s,即:
式中,m是与磁盘驱动器速度有关的常数,约为0.2ms,磁臂的启动时间约为2ms。
2)延迟时间Tr:磁头定位到某一磁道的扇区(块号)所需要的时间,设磁盘的旋转速度为r,则:
对于硬盘,典型的旋转速度为5400r/m,相当于一周11.1ms,则Tr为5.55对于软盘,其旋转速度在300~600r/m之间,则Tr为50~100ms。
3) 传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间,这个时间取决于每次所读/写的字节数b和磁盘的旋转速度:
式中,r为磁盘每秒钟的转数;N为一个磁道上的字节数。
在磁盘存取时间的计算中,寻道时间与磁盘调度算法相关,下面将会介绍分析几种算法,而延迟时间和传输时间都与磁盘旋转速度相关,且为线性相关,所以在硬件上,转速是磁盘性能的一个非常重要的参数。
总平均存取时间Ta可以表示为:
虽然这里给出了总平均存取时间的公式,但是这个平均值是没有太大实际意义的,因为在实际的磁盘I/O操作中,存取时间与磁盘调度算法密切相关。调度算法直接决定寻找时间,从而决定了总的存取时间。
目前常用的磁盘调度算法有以下几种:
1) 先来先服务(First Come First Served, FCFS)算法
FCFS算法根据进程请求访问磁盘的先后顺序进行调度,这是一种最简单的调度算法,如图4-25所示。该算法的优点是具有公平性。如果只有少量进程需要访问,且大部分请求都是访问簇聚的文件扇区,则有望达到较好的性能;但如果有大量进程竞争使用磁盘,那么这种算法在性能上往往接近于随机调度。所以,实际磁盘调度中考虑一些更为复杂的调度算法。
图4-25 FCFS磁盘调度算法
例如,磁盘请求队列中的请求顺序分别为55、58、39、18、90、160、150、38、184,磁头初始位置是100磁道,釆用FCFS算法磁头的运动过程如图4-25所示。磁头共移动了 (45+3+19+21+72+70+10+112+146)=498 个磁道,平均寻找长度=498/9=55.3。
2) 最短寻找时间优先(Shortest
First, SSTF)算法
SSTF算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比 FCFS算法更好的性能。这种算法会产生“饥饿”现象。如图4-26所示,若某时刻磁头正在 18号磁道,而在18号磁道附近频繁地增加新的请求,那么SSTF算法使得磁头长时间在18 号磁道附近工作,将使184号磁道的访问被无限期地延迟,即被“饿死”。
SSTF磁盘调度算法
例如,磁盘请求队列中的请求顺序分别为55、58、39、18、90、160、150、38、184,磁头初始位置是100磁道,釆用SSTF算法磁头的运动过程如图4-26所示。磁头共移动了 (10+32+3+16+1+20+132+10+24)=248 个磁道,平均寻找长度=248/9=27.5。
3) 扫描(SCAN)算法(又称电梯算法)
SCAN算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象,如图4-27所示。由于磁头移动规律与电梯运行相似,故又称为电梯调度算法。SCAN算法对最近扫描过的区域不公平,因此,它在访问局部性方面不如FCFS算法和 SSTF算法好。
SCAN磁盘调度算法
例如,磁盘请求队列中的请求顺序分别为55、58、39、18、90、160、150、38、184,磁头初始位置是100 磁道。釆用SCAN算法时,不但要知道磁头的当前位置,还要知道磁头的移动方向,假设磁头沿磁道号增大的顺序移动,则磁头的运动过程如图4-27所示。磁头共移动了(50+10+24+94+32+3+16+1+20)=250 个磁道,平均寻找长度=250/9=27.8。
4) 循环扫描(Circulair SCAN, C-SCAN)算法
在扫描算法的基础上规定磁头单向移动来提供服务,回返时直接快速移动至起始端而不服务任何请求。由于SCAN算法偏向于处理那些接近最里或最外的磁道的访问请求,所以使用改进型的C-SCAN算法来避免这个问题。
釆用SCAN算法和C-SCAN算法时磁头总是严格地遵循从盘面的一端到另一端,显然,在实际使用时还可以改进,即磁头移动只需要到达最远端的一个请求即可返回,不需要到达磁盘端点。这种形式的SCAN算法和C-SCAN算法称为LOOK和C-LOOK调度。这是因为它们在朝一个给定方向移动前会查看是否有请求。注意,若无特别说明,也可以默认SCAN 算法和C-SCAN算法为LOOK和C-LOOK调度。
C-SCAN磁盘调度算法
例如,磁盘请求队列中的请求顺序分别为55、58、39、18、90、160、150、38、184,磁头初始位置是100磁道。釆用C-SCAN算法时,假设磁头沿磁道号增大的顺序移动,则磁头的运动过程如图4-28所示。磁头共移动了(50+10+24+166+20+1+16+3+32)=322个磁道,平均寻道长度=322/9=35.8。
对比以上几种磁盘调度算法,FCFS算法太过简单,性能较差,仅在请求队列长度接近于1时才较为理想;SSTF算法较为通用和自然;SCAN算法和C-SCAN算法在磁盘负载较大时比较占优势。它们之间的比较见表4-4。
磁盘调度算法比较
公平、简单
平均寻道距离大,仅应用在磁盘I/O较少的场合
性能比“先来先服务”好
不能保证平均寻道时间最短,可能出现“饥饿”现象
寻道性能较好,可避免“饥饿”现象
不利于远离磁头一端的访问请求
C-SCAN算法
消除了对两端磁道请求的不公平
除减少寻找时间外,减少延迟时间也是提高磁盘传输效率的重要因素。可以对盘面扇区进行交替编号,对磁盘片组中的不同盘面错位命名。假设每个盘面有8个扇区,磁盘片组共 8个盘面,则可以釆用如图4-29所示的编号。
图4-29磁盘片组扇区编号
磁盘是连续自转设备,磁头读/写一个物理块后,需要经过短暂的处理时间才能开始读/ 写下一块。假设逻辑记录数据连续存放在磁盘空间中,若在盘面上按扇区交替编号连续存放,则连续读/写多个记录时能减少磁头的延迟时间;同柱面不同盘面的扇区若能错位编号,连续读/写相邻两个盘面的逻辑记录时也能减少磁头延迟时间。由于传输时间由磁盘转速决定,所以无法通过其他方法减少传输时间。以图4-29为例,在随机扇区访问情况下,定位磁道中的一个扇区平均需要转过4个扇区,这时,延迟时间是传输时间的4倍,这是一种非常低效的存取方式。理想化的情况是不需要定位而直接连续读取扇区,没有延迟时间,这样磁盘数据存取效率可以成倍提高。但是由于读取扇区的顺序是不可预测的,所以延迟时间不可避免。图4-29中的编号方式是读取连续编号扇区时的一种方法。
4.11 磁盘的管理:磁盘初始化、引导块、坏块
磁盘初始化
一个新的磁盘只是一个含有磁性记录材料的空白盘。在磁盘能存储数据之前,它必须分成扇区以便磁盘控制器能进行读和写操作,这个过程称为低级格式化(物理分区)。低级格式化为磁盘的每个扇区釆用特别的数据结构。每个扇区的数据结构通常由头、数据区域(通常为512B大小)和尾部组成。头部和尾部包含了一些磁盘控制器所使用的信息。为了使用磁盘存储文件,操作系统还需要将自己的数据结构记录在磁盘上:第一步将磁盘分为由一个或多个柱面组成的分区(即我们熟悉的C盘、D盘等形式的分区);第二步对物理分区进行逻辑格式化(创建文件系统),操作系统将初始的文件系统数据结构存储到磁盘上,这些数据结构包括空闲和已分配的空间以及一个初始为空的目录。
计算机启动时需要运行一个初始化程序(自举程序),它初始化CPU、寄存器、设备控制器和内存等,接着启动操作系统。为此,该自举程序应找到磁盘上的操作系统内核,装入内存,并转到起始地址,从而开始操作系统的运行。
自举程序通常保存在ROM中,为了避免改变自举代码需要改变ROM硬件的问题,故只在ROM中保留很小的自举装入程序,将完整功能的自举程序保存在磁盘的启动块上,启动块位于磁盘的固定位。拥有启动分区的磁盘称为启动磁盘或者系统磁盘。
由于磁盘有移动部件且容错能力弱,所以容易导致一个或多个扇区损坏。部分磁盘甚至从出厂时就有坏扇区。根据所使用的磁盘和控制器,对这些块有多种处理方式。
对于简单磁盘,如电子集成驱动器(IDE)。坏扇区可手工处理,如MS-DOS的Format 命令执行逻辑格式化时便会扫描磁盘以检查坏扇区。坏扇区在FAT表上会标明,因此程序不会使用。
对于复杂的磁盘,如小型计算机系统接口(SCSI),其控制器维护一个磁盘坏块链表。该链表在出厂前进行低级格式化时就初始化了,并在磁盘的整个使用过程中不断更新。低级格式化将一些块保留作为备用,对操作系统透明。控制器可以用备用块来逻辑地替代坏块,这种方案称为扇区备用。
4.12 文件系统知识点总结
引导控制块(Boot Control Block)包括系统从该分区引导操作系统所需要的信息。如果磁盘没有操作系统,那么这块的内容为空。它通常为分区的第一块。UFS称之为引导块(Boot Block); NTFS 称之为分区引导扇区(Partition Boot Sector)。分区控制块(Partition Control Block)包括分区详细信息,如分区的块数、块的大小、 空闲块的数量和指计、空闲FCB的数量和指针等。UPS称之为超级块(Superblock);而NTFS 称之为主控文件表(Master File Table)。
内存分区表包含所有安装分区的信息。
内存目录结构用来保存近来访问过的目录信息。对安装分区的目录,可以包括一个指向分区表的指针。
系统范围的打开文件表,包括每个打开文件的FCB复制和其他信息。
单个进程的打开文件表,包括一个指向系统范围内已打开文件表中合适条目和其他信息的指针。
文件系统实现概述
为了创建一个文件,应用程序调用逻辑文件系统。逻辑文件系统知道目录结构形式,它将分配一个新的FCB 给文件,把相应目录读入内存,用新的文件名更新该目录和FCB,并将结果写回到磁盘。图4-32显示了一个典型 的 FCB。
一旦文件被创建,它就能用于I/O,不过首先要打开文件。调用open将文件名传给文件系统,文件系统根据给定文件名搜索目录结构。部分目录结构通常缓存在内存中以加快目录操作。找到文件后,其FCB复制到系统范围的打开文件表。该表不但存储FCB,也有打开该文件的进程数量的条目。
然后,单个进程的打开文件表中会增加一个条目,并通过指针将系统范围的打开文件表的条目同其他域(文件当前位置的指针和文件打开模式等)相连。调用open返回的是一个 指向单个进程的打开文件表中合适条目的指针。所以文件操作都是通过该指针进行。
文件名不必是打开文件表的一部分,因为一旦完成对FCB在磁盘上的定位,系统就不 再使用文件名了。对于访问打开文件表的索引,UNIX称之为文件描述符(File Descriptor);而Windows 2000称之为文件句柄(File Handle)。因此,只要文件没有被关闭,所有文件操 作通过打开文件表来进行。
当一个进程关闭文件,就删除一个相应的单个进程打开文件表的条目即目录项,系统范 围内打开文件表的打开数也会递减。当打开文件的所有用户都关闭了一个文件时,更新的文 件信息会复制到磁盘的目录结构中,系统范围的打开文件表的条目也将删除。
在实际中,系统调用open会首先搜索系统范围的打开文件表以确定某文件是否已被其 他进程所使用。如果是,就在单个进程的打开文件表中创建一项,并指向现有系统范围的打 开文件表的相应条目。该算法在文件已打开时,能节省大量开销。
混合索引分配的实现
混合索引分配已在UNIX系统中釆用。在UNK SystemV的索引结点中,共设置了 13 个地址项,即iaddr(O)~iaddr(12),如图4-33所示。在BSD UNIX的索引结点中,共设置了 13个地址项,它们都把所有的地址项分成两类,即直接地址和间接地址。
图4-33 UNIX系统的inode结构示意图
1) 直接地址
为了提高对文件的检索速度,在索引结点中可设置10个直接地址项,即用iaddr(O)~iaddr(9)来存放直接地址。换言之,在这里的每项中所存放的是该文件数据所在盘块的盘块号。假如每个盘块的大小为4KB,当文件不大于40KB时,便可直接从索引结点中读出该文 件的全部盘块号。
一次间接地址
对于大、中型文件,只釆用直接地址并不现实。可再利用索引结点中的地址项iaddr(lO) 来提供一次间接地址。这种方式的实质就是一级索引分配方式。图中的一次间址块也就是索 引块,系统将分配给文件的多个盘块号记入其中。在一次间址块中可存放1024个盘块号, 因而允许文件长达4MB。
3) 多次间接地址
当文件长度大于4MB+40KB(—次间址与10个直接地址项)时,系统还须釆用二次间 址分配方式。这时,用地址项iaddr(11)提供二次间接地址。该方式的实质是两级索引分配方 式。系统此时是在二次间址块中记入所有一次间址块的盘号。在釆用二次间址方式时,文件 最大长度可达4GB。同理,地址项iaddr(12)作为三次间接地址,其所允许的文件最大长度可 达 4TB。
文件系统笔记四、磁盘调度算法
文件系统笔记四、磁盘调度算法
引言:在多道程序设计的计算机系统中,各个进程可能会不断对磁盘提出读/写请求。有时候进程发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列,合...
磁盘和内存读写简单原理
当程序要读取的数据时传入内存地址(行地址+列地址),如果数据不在主存中时,会触发一个缺页异常,此时系统会向磁盘发出读盘信号,通过柱面号,磁头号,扇区号定位磁盘位置,找到数据的起始位置并向后连续读取一页...
磁盘调度算法
磁盘调度算法
磁道、柱面、扇区、磁盘簇、寻道时间、旋转延迟、存取时间
磁道、柱面、扇区、磁盘簇、寻道时间、旋转延迟、存取时间
以盘片中心为圆心,用不同的半径,划分出不同的很窄的圆环形区域,称为磁道。
上下一串盘片中,相同半径的磁道所组成的...
磁盘操作系统(DOS)
Disk Operation System(DOS)即磁盘操作系统,与win7一样是一个操作系统,字符界面,单用户,单任务。
dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。...
操作系统--磁盘(1)
一.什么是磁盘硬盘也是磁盘,软盘也是磁盘,因为软盘比较容易折断,损坏,人们就将磁盘的存储片装到硬质金属盒子里,这样可以得到更好的保护—硬盘磁盘是通过磁性进行读写功能的设备,断电后保存的文件不会丢失内存...
操作系统之磁盘管理
磁盘存储器具有容量大、存取速度快、支持随机存取的特点,因此被广泛应用于计算机系统中。对于操作系统来说,管理好磁盘的三大要求和目标是:
(1)合理有效利用磁盘:采用合理的文件存储空间分配算法,尽量...
操作系统之磁盘调度和管理
FCFS:先到先服务
windows的磁盘操作之一——基本概念
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。http://cutebunny.blog.51cto.com/...
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"}

我要回帖

更多关于 固定头磁盘 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信