外部存储器Word文档格式.docx
《外部存储器Word文档格式.docx》由会员分享,可在线阅读,更多相关《外部存储器Word文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
磁盘选择包括在可移动磁头系统中移动磁头或在固定磁头系统中选择某个磁头。
可移动磁头系统中,磁头从找到并定位到该磁道所花的时间称为寻道时间(seektime),一旦磁道选定,磁头系统处于等待状态,直到相关扇区旋转到磁头可读写位置,旋转延迟(RotaionalDelay)。
寻道时间和旋转延迟的总和称为存取时间(AccessTime),定位到读或写位置的时间。
寻道时间:
是移动磁头臂使磁头对准所要求磁道所花费的时间。
受到几个因素的影响:
初始启动时间、加速到指定速度和跨越若干个磁道所用的时间。
可用线性公式来估算寻道时间:
TS=m×
n+s
TS=寻道时间估算值
n=跨越的磁道数目
m=取决于磁盘驱动器的常数
s=启动时间
个人计算机硬盘可用m=0.3、s=20毫秒,大容量磁盘m=0.1、s=3毫秒
旋转延迟
传送时间:
向磁盘写入数据或由磁盘读出数据所用的传送时间,主要取决于磁盘的旋转速度。
T=传送时间
b=传送的字节数
N=每磁道字节数
r=旋转速度
总的平均存取时间的算式:
Ta=Ts+[1÷
(2×
R)]+b÷
(r×
N)
时序比较
扇区的读取时序对I/O性能有强烈的影响。
文件由多个扇区组成时,要有某种控制扇区散布的方法,多道程序设计环境中还有多个I/O请求竞争同一磁盘的问题。
磁盘I/O性能改善的方法,能超越纯随机磁盘存取所达到的性能,是很有价值的,这导致对磁盘调度算法的考察,属于操作系统领域。
5.2RAID
辅存性能的改进速度比处理器和主存的性能改进要慢得多。
磁盘存储系统成为改进整个计算机系统性能的焦点所在。
磁盘存储器设计者认识到:
并行使用多个元件会获得意外的性能。
思想导致开发了独立操作和并行处理的磁盘阵列。
对多盘数据库的设计,工业上通过了一个称为RAID的标准方案。
分为7级(0~6级),具有下列3个共同特性。
(1)RAID是一级物理磁盘驱动器,在操作系统下被视为一个单一的逻辑驱动器。
(2)数据分布在一组物理磁盘上。
(3)冗余磁盘容量用于存储奇偶校验信息,保证磁盘万一损坏时能恢复数据。
RAID策略是用多个小容量磁盘代零星一个大容量的磁盘。
分布数据的方法能够同时从多个磁盘中存取数据,改善了I/O性能,增加了容量。
RAID方案的独特贡献是有效找到了对冗余的需求。
多个设备的使用增加了出错概率,对可靠性的降低进行补偿,RAID使用存储的奇偶校验信息来恢复由于磁盘损坏而丢失的数据。
表5.2对7级进行了小结,图5.6表示一个支持4个无冗余磁盘数据容量的7级RAID方案。
5.2.1RAID0级
1.用户和系统数据分布在阵列中的所有磁盘上,优点是:
如果两个I/O请求正在等待两个不同的数据块,则被请求的块有可能在不同的盘上。
两个请求能够并行发出,减少了I/O的排队时间。
RAID能以条带的形式在可用磁盘上分布数据,磁盘以条带的形式划分,每个条带是一些物理的块、扇区或其他单位。
数据条带以轮转方式映射到连续的阵列磁盘中,映射条带到阵列磁盘的一组连续逻辑条带定义为条带集。
布局的优点是,如果单个I/O请求由多个逻辑相邻的条带集成,则请求的n个条带可以并行处理,图5.7表示使用阵列管理软件在逻辑磁盘和物理磁盘间进行映射。
2.RAID0用于高速数据传输
任何RAID级的性能关键取决于主机的请求方式和数据分布。
为达到高速数据传输,必须满足两个要求:
(1)高速传输必须存在主存和各个磁盘间的整个路径上,包括内部控制总线、主系统I/O总线、I/O适配器和主机存储器总线。
(2)应用必须使驱动磁盘阵列的I/O请求有效。
单个的I/O请求涉及到多个磁盘的并行数据传输,增大了有效的传输率。
3.RAID0用于高速的I/O请求:
面向事务处理环境中,每秒有上百个I/O请求,通过平衡多磁盘的I/O负载,磁盘阵列能提供高的I/O执行速度。
当多个I/O请求发出时,才能实现有效的负载平衡。
这意味着存在多个独立应用能进行多个I/O异步请求且面向事务的单个应用。
性能也将受到条带大小的影响。
如果条带容量相对大些,单个I/O请求只涉及一个磁盘存取,则多个等待I/O的请求能并行处理。
5.2.2RAID1级
1.特点:
RAID1实现冗余的方法独特:
采用简单的备份所有数据的方法来实现冗余。
采用数据条带集,如图5.6(b)所示;
每个逻辑条带映射到两个不同的物理磁盘组中,阵列中的每个磁盘都有一个包含相同数据的镜像盘。
2.RAID1结构的优点如下:
(1)一个读请求可由包含请求数据的两个磁盘中的某一个提供。
(2)一个写请求需要并行更新两个对应的条带。
(3)恢复一个损坏的磁盘很简单。
3.缺点是价格昂贵,需要支持两倍于逻辑磁盘的磁盘空间。
RAID1对所有的数据提供实时备份,在磁盘损坏时,所有的关键数据仍能立即可用。
面向事务的环境中,RAID1能实现高速的I/O速率;
如果I/O请求有部分是写请求,不比RAID0的性能好,对读请求的百分比高和数据传送密集的应用,RAID1也提供了对RAID0改进的性能。
5.2.3RAID2级
使用了并行存取技术,所有的磁盘成员都参加每个I/O请求的执行,各个驱动器的轴是同步旋转的,每个磁盘上的每个磁头在任何时刻都位于同一个位置。
RAID2条带非常小,通过各个数据盘上的相应位计算纠错码,通常,采用海明码能纠正一位错误,检测两位错误,RAID2冗余磁盘的数目与数据磁盘数目的对数成正比。
对于单个读,所有磁盘同时读取,对于单个写,所有数据盘和奇偶校验盘必须被访问以进行写操作。
RAID2是一种在多磁盘易出错环境中的有效选择。
5.2.4RAID3级
1.特点:
组织方式与RAID3相同,不管磁盘阵列多大,RAID3只需要一个冗余盘,RAID3采用并行存取,数据分布在较小的条带上,不采用纠错码,采用对所有数据盘上同一位置的一组位进行简单计算的奇偶校验位。
2.冗余:
当某一驱动器损坏时,存取奇偶校验盘,并由其余设备重构数据。
一旦损坏的磁盘被替换,新盘上重新保存丢失的数据,恢复操作。
1)数据的重新生成很简单,考虑一个5磁盘的阵列,X0到X3保存数据,X4是奇偶校验盘,奇偶校验的第i位:
X4(i)=X3(i)⊕X2(i)⊕X1(i)⊕X0(i)
假设,磁盘X1损坏,两边同时异或X4(i)⊕X1(i):
X1(i)=X4(i)⊕X3(i)⊕X2(i)⊕X0(i)
阵列中某一数据盘中的任何数据条带的内容都能从剩余磁盘的相应条带中重新生成,这条原则适用于RAID第3、4、5、6级。
当磁盘损坏时,所有的数据仍有效的情况,称为简化模式,该模式下读操作,利用异或运算可以立即重新生成丢失的数据,当数据写入简化模式的RAID3时,要为以后的数据重新生成保持奇偶校验的一致性。
整个操作需要更换损坏的磁盘,新磁盘上重新生成损坏磁盘上的全部内容。
3.性能
RAID3可获得非常高的数据传输率。
任何I/O请求将涉及所有数据盘的并行数据传送。
一次只能执行一个I/O请求,面向事务的环境中,性能将受损。
5.2.5RAID4级
1.独存:
RAID4到RAID6都采用一种独立的存取技术。
每个磁盘成员的操作是独立的,各个I/O请求能够并行处理,独立存取阵列更适合于高速I/O请求的应用,RAID4到RAID6的数据条带相对大些。
在RAID4中,通过每个数据盘上的相应条带来逐位计算奇偶校验条带,奇偶校验位存储在存储在奇偶校验盘的对应条带上。
2.执行较小规模的I/O写请求时,RAID4蒙受损失。
考虑一个5磁盘的阵列,X0到X3包含数据,X4是奇偶校验盘。
假设写操作只在X1盘的一个条带上执行。
初始
X4′(i)=X3(i)⊕X2(i)⊕X1′(i)⊕X0(i)
=X3(i)⊕X2(i)⊕X1′(i)⊕X0(i)⊕X1(i)⊕X1(i)
=X4(i)⊕X1(i)⊕X1′(i)
为了计算新的奇偶校验位,阵列管理软件必须读取旧的数据条带和奇偶校验条带,然后用新的数据和新计算出的奇偶校验位修改上述两个条带。
每个条带的写操作包括两次读和两次写。
奇偶校验盘和数据磁盘并行更新,不再需要另外的读或写操作。
3.任何情况下,每一次的写操作必然涉及到奇偶校验盘,它成为一个瓶颈。
5.2.6RAID5级
RAID5和RAID4的组织方式相同,在所有磁盘上分布了奇偶校验条带。
常用循环分配方案,如图5.6(f)对于一个n磁盘阵列,最初的n条带的奇偶校验条带位于不同的磁盘,然后以此样式重复。
在所有磁盘上分布奇偶校验条带避免了RAID4级中潜在的I/O瓶颈问题。
5.2.7RAID6级
RAID6思想是进行两种不同的奇偶计算并将校验码以分开的块存于不同磁盘中,用户数据需要N个磁盘的RAID6阵列,由N+2个磁盘组成。
图5.6(g)说明了这种策略,P和Q是两个不同的数据校验算法,一个是异或计算式的奇偶校验算法,另一个是其他校验算法,即使是两个数据盘都出故障了,数据照样能再生。
RAID6的优点是提供了极高的数据可用性,只有当平均修复时间隔内3个磁盘都出了故障,才会使数据不可用。
缺点RAID6蒙受实质性的写损失,每次写都要影响两个奇偶块。
5.3光存储器
低成本光盘存储技术,被认为是计算机数据存储技术上的一次革命,现有多种光盘系统(见表5.3)。
5.3.1CD-ROM
CD-ROM播放器有纠错设备来保证数据准确地从光盘传输到计算机。
制造方法,本体由树脂制成,其表面涂有一层反射性能较好的材料铝,以数字形式记录的信息,以一系列显微凹坑的方式刻录在反射表面上。
通过安装在光盘播放器或驱动装置内的低功率激光束,从CD或CD-ROM中读出数据。
激光能穿过透明涂层,遇到一个凹坑时,被反射的激光发生强度变化。
光传感器将检测到的这种变化转换成数字信号。
为保证激光能以相同的速度读取光盘上任一刻录点的数据,必须采取某些措施来补偿这种由于线速度不同而产生的差异。
采用的方法在光盘段记录信息的位与位之间增加间距。
以固定转速旋转光盘,可使其表面上任一点的数据信息以相同的速度被扫描,恒定角速度CAV,图5.8图(a)是采用CAV的盘轮廓示意图,CAV的优点是单个的数据块可以由道和扇区直接寻址。
缺点,存储在盘外部长轨上的数据总量和内部短轨上的数据总量相同。
CAV在外部轨上存储的信息量少而浪费了空间,在CD和CD-ROM中采用另一种方法,在光盘上以相同尺寸段均等地存储数据信息。
当以不同速度旋转光盘时,可以相同线速度对这些数据进行扫描。
激光对光盘上任何数据刻录点都可按恒定的线速度CAV读取,读取光盘边缘数据时,光盘转速要慢于读取光盘中心数据时的转速。
因此,光轨容量和旋转等待时间使得光轨外部的定位时间增加。
CD-ROM,典型例子是光轨间距为1.6微米,CD-ROM沿着半径可记录的宽度是32.55毫米,由32550微米除以光轨间距,得出20344个光轨。
通过平均周长乘以螺旋的圈数,就能够计算出光轨的长度,近似5.27km。
CD-ROM的恒定线速度为1.2m/s,总共有4391秒或73.2分钟,这是音频光盘标准的最大播放时间。
由于数据以176.4KB/s读出,CD-ROM的存储容量是774.57M字节,CD-ROM上数据以一系列的块组成。
典型的块格式如图5.9。
●Sync
●Header,也称块的标识(ID)域。
●Data
●Auxiliary
图5.8(b)表示CD和CD-ROM的布局。
数据是沿螺旋磁道顺序排列的。
使用CLV,随机存取变得很困难。
CD-ROM适合将大量的数据发布给众多用户,有3个主要优点:
●在光盘上存储的信息容量更大。
●带有信息的光盘批量复制价格便宜。
●光盘是可以更换的,允许光盘作为档案存储。
缺点:
●它是只读的,不能更新。
●存取时间比磁盘驱动器长得多,
5.3.2WORM(一写多读光盘)
WORM盘可采用低强度的激光写入一次。
为提高存取速度,WORM采用恒定角速度,牺牲了一些容量。
制造光盘的常用技术是采用高功率的激光在光盘上产生一系列的气泡。
预格式化的介质放入WORM驱动器时,低功率的光产生足够的热,使预记录的气泡破裂。
读操作中,WORM驱动器中的激光照射光盘表面,破裂的气泡可提供比周围区域更高的对比度,很容易被简单的电路识别。
WORM光盘适宜于文档和文件的归档存储,提供了永久性记录。
可行的纯光学方法是相变盘,使用了一种材料,它在两个不同相位状态下有明显不同的反向率。
(1)无定殂状态,分子展示一种随机取向,从而反射率很低,
(2)结晶状态,表面很光滑,反向率很高,强激光照射能改变材料的相位状态,用于记录信息;
弱激光照射用来读取记录的信息。
材料老化最终会丢失相位可变的特性。
可擦光盘优点是能够重写,作为真正的辅存。
与磁盘相比,主要特点:
●高容量
●可移植性
●可靠性:
光盘的工作容差比高容量的磁盘小得多,表明具有较高的可靠性和较长的使用寿命。
可擦光盘使用恒定角速度。
5.3.4DVD
数字化视频盘(DVD)的出现,找到了模拟VHS视频带的替代物,最重要的是DVD将取代个人计算机和服务器的CD-ROM。
DVD使影视节目进入数字时代,DVD与CD-ROM的不同:
●标准的DVD每层可容纳4.7G字节,
●DVD使用了称为MPEG的视频压缩格式,
●单层DVD能容纳2小时30分钟的影视节目。
5.3.5光—磁盘
光—磁盘(MO)盘驱动器使用激光来增强常规磁盘系统的能力。
记录技术是使用激光使磁记录头变细,可实现更大容量。
MO盘上覆盖一种材料,磁化极性只在高温下才可改变。
使用激光来加热盘面的一个细点,然后施加磁场;
细点冷却之后,它就有了磁场的N-S极性。
磁化过程不引起盘上材料任何其他物理变化,此过程可重复。
读操作是一个纯光学过程,磁化方向可以用偏振光测出,MO盘的主要优点是:
(1)盘的耐久性;
(2)每兆字节成本比磁盘低得多。
5.4磁带
磁带系统和磁盘系统采用相同的读和记录技术,介质是柔韧聚酯薄膜带,外涂磁性氧化物。
磁带介质由少量的平行磁道组成。
一次存取一个字节,较新的磁带系统使用18或36个磁道,对应于一个数字的字或双字。
磁带数据以相邻块进行读和写。
磁带驱动器是一种顺序存取的设备。
如果磁带头定位记录为1,为了读取记录N,必须依次读取1到N-1个记录,磁带在运动时,只有读磁带或写磁带操作。
第6章输入/输出
●计算机系统的I/O体系结构是系统对外部世界的接口。
定义:
提供一种控制计算机与外部交互的系统化方式,向操作系统提供必要的信息。
●基本的I/O技术有3种:
编程式I/O,中断驱动式I/O(DMA)
●外部I/O接口的两个重要范例是SCSI和FireWire。
计算机系统的第3个关键部件(I/O)模块。
包含了在外设与总线之间执行通信功能的逻辑。
原因:
●外设不同操作方法
●外设的数据传送速度慢
●外设使用不同的数据格式、字长度
6.1外部设备
如图6.1所示连接到I/O模块的外部设备常被称为外围设备或简称外设。
广义上,外设分成3类:
●人可读的:
适用于与计算机用户通信;
●机器可读的:
适用于与设备通信;
●通信:
适用于与远程设备通信。
视频显示终端和打印机,磁盘和磁带系统以及传感器和动臂机构。
图6.2表示外部设备的性质。
I/O模块的接口以控制、状态和数据信号的形式出现,以位的形式发送到I/O模块或接收来自I/O模块的信号。
确定设备执行的功能。
控制逻辑控制设备的操作,以响应来自I/O模块的命令:
①输出时,Transducer把数据从电信号转换成其他形式;
②输入时,变换器把其他信号转换成电信号。
I/O模块与外设的接口将在6.7节简单讨论。
6.1.1键盘/显示器
交互最常用方式,用户通过键盘提供输入,在显示器上显示,显示器也显示由计算机提供的数据。
ASCII码每个字符用一个惟一的7位二进制代码表示,表6.1列出了所有的代码值。
键盘输入,按下某个键时,键盘先产生电信号,再转换为与ASCII码所对应的位模式,用I/O模式传送到计算机,将其翻译、存储为ASCII码形式。
设备中的交换器解释这种代码并发送所需的电信号到输出设备。
6.1.2磁盘驱动器
包含两部电子部件:
①I/O模块交换数据、控制和状态信号;
②控制磁盘读/写机制工作,固定磁盘中,交换器能在移动的磁盘表面的磁化极性和设备缓冲器中的位之间进行转换。
(6.2所示)。
6.2I/O模块
6.2.1模块功能
1.I/O模块主要功能
●控制和定时,以协调内部资源和外设间的信息流动。
●处理器通信
●设备通信
●数据缓冲
●检错
I/O通信中,内部资源必须被包含数据I/O的一系列功能操作所共享。
2.外设到处理器的数据传送包含以下几个步骤:
①处理器查询I/O模块
②I/OP模块回送设备状态
③如果设备处理器通过向I/O模块发出一条命令,请求数据传送
④I/O模块获得数据单元
⑤数据从I/O模块传送到处理器
如果系统采用总线,则每次I/O都包含了一次或几次对总线的仲裁。
3.处理器通信包括:
●命令译码
●数据
●状态报告
●地址识别
4.I/O模块的基本功能是数据缓冲
I/O模块必须既能以设备速度,又能以存储器速度传送数据。
5.I/O模块负责检错,将差错信息报告给处理器:
①设备机构和电路故障;
②信息传送时,数据位发生变化。
6.2.2I/O模块结构
1.图6.4I/O模块常用的框图:
①信号线②数据寄存器③状态寄存器④控制寄存器⑤模块能识别相关地址⑥I/O模块包含控制逻辑。
2.I/O模块允许处理器检查多种类型的设备,I/O模块能隐藏外设的定时、格式和电子机构的细节。
3.担负着大量处理并提供与处理器高级接口的I/O模块,称为I/O通道或I/O处理器,最原本的、并要求详尽控制的I/O模块称为I/O控制器或设备控制器,I/O控制器微机中可以见到,I/O通道用于大型计算机。
6.3编程控制的I/O
处理器执行控制I/O操作的程序,包括检测设备状态、发送读/写命令以及传送数据。
①中断驱动的I/O,处理器发送了一个I/O命令后,继续执行其他指令②编程控制的I/O和中断I/O,处理器在输出时从主存向外界传送数据,输入时在主存中存储数据。
表6.3表示3种技术间的关系。
6.3.1概述
处理器负责周期地检查I/O模块的状态,直到发现操作完成为止。
6.3.2I/O命令
处理器给出地址后,I/O模块能接受的I/O命令有4类:
控制、测试、读和写
1.控制命令用于激活一个外设,为具体外设类型而定制。
2.测试命令用于测试与I/O模块及外设有关的各种状态。
3.读命令使I/O模块从外设获得一个数据项,存入内部缓冲区。
4.写命令使I/O模从数据总线获得一个数据项,传送到外设。
图6.5(a)编程控制的I/O突出了主要缺点:
使处理器一直处于忙碌状态的费时过程。
6.3.3I/O指令
1.对于编程控制的I/O,I/O指令,I/O命令之间有着紧密的对应关系,即指令被映射到I/O命令,I/O指令形式取决于外设寻址的方式。
2.共享总线时有两处寻址方式:
①存储映射式I/O,存储单元和I/O设备有单一的地址空间,处理器把I/O模块的状态、数据寄存器成存储单元一样对待,使用相同机器指令存取存储器和I/O设备。
命令线指定地址是指向存储单元还是指向I/O设备。
所有地址范围对两者都适用。
10极地址线系统支持1024个存储单元,也支持1024个I/O地址,对I/O来讲,地址空间与存储器是独立的,称为独立I/O。
对于独占式I/O,I/O端口只有在特定的I/O命令下才有用。
6.4中断驱动的I/O
1.编程控制的I/O存在的问题是,处理器等待很长时间,处理器等待时必须反复地询问I/O模块的状态,整个系统性能严重下降。
2.当I/O模块准备和处理器交换数据时,中断处理器操作请求服务,处理器执行数据传送后,恢复它原先的处理工作。
3.I/O模块的角度输入I/O模块接受读命令,从外设中读入数据,数据进入模块数据寄存器后,模块给处理器发中断信号,直到处理器取走数据为止。
4.处理器的角度,输入时,处理器发送一个READ命令,每个指令周期结束时,处理器检查中断,当中断出现时,处理器保存当前程序的现场,并处理中断,处理器从I/O模块读取数据后,恢复现场,继续运行原来的程序。
图6.5(b)中断I/O读取一个数据块的情形,中断I/O比编程控制的I/O效率高,中断I/O仍耗费处理器很多时间。
6.4.1中断处理
图6.7表示了一个常用的序列,完成一次I/O操作,发生的硬件事件序列如下:
(1)设备给处理器发送一个中断信号。
(2)处理器在响应中断之前,完成当前指令的执行。
(3)处理器检测中断,确定中断源,发送响应信号,允许设备取消中断信号。
(4)保护断点,准备传送控制给中断例程,保存断点。
(a)PSW(b)PC。
(5)处理器将中断处理程序的入口地址装入程序计数器。
取决于计算机结构及操作系统设计。
一旦程序计数器装入,进入下一个指令周期,执行以下几步操作:
(6)保护现场,处理器寄存器的内容其他状态信息必须保存。
(7)中断处理。
(8)恢复现场。
(9)恢复断点返回高程序。
6.4.2设计问题
1、设备识别,采用4种技术:
●多条中断线
●软件轮询
●菊花链
●总线仲裁
2、最直接方法是,提供处理器和I/O模块间的多条中断线。
3、处理器检测到一个中断时,转移到中断服务程序,轮询每一个I/O模块来确定哪个模块产生中断。
轮