1 / 45

第五章 设备管理

第五章 设备管理. 5.1 I/O 系统 5.2 I/O 控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储管理. 上节回顾. 设备独立性:逻辑设备与物理设备的映射 设备的分配程序: P165 SPOOLing 系统: P166 用程序模拟脱机输入、输出 双井(磁盘),双缓冲区(内存),双进程 设备处理:设备驱动 设备驱动程序的功能: P168 设备驱动程序的处理过程: P169 中断处理程序的处理过程: P170. 5.6 磁盘存储器管理. 目标是提高磁盘性能.

tave
Download Presentation

第五章 设备管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储管理

  2. 上节回顾 • 设备独立性:逻辑设备与物理设备的映射 • 设备的分配程序:P165 • SPOOLing系统:P166 • 用程序模拟脱机输入、输出 • 双井(磁盘),双缓冲区(内存),双进程 • 设备处理:设备驱动 • 设备驱动程序的功能:P168 • 设备驱动程序的处理过程:P169 • 中断处理程序的处理过程:P170

  3. 5.6 磁盘存储器管理 目标是提高磁盘性能

  4. 5.6 磁盘存储器管理 磁盘的构成

  5. 5.6.1 磁盘的组成

  6. 磁盘的寻址模式 CHS模式 LARGE模式 LBA模式 CHS寻址模式是硬盘寻址模式的基础,它将硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。 △磁头(Heads):一个磁头对应一张磁片的一个面 △柱面(Cylinder):所有磁片中半径相同的同心磁道构成“柱面",简单地理解,柱面就是磁道。 △扇区(Sector):将磁道划分为若干个小的区段,就是扇区。每个扇区的容量为512字节。 知道了磁头数、柱面数、扇区数,就可以很容易地确定数据保存在硬盘的哪个位置 LBA寻址模式是直接以扇区为单位进行寻址的,不再用磁头/柱面/扇区三种单位来进行寻址。但为了保持与CHS模式的兼容,通过逻辑变换算法,可以转换为磁头/柱面/扇区三种参数来表示,但表示的已不是硬盘中的物理位置,而是逻辑位置了。 目前48位LBA寻址方式的理论容量极限是144,115,188,075,855,872字节=144,000TB

  7. 数据的组织和格式:标识符字段 + 数据字段

  8. 2. 磁盘的类型 1) 固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。 这种结构的磁盘主要用于大容量磁盘上。 2) 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单, 故仍广泛应用于中小型磁盘设备中。

  9. 3. 磁盘访问时间 1) 寻道时间Ts

  10. 2) 旋转延迟时间Tτ

  11. 3) 传输时间Tt

  12. 3) 磁盘访问时间Ta

  13. 5.6.2 磁盘调度 磁盘调度算法

  14. 1. 先来先服务FCFS(First-Come, First Served)

  15. 图 5-23 FCFS调度算法

  16. 2. 最短寻道时间优先SSTF(Shortest Seek Time First)

  17. 图 5-24 SSTF调度算法

  18. 3. 扫描(SCAN)算法 1) 进程“饥饿”现象 SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达, 且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法, 即可防止老进程出现“饥饿”现象。

  19. 图 5-25 SCAN调度算法示例

  20. 图 5-26 CSCAN调度算法示例

  21. 5. N-Step-SCAN和FSCAN调度算法 1) N-Step-SCAN算法 在SSTF、 SCAN及CSCAN几种调度算法中, 都可能出现磁臂停留在某处不动的情况, 例如,有一些进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。 我们把这一现象称为“磁臂粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。

  22. 1) N-Step-SCAN算法 N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列, 磁盘调度将按FCFS算法依次处理这些子队列。 而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。 当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能; 当N=1时, N步SCAN算法便蜕化为FCFS算法。

  23. 2) FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化, 即FSCAN只将磁盘请求队列分成两个子队列。 一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。 在扫描期间,将新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。

  24. 5.6.3 磁盘高速缓存(Disk Cache)

  25. 1. 磁盘高速缓存的形式 • 是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。 • 高速缓存是一组在逻辑上属于磁盘, 而物理上是驻留在内存中的盘块。 • 高速缓存在内存中可分成两种形式。 • 第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响; • 第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。

  26. 2. 数据交付方式 数据交付是指将缓存数据传送给请求进程。系统采取两种方式将数据交付给请求进程: (1) 数据交付。这是直接将高速缓存中的数据, 传送到请求者进程的内存工作区中。 (2) 指针交付。只将指向高速缓存中某区域的指针, 交付给请求者进程。 后一种方式由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时

  27. 3. 置换算法 • 常用算法包括LRU,NRU,LFU。由于请求调页中的联想存储器与高速缓存(磁盘I/O中)的工作情况不同,因而置换算法中所考虑的问题有所差异。除了考虑到最近最久未使用这一原则外, 还考虑了以下几点: • (1) 访问频率。 • (2) 可预见性。 • (3) 数据的一致性。 • 组织LRU链,不同盘块插入不同位置,减少数据写回频率。

  28. 4. 周期性地写回磁盘 在UNIX系统中专门增设了一个修改(update)程序, 使之在后台运行,该程序周期性地调用一个系统调用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘。一般是把两次调用SYNC的时间间隔定为30 s。这样,因系统故障所造成的工作损失不会超过30 s的劳动量。 在MS-DOS中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”(write-through cache)。 MS-DOS所采用的写回方式,几乎不会造成数据的丢失, 但须频繁地启动磁盘。

  29. 5.6.4 提高磁盘I/O速度的其它方法

  30. 内存式硬盘 2005年,技嘉推出的I-RAM产品 1.支持4G DDR内存 2、采用PCI接口,外接SATA 3、18秒写入1GB数据 4、9秒启动一个XP系统 DDRdrive公司推出DDRdrive X1 1、支持8G DDR内存 2、采用PCI-E 3、外接电源

  31. 5.6.5 廉价磁盘冗余阵列 1. 并行交叉存取

  32. 2. RAID RAID全称为Redundant Array of Inexpensive Disk,是“廉价磁盘冗余阵列”的缩略语。1987年由Patterson,Gibson和Katz在加州大学伯克利分院的一篇文章中定义。RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布。

  33. RAID的分级 • RAID 0: • 使用一种称为"条带"(striping)的技术把数据分布到各个磁盘上。在那里每个"条带"被分散到连续"块"(block)上,数据被分成从512字节到数兆字节的若干块后,再交替写到磁盘中。第1块被写到磁盘1中,第2块被写到磁盘2中,如此类推。当系统到达阵列中的最后一个磁盘时,就写到磁盘1的下一分段,如此下去。 • 分割数据可以将I/O负载平均分配到所有的驱动器中。由于驱动器可以同时写或读,使得性能显著提高。 • 缺点,它却没有数据保护能力。如果一个磁盘出现故障,那么数据就会全盘丢失。因此,RAID 0不适用于关键任务环境。 • 强项在于视频、图象的制作和编辑等等对磁盘读写频繁的应用,还有广大用户关心的系统整体性能以及游戏性能。

  34. RAID 1: RAID 1也被称为镜像,因为一个磁盘上的数据被完全复制到另一个磁盘上。如果一个磁盘的数据发生错误,或者硬盘出现了坏道,那么另一个硬盘可以补救回磁盘故障而造成的数据损失和系统中断。 缺点是需要多出一倍数量的驱动器来复制数据,但系统的读写性能并不会由此而提高,这可能是一笔不小的开支。RAID l可以由软件或硬件方式实现。

  35. RAID 3与RAID5: RAID 3和RAID 5都是校验方式。RAID 3的工作方式是用一块磁盘存放校验数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。 RAID 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。 RAID3多用于科学计算与图像处理,RAID5多用于I/O频繁的事务处理。

  36. RAID 7: • 一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。

  37. 我们可以采用RAID 0+1 (RAID 10)或者RAID 5+3 • (RAID 53)等结合多种RAID规范来构筑所需的RAID阵列 • RAID 0+1: RAID 10,也被称为镜象阵列条带,现在我们一般称它为RAID 0+1。它提供100%的数据冗余,支持更大的卷尺寸。组建RAID 10(RAID 0+1)需要4个磁盘,其中两个为条带数据分布,提供了RAID 0的读写性能,而另外两个则为前面两个硬盘的镜像,保证了数据的完整备份。

  38. Matrix RAID Matrix RAID即所谓的“矩阵RAID”,是ICH6R南桥所支持的一种廉价的磁盘冗余技术,是一种经济性高的新颖RAID解决方案。Matrix RAID技术的原理相当简单,只需要两块硬盘就能实现了RAID 0和RAID 1磁盘阵列,并且不需要添加额外的RAID控制器,这正是我们普通用户所期望的。 Matrix RAID需要硬件层和软件层同时支持才能实现,硬件方面目前就是ICH6R南桥以及更高阶的ICH6RW南桥,而Intel Application Accelerator软件和Windows操作系统均对软件层提供了支持。 Matrix RAID的原理就是将每个硬盘虚拟成两个子硬盘,这时子硬盘总数为4个,其中用两个虚拟子硬盘来创建RAID0模式以提高效能,而其它两个虚拟子硬盘则透过镜像备份组成RAID 1用来备份数据。 RAID 0,主要用来存储操作系统、应用程序和交换文件 RAID 1,主要用来存储用户个人的文件和数据

  39. 例如,使用两块120GB的硬盘,可以将两块硬盘的前60GB组成120GB的逻辑分割区,然后剩下两个60GB区块组成一个60GB的数据备份分割区。例如,使用两块120GB的硬盘,可以将两块硬盘的前60GB组成120GB的逻辑分割区,然后剩下两个60GB区块组成一个60GB的数据备份分割区。 需要高效能却不需要安全性的应用,就可以安装在RAID 0分割区 需要安全性备分的数据,则安装在RAID 1分割区。 换言之,使用者得到的总硬盘空间是180GB,和传统的RAID 0+1相比,容量使用的效益非常的高,而且在容量配置上有着更高的弹性。 如果发生硬盘损毁,RAID 0区数据自然无法复原,但是RAID 1的数据却会得到保全。

  40. 3. RAID的优点 • 可靠性高。 • (2) 磁盘I/O速度高。 • (3) 性能/价格比高。

More Related