1.设备管理
(1)I/O系统的对象和任务:
1)IO系统管理的主要对象是IO设备和相应的设备控制器。
2)最主要的任务是:完成用户提出的IO请求,提高IO速率,提高设备的利用率,并能为更高层的进程方便的使用这些设备提供手段。
(2)设备管理的主要功能:
设备分配 | (1)多道程序系统中的设备不允许用户直接使用,由操作系统统一调度和控制 (2)设备分配程序按照一定的策略,为申请设备的用户进程分配设备,记录设备的使用情况 |
设备映射 | (1)操作系统的设备管理程序必须将应用软件对逻辑设备的引用转换成相关物理设备的引用。 (2)即是逻辑设备到物理设备的映射功能称为设备映射 |
设备驱动 | (1)对物理设备进行控制,实现真正的IO操作,与硬件密切相关,应该为每一类设备配置一种驱动程序 (2)设备驱动需要:接受上层软件发来的抽象服务请求,同时还将设备发来的有关信号传送到上层软件 |
IO缓冲区管理 | (1)缓和处理机和外部设备之间速度不匹配的矛盾,提高处理机和外部与设备间的并行性,现代操作系统大都在设备管理部分引入了缓冲技术。 (2)缓冲区是指内存中的若干区域,用于缓存进程与外部设备之间的数据传输,又称为IO缓冲区 (3)IO缓冲区管理的任务:组织IO缓冲区,并为使用者提供获得和释放IO缓冲区的手段 |
(3)通用设备管理分层模型:
分层 | 内容 |
用户进程 | |
设备硬件无关层 | IO缓冲区管理和设备映射功能 |
设备硬件相关层 | 提供相对简洁IO功能接口,屏蔽了设备硬件复杂的操作细节 主要实现设备驱动功能 |
设备硬件 |
(4)驱动方式:
驱动方式 | 例子 |
中断驱动 | 键盘类字符型设备,设备驱动和设备之间以中断方式关联 (1)用户按键后,其所按字符由键盘中断服务程序读取放入缓冲区中 (2)然后用户通过READ()从键盘缓冲区中读字符 |
DMA直接存储访问 | 用户进程发出从文件中读取数据块操作 (1)设备独立性软件接收到请求后,首先在高速缓存中查找相应的页面 (2)如果没有,调用设备驱动程序向磁盘控制器发出一个请求,并由驱动程序负责从磁盘读取目标数据块。以DMA的方式进行数据传送 (3)当磁盘操作完成时,由磁盘控制器产生一个中断,并转入中断处理程序ISR,ISR首先从磁盘控制器中读出磁盘状态,以判别本次中断是正常完成中断还是异常结束中断。是前者则唤醒用户进程并结束IO请求,否则ISR继续处理没有完成的数据传送 |
(5)IO软件功能:
用户层软件 | (1)实现与用户交互的接口 (2)用户可直接调用在用户层提供的、IO操作有关的库函数对设备进行操作 |
设备独立性软件 | (1)负责实现与设备驱动器统一接口、设备命名、设备的保护和设备的分配与释放等 (2)为设备管理和数据传送提供必要的存储空间 |
设备驱动程序 | (1)与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动IO设备工作的驱动程序
|
中断处理程序 | (1)用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理 (2)处理完后再恢复被中断进程的现场后返回到被中断进程 |
(6)IO系统接口:
块设备接口 | (1)块设备 (2)隐藏了磁盘的二维结构 (3)将抽象命令映射成低层操作 |
流设备接口 | (1)流设备管理程序与高层之间的接口,反映大部分字符设备的本质特征,用于控制字符设备的输入或输出 (2)字符设备 |
网络通信接口 | 在现代OS中,提供了面向网络的功能,首先要通过某种方式把计算机连接到网络上,操作系统也必须提供相应的网络软件和网络通信接口,使计算机能通过网络和网络上的其他计算机进行通信与上网浏览 |
2.IO设备与设备控制器
(1)IO设备的类型:
1)按传输速率分类:
低速设备 | (1)传输速率仅为每秒钟几个字节至数百个字节一类的设备 (2)键盘、鼠标器、语音输入和输出 |
中速设备 | (1)传输速率在每秒钟数千个字节甚至数万个字节 (2)行式打印机,激光打印机 |
高速设备 | (1)传输速率在数百千个字节至数十兆字节的一类设备 (2)硬盘、光盘、U盘显示器等 |
2)按信息交换的单位分类:
块设备 | (1)用于存储信息,信息的存取总是以数据块为单位 (2)基本特征是传输速率较高 (3)可寻址,对它可随机读写任一块 (4)磁盘设备IO模块通常采用DMA方式 |
字符设备 | (1)用于数据的输入和输出,基本单位是字符 (2)传输速率低 (3)不可寻址 (4)常采用中断驱动方式 |
3)按设备的共享属性分类:
独占设备 | 一段时间仅允许一个进程访问 |
共享设备 | 一段时间内允许多个进程同时访问 |
虚拟设备 | 通过虚拟技术将一台独占设备变换为若干台逻辑设备 |
(2)设备控制器定义:
1)设备控制器定义:CPU与IO设备之间的接口,控制IO设备工作,使得处理机从设备控制事物中解脱。
2)设备控制器是一个可编址的设备,用于连接多个IO设备
(3)设备控制器功能:
1)接受和识别命令
2)数据交换
3)标识和报告设备状态
4)地址识别
5)数据缓冲
6)差错控制
(4)IO通道
1)IO通道作用:使一些原来由CPU处理的IO任务转由通道来承担,从而把CPU从繁杂的IO任务中解脱出来
2)通道类型【信息交换法师的不同】:
字节多路通道 | (1)字节交叉方式工作 (2)每一个子通道连接一台IO设备并控制该设备的IO操作。 (3)子通道按照时间片轮转的方式共享主通道 |
数组选择通道 | (1)增强:字节多路通道不适合连接高速设备 (2)共享:数组选择通道可以连接多台高速设备 (3)独占:只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占 |
数组多路通道 | (1)按数组方式进行数据传送,但能为多台设备占用,高速的进行数据传送 (2)含有多个非分配型子通道,具有很高数据传输速率和通道利用率 |
3)瓶颈问题:通道不足造成瓶颈现象,可通过增加设备到主机之间的通路而不增加通道。
3.中断机构和中断处理程序
(1)基本描述和概率:
1)中断是多道程序得以实现的基础
2)中断也是设备管理的基础
3)中断处理程序是IO系统中最低的一层,它是整个IO系统的基础
(2)中断和陷入:
陷入(内中断) | 由CPU内部事件引起的,如出错、溢出等 |
中断(外中断) | CPU对IO设备发来的信号的一种响应 |
(3)中断处理层工作:
1)程序每当执行完当前指令后,处理机都要测试是否有未响应的中断信号。
2)对处理中断的信号源进行测试,以读取设备状态或修改进程状态
3)进行进程上下文的切换。
4)当一个进程请求IO操作时,该进程将被阻塞,直到IO设备完成IO操作后,设备控制器便向CPU发送一中断请求,CPU响应后便转向中断处理程序,中断处理程序执行相应的处理,处理完后解除相应进程的阻塞状态。
4.设备驱动程序
(1)设备驱动程序概念:设备驱动程序又称为设备处理程序,它是IO进程与设备控制器之间的通信程序,常以进程的形式存在。
(2)设备驱动程序功能:
接受IO进程发来的命令和参数 | (1)将命令中的抽象要求转换为具体要求 (2)将磁盘块号转换为磁盘的盘面、磁道号扇区号 |
检查IO请求的合法性 | (1)了解IO设备的状态 (2)传递有关参数 (3)设置设备的工作方式 |
发出IO命令 | (1)如果设备空闲,立即启动IO设备区完成指定IO操作 (2)设备处于忙碌,将请求者的请求挂在设备队列上等待 |
响应控制器或通道发来的中断请求 | (1)根据中断类型调用相应的中断处理程序进行处理 |
(3)设备处理方式:
1)为每一类设备设置一个进程,专门用于执行这类设备的IO操作。
2)在整个系统中设置一个IO进程,专门用于执行系统中所有各类设备的IO操作。
3)不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。
(4)设备驱动特点:
命令转换 | 驱动程序主要是指在请求IO的进程与设备控制器之间的一个通信转换程序 |
驱动程序与设备控制器和IO设备的硬件特性紧密相关 | 对不同类型的设备应该配置不同的驱动程序 |
控制方式 | 驱动程序与IO设备所采用的IO控制方式紧密相关 |
部分用汇编语言书写 | 由于驱动程序与硬件紧密相关,一部分必须用汇编语言书写 |
驱动程序应允许可重入 | 一个运行的驱动程序会常在一次调用完成前被再次调用。 |
(5)设备驱动程序处理过程:
1)设备驱动的主要任务是启动指定设备
2)在启动前需要检测设备状态,在完成所有准备工作后,才最后向设备控制器发送一条启动命令
3)设备驱动的处理过程:
将抽象要求转换为具体要求 | (1)例如将抽象要求中的盘块号转换为磁盘的盘面,磁道号和扇区 |
检查IO请求的合法性 | (1)权限、读写控制等 |
读出和检查设备状态 | (1)在启动某个设备进行IO操作时,其前提条件应是该设备正处于空闲状态 (2)再启动设备前,要从设备控制器的状态寄存器复制到CPU的某个寄存器中,读出设备的状态 |
设备传送必要的参数 | (1)例如启动磁盘进行读写之前,应先将本次要传送的字节数和数据应到达的主存始址,送入控制器的相应寄存器中 |
启动IO | (1)驱动程序可以向控制器中的命令寄存器传送相应的控制命令。 |
(6)对IO设备的控制方式:
1)IO设备控制方式分类:
程序IO方式 | (1)CPU中无中断机构,需要CPU不断测试IO设备状态 (2)造成CPU的极大浪费,CPU的高速性和IO设备的低速性 |
中断驱动IO控制方式 | (1)在IO设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与IO设备并行工作,仅当输入完一个数据时,才需要CPU花费极短的时间去做些中断处理 (2)提高了整个系统的资源利用率和吞吐量 |
直接存储器访问DMA | (1)数据传输的基本单位是数据块,即在CPU和IO设备之间,每次至少传送一个数据块。 (2)所传送的数据是从设备直接送入内存的 (3)仅在传送一个或多个数据块开始和结束时,才需要CPU干预,整块数据的传送是在控制器的控制下完成的 |
2)DMA控制器中寄存器分类:
命令/状态寄存器CR | 用于接收从CPU发来的IO命令或有关控制信息 |
内存地址寄存器MAR | 在输入时,它存放把数据从设备传送到内存的起始目标地址,在输出时。它存放内存到设备的内存源地址 |
数据寄存器DR | 用于暂存从设备到内存,或从内存到设备的数据 |
数据计数器DC | 存放本次CPU要读或要写的字节数 |
3)DMA工作过程:
1.设置MAR和DC初值
2.启动DMA传送命令
3.挪用存储器周期传送1数据字符
4.存储器地址增加1字计数寄存器减一
5.判断DC是否为0,不为0继续执行用户程序的同时,准备下一字符传送,为0进入下一步
6.请求中断
(7)IO通道控制方式:
1)IO通道:IO通道是DMA方式的发展,他可以进一步减少CPU的干预,把对一个数据块的读写为单位的干预,减少为对一组数据块的读写及有关的控制和管理为单位的干预。
2)IO通道的作用:可实现CPU、通道和IO设备三者的并行操作,从而有效的提高整个系统的资源利用率
3)IO通道特点:
1.一个通道指令可以传送一组数据,一个通道程序可以传送多组数据,多组数据全部传送完毕后,才向处理机发出一次中断
2.通道不仅可以传送数据,更重要的是它还完成对设备的控制,在通道的协助下,主机只要发出一个启动通道、执行通道程序的命令即可
3.主机与通道直接通信,不必考虑设备的具体控制以及如何完成数据传送等问题,从而大大减轻了主机的负担。
5.设备独立性软件:
(1)设备独立性概念:应用程序独立于具体使用的物理设备,为了实现设备独立性而引入逻辑设备和物理设备。
(2)设备独立性软件功能:设备独立性软件的主要功能可分为两个方面:
执行所有设备的公有操作 | (1)对独立设备的分配与回收 (2)将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序 (3)对设备进行保护,禁止用户直接访问设备 (4)缓冲管理 (5)差错控制,设备独立性软件只处理那些设备驱动程序无法处理的错误 (6)提供独立于设备的逻辑块
|
向用户层软件提供统一接口 | 无论使用何种设备,它们向用户所提供的接口应该是相同的。 |
6.设备分配:
(1)设备分配:分配设备、控制器和通道:
1)需要记录与他们相关的信息。包括:资源标识、物理连接情况、占有进程、等待进程。
2)具体实现时,可以将其分为设备控制表、控制器控制表、通道控制表和系统设备表等。
3)这些控制块中包含的信息在不同的系统中会有所不同。
(2)设备分配中的数据结构:
1)设备控制表DCT
2)控制器控制表、通道控制表和系统设备表
(3)设备分配算法:
先来先服务 | 根据进程对某设备提出请求的先后次序,将这些进程排成一个设备请求队列,设备分配程序总是把设备分配给队首的进程。 |
优先级提高者优先服务 | 根据进程优先级的高低,将优先级高的进程排在设备等待队列的前面。对于优先级相同的进程,则按照先来先服务的原则进行排队,设备分配程序总是把设备分配给排在队首的进程。 |
(4)独占型设备的分配:进程使用独占设备的过程:申请、使用、释放
1)进程申请设备
2)系统分配设备
3)进程发送使用命令
4)系统将转到设备驱动模块完成一次IO传输
5)进程释放设备
6)系统回收设备
7)当进程的一次设备申请成功,直到发出释放命令期间,一直独占设备。
(5)共享型设备的分配:
1)进程使用共享型设备不需要申请,当然也不存在占用或释放设备的问题
2)IO期间只能有一个进程使用设备,进程使用共享型设备之前,有一个隐含的申请命令,使用完毕后,有一个隐含的释放命令,以实现一次基本IO传输期间的排它性,保证操作的正常运行
3)使用共享型设备的过程中,进程完全有可能进入阻塞等待状态。
7.SPOOLing技术:
(1)什么是SPOOLing:【外部设备联机并行操作】为了缓和CPU的高速性与IO设备低速性之间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速IO设备上的数据传送到高速磁盘上,或者相反。
(2)SPOOLing核心思想:在快速辅助存储设备中建立IO缓冲区,用于缓存从慢速输入设备流入内存的数据。或缓存从内存流向慢速输出设备的数据。
(3)通过SPOOLing技术便可将一台物理IO设备虚拟为多台逻辑IO设备,同样允许多个用户共享一台物理IO设备
(4)SPOOLing技术在输入输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。
(5)“输入井”和“输出井”则是在高速赋存(外存)中开辟的两个固定的转储区。
(6)井管理程序:
1)井管理程序具有“井管理读程序”和“井管理写程序”两个功能
2)当作业请求从输入机上读文件信息时,就把任务转交给“井管理读程序”,从输入井读出信息供用户使用。
3)当作业请求从打印机上输出结果时,就把任务转交给“井管理写程序”,“井管理写程序”把产生的结果以文件形式保存到“输出井”中,并进行排队,然后按队列的次序逐一输出到打印机。
(7)SPOOLing系统的特点:
1)提高IO的速度,缓和了CPU与低速IO设备之间的速度不匹配的矛盾
2)将独占设备改造为共享设备
3)实现了虚拟设备功能。
4)实现了将独占设备变换为若干台对应的逻辑设备功能。
8.缓冲管理
(1)缓冲管理的原因:为了缓和CPU和IO设备速度不匹配的矛盾,提高CPU和IO设备的并行性,在现代操作系统中,几乎所有的IO设备在与处理机交换数据时,都用了缓冲区。
(2)缓冲管理的职责:组织好缓冲区,并提供获得和释放缓冲区的手段
(3)缓冲引入解决的问题:
1)缓和CPU和IO设备间速度不匹配的矛盾
2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制
3)解决数据粒度不匹配的问题。
4)提高CPU和IO设备之间的并行性。
(4)缓冲区的组织形式:
单缓冲 | 在单缓冲情况下,每当用户进程发出一IO请求时,操作系统便在主存中为之分配一缓冲区 |
双缓冲区 | 在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区,此时操作系统可以从第一缓冲区中移出数据。并送入用户进程 |
多缓冲区 | (1)多个缓冲区,每个缓冲区大小相同 (2)缓冲区分为:空缓冲区,已装满数据的缓冲区,现行工作缓冲区 |
缓冲池 | (1)当系统中的设备很多,循环缓冲区将消耗大量内存空间,利用率也不高 (2)提高缓冲区效率,可采用公共缓冲池技术。 (3)缓冲池分为:用于块型设备的缓冲池,用于字符型设备的缓冲池 (4)缓冲池的组成:空缓冲队列,输入队列,输出队列 |
9.磁盘设备的管理
(1)磁盘的性能:
1)磁盘是计算机系统最重要的外部存储设备之一
2)影响磁盘性能和数据安全性的因素:
磁盘性能参数 | 转速、寻道时间、磁盘缓存 |
磁盘控制器 | IDE、SCSI、SATA磁盘控制器 |
RAID磁盘容错技术 | |
磁盘管理算法 | 磁盘调度算法、磁盘高速缓存、高性能的文件系统
|
(2)磁盘的物理特性:
1)磁盘由若干张圆形的盘片组成,每张盘片上都涂有磁层,用于记录数据
2)各盘片的圆心固定在一个旋转轴上,该轴沿固定方向等速转动,并带动磁盘组不停的旋转
3)磁盘的基本存储单元的寻址方式是三维地址:柱面号、盘面号、扇区号
(3)磁盘基本概念:
磁道号 | 所有磁道由外向内依次由0开始编号,称为磁道号 |
柱面号 | 磁盘组中各盘面上序号相同的磁道构成一个柱面,由外向内依次编号 |
盘面号 | 若磁盘组共有s个盘片,则共有2s个盘面,但通常最上面和最下面的两个盘面作为伺服面,用以进行控制磁头定位等操作,并不存放数据,因而实际可用盘面数为m=2(s-1),由上至下依次编号为0,1,2,…,m-1,称为盘面号。 |
扇区 | 整个盘面被划分为若干大小的扇面,他把一个磁道等分为若干区域,一个区域称为一个扇区 |
(4)磁盘类型:
固定头磁盘 | 磁盘在每条磁道上都有一读写磁头 |
移动头磁盘 | 每个盘面仅配有一个磁头 |
(5)磁盘IO性能技术指标:
寻道时间 | 磁盘接收到读指令后,磁头从当前位置移到目标磁道的位置称为寻道时间 |
旋转延迟 | 旋转磁盘,定位数据所在的扇区,所需时间称为旋转延迟 |
数据传输时间 | 从磁盘上读取数据,所需的时间 |
(6)磁盘调度算法
磁盘调度算法 | 内容 | 特点 |
先来先服务FCFS | 按照输入输出请求的先后次序为各个进程服务 | (1)最公平最简单,但是效率非常低 (2)磁头在磁道之间来回频繁移动,造成较大的时间开销,影响效率容易损坏磁盘 (3)只适合于负载很轻的系统
|
最短寻道时间优先算法SSTF | 优先为距离磁头当前所在位置最近的磁道服务 | (1)会出现饥饿现象 (2)只要不断有新进程的请求到达,且所要访问的磁道和磁头当前所在的磁道距离较近,这种新进程的IO请求必须优先满足。 |
扫描算法 | 不仅考虑到欲访问的磁道与当前的磁道间的距离,更优先考虑的是磁头当前的移动方向 | (1)能防止饥饿现象 (2)进程请求可能在某些巧合情况下被大大推迟 |
循环扫描CSCAN | 磁头单向移动 | (1)磁臂黏着在高密度磁盘上容易出现 |
N步扫描算法N-Scan | N步扫描算法将磁盘请求队列分成若干个长度为N的子队列,磁盘调度程序按照FCFS算法依次处理这些子队列,子队列的处理按照SCAN算法 | (1)一个队列处理完后,再处理其他队列 |
FSCAN算法 | FSCAN为N步SCAN算法的简化,将磁盘请求队列分成两个子队列 | (1)一个是由当前所有请求磁盘IO的进程形成的队列,由磁盘调度按照SCAN算法进行处理 (2)再扫描期间,将新出现的所有请求磁盘IO的进程,放入另一个等待处理的请求队列 |
10.磁盘高速缓存
(1)Disk Cache工作原理
1)当用户进程请求从磁盘读入一个扇区时,系统首先在disk cache中寻找该扇区的副本
2)如果能找到,那么系统将从disk cache中取出该扇区的副本并返回给用户进程
3)否则系统首先从磁盘上读入该扇区并在disk cache中建立一个副本,然后将该副本返回给用户进程
4)当用户进程请求修改磁盘的一个扇区时,系统同样首先在disk cache中寻找该扇区的副本
5)如果能找到,那么系统将根据用户进程的请求修改该扇区的副本
6)否则系统同样首先从磁盘上读入该扇区并在disk cache中为其建立一个副本
(2)磁盘高速缓存的实现形式:
1)利用内存中的存储空间,来暂存从磁盘中独处的一系列磁盘块中的信息
2)在内存中开辟一个单独的存储空间来作为磁盘高速缓存,大小固定
3)把所有未利用地内存空间变为一个缓冲池,供请求分页系统和磁盘IO共享。
(3)数据交付方式:
1)系统可以采取两种方式,将数据交付给请求进程
2)数据交付:将高速缓存中地数据传送到请求者进程地内存工作区中
3)指针交付:只将指向高速缓存中某区域地指针,交付给请求者进程
(4)置换算法
1)将磁盘中地盘块数据读入高速缓存时,同样会出现因为高速缓存中已经装满盘块数据而需要将数据先换出地问题
2)最近最久未使用算法LRU
3)最近未使用算法NRU
4)最少使用算法LFU
(5)磁盘高速缓存特点
1)容量较大
2)常存储全局范围,经常访问重要数据
3)若磁盘机和磁盘控制器上没有缓存,就需要依靠磁盘高速缓存地作用
(6)提高磁盘IO速度的其他方法:
1)提前读:预先读方式,即在读当前块的同时,还要求将下一个盘块(提前读的块)中的数据也读入缓冲区。
2)延迟写:延迟写是指在缓冲区A中的数据,本应立即写回磁盘,但考虑到此数据在不久之后可能还会再被本进程或其它进程访问(共享资源),因而并不立即将该缓冲区A 中的数据写入磁盘,而是将它挂在空闲缓冲区队列的末尾。
3)优化物理块分布:尽量将同属于一个文件的盘块安排在同一条磁道上或相邻的磁道上。
4)虚拟盘:利用内存空间去仿真磁盘,又称为RAM盘。
(7)廉价磁盘冗余阵列
1)利用一台磁盘阵列控制器,来统一管理和控制一组(几台到几十台)磁盘驱动器,组成一个高度可靠的、快速的大容量磁盘系统。
2)一组可以并行工作的磁盘所构成的磁盘阵列
3)在磁盘子系统中执行的或者在主机系统中执行的磁盘阵列管理软件。
4)磁盘阵列:
磁盘阵列 | 内容 | 特点 |
RAID0 | 简单将数据分配到各个磁盘上,不提供真正容错性。至少需要2个硬盘,可支持8/16/32个磁盘。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,速度最快,但无容错能力 | (1)更好地利用磁盘空间,延长磁盘寿命,多个硬盘并行工作,提高了读写性能。 (2)不提供数据保护,任一磁盘失效,数据可能丢失,且不能自动恢复。 |
RAID1 | 每一组盘至少两台,数据同时以同样的方式写到两个盘上,两个盘互为镜象。磁盘镜象可以是分区镜象、全盘镜象。容错方式以空间换取,实施可以采用镜象或者双工技术。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。 | (1)具有最高可靠性,策略简单,恢复数据时不必停机。 (2)有效容量只有总容量的1/2,利用率50%。由于磁盘冗余,成本较高 |
循环奇偶校验阵列(RAID5) | RAID5是无独立校验盘的奇偶校验磁盘阵列。校验数据不固定在一个磁盘上,而是循环地依次分布在不同的磁盘上。 | (1)校验分布在多个磁盘中,写操作可以同时处理。为读操作提供了最优的性能。一个磁盘失效,分布在其他盘上的信息足够完成数据重建。 (2)数据重建会降低读性能;每次计算校验信息,写操作开销会增大,是一般存储操作时间的3倍。 |
RAID 3级 | 它利用一台奇偶校验盘来完成数据的校验功能,比起磁盘镜像,它减少了所需要的冗余磁盘数 | (1)磁盘利用率提高 |
RAID 6级和RAID 7级 | 这是强化了的RAID。在RAID 6级的阵列中,设置了一个专用的、可快速访问的异步校验盘。 | (1)该盘具有独立的数据访问通路,具有比RAID 3 级及RAID 5 级更好的性能,但其性能改进得很有限,且价格昂贵。 |