220 likes | 293 Views
第九章 磁盘存储器管理. 教学目的与要求: 1. 掌握磁盘的构造及其性能 2. 掌握磁盘空间分配方法与空闲空间管理 3. 了解 重点与难点: 1. 外存分配方法与空闲空间管理 2. 磁盘容错技术、文件系统性能改变方法、数据一致控制. 主要内容: 9.1 磁盘 I/O 9.2 外存分配方法 9.3 空闲存储空间的管理 9.4 磁盘容错技术 9.5 文件系统的性能改善 9.6 数据一致控制 9.7 作业. 一.磁盘概述 1.磁盘是最典型的直接存取设备,设备允许文件系统直接存取磁盘上的任意物理块。
E N D
第九章 磁盘存储器管理 教学目的与要求: 1. 掌握磁盘的构造及其性能 2. 掌握磁盘空间分配方法与空闲空间管理 3. 了解 重点与难点: 1. 外存分配方法与空闲空间管理 2. 磁盘容错技术、文件系统性能改变方法、数据一致控制
主要内容: 9.1 磁盘I/O 9.2 外存分配方法 9.3 空闲存储空间的管理 9.4 磁盘容错技术 9.5 文件系统的性能改善 9.6 数据一致控制 9.7 作业
一.磁盘概述 1.磁盘是最典型的直接存取设备,设备允许文件系统直接存取磁盘上的任意物理块。 2.磁盘机一般由一些磁盘片组成的磁盘组组成。其中每个磁盘片对应一个装有 读/写 磁头的磁头臂,磁头臂上的两个读/写磁头分别对磁盘片的上下两面进行读写。 3.每个磁盘片分割成一些大小相等的扇区。在磁盘转动时经过读/写 磁头所形成的圆形轨迹称为磁道。磁盘上有多条磁道。
二.磁盘存储器管理的主要任务 1.合理的空间分配 2.合理组织文件的存取方式 3.提高空间利用率 4.提高磁盘的I/O速度,改善文件系统性能 5.采取必要的措施提高文件系统的可靠性 三.提高磁盘I/O速度的主要途径 1.选择性能好的磁盘 2.采用好的磁盘调度算法 3.设置磁盘高速缓冲区
9.1.1 磁盘性能简述 1. 磁盘类型 固定头磁盘:每条磁道有一个读/写磁头。读写速度很快,效率极高,主要用于大容量磁盘 移动头磁盘:每一个盘面仅配有一个磁头。通常我们所接触的都是这种磁盘。 9.1 磁盘I/O
2. 磁盘访问时间 对磁盘的访问时间,包括三部分: (1)寻道时间:把磁头从当前位置移动到指定磁道上所经历的时间。 (2)旋转延迟时间:指定扇区移动到磁头下面所经历的时间 (3)传输时间:把数据从磁盘读出,或向磁盘写入数据所经历的时间 其中,寻道时间最长,在后面的磁盘调度算法中,寻道时间是主要的考虑因素。
9.1.2 磁盘调度算法 1.先来先服务FCFS 原理:根据进程访问磁盘的时间顺序进行调度 优点:公平、简单 适用于进程数目较少的场合 缺点:当提出访问磁盘的进程数较多时,效率很低 2.最短寻道时间优先SSTF 原理:总是选择请求对列中距磁头当前距离最近的请求为之服务。 缺点:若新请求不断到达,磁头往往滞留在中央柱面,致使远离中央的柱面的访问无限延长。产生“饿死”现象。
优点:速度较快 缺点:容易产生“饿死”现象 在早期使用较多 3.扫描算法(SCAN) 原理:总是选择请求队列中沿移动臂移动方向上距磁头当前距离最近的请求为之服务。 缺点:比SSTF算法公平,但是仍然会产生进程“饥饿”现象 4.循环扫描算法(CSCAN) 与扫描算法相似,只是磁头是单向扫描磁道。进程的请求得到比较均匀的响应,比扫描算法公平。
5.N-Step-SCAN调度算法(了解)有两种: (1)N-Step-SCAN调度算法 按时间将请求分成许多段,每一段内按照SCAN算法进行响应 (2)FSCAN调度算法 是对N-Step-SCAN算法的简化。
1.连续分配 原理:为每个文件分配一组连续的盘块 优点:易于实现顺序访问;访问速度快 缺点:要求必须有连续的存储空间 必须事先知道文件的长度 2.链接分配(两种方式) (1)隐式链接 在文件目录的每个目录项中含有指向链接文件第一和最后一个盘块的指针。 9.2 外存分配方法
缺点是,浪费较多的磁盘空间,且检索速度慢,效率不高缺点是,浪费较多的磁盘空间,且检索速度慢,效率不高 (2)显式链接 把用于链接文件各物理块的指针,显式的存放在内存的一张表中,即文件分配表FAT。 这种方法非常适合于空间不太大的磁盘管理,速度快,效率较高。 缺点是,对于空间较大的磁盘显得力不从心。
3.索引分配 原理:建立索引表。有三种方式 (1)单级索引分配 (2)多级索引分配 (3)混合分配方式 特点:直接地址、一次间接地址、多次间接地址都包含在一个表中;可以根据文件的大小选择合适的索引方式。
1.空闲表法 这是最简单的空闲块管理方法,即将所有的空闲块登记在一张表中,每个表项对应一个由多个空闲块构成的空闲区,它包括空闲块个数,空闲块号和第一个空闲块号等。 与内存管理中的动态分区存储管理相同,适用于连续文件结构的文件存储区的分配与回收。 2.空闲链表法 空闲块链是一种较常用的空闲块管理方法。就是在空闲块之间用指针链接。分配空闲块时从链头开始摘 9.3 空闲存储空间的管理
取,然后调整链首指针,回收空闲块时,把释放的空闲块逐个插入链尾上。 按块的大小可分为两种: ⑴空闲盘块链:以盘块为单位进行连接 ⑵空闲盘区链:以盘区为单位进行连接 3.位示图法 用1位来表示一个盘块的状态,将整个磁盘区(或文件)形成一个位示图。位示图比较小,常驻内存,与前者相比,提高了空闲块的分配回收速度,效率较高。 特点:简单明了,适用于微机和小型机
4.成组链接法 成组链法的原理是先把文件存储设备中的所有空闲块按50块画分为一组。组的画分为从后往前顺次画分。其中,每组的第一块用来存放前一组中各块的块号和总块数。由于第一组的前面已无其他组存在,因此,第一组的块数为49块。不过,由于存储设备的空间块不一定正好是50的整倍数,因而最后一组将不足50块,且由于该组后面已无另外的空闲块组,所以,该组的物理块号与总块数只能放在管理文件存储设备用的文件资源表中。 成组链法在空闲块的分配和回收方面要优于上述几种方法。
1 磁盘容错技术 是通过增加冗余的磁盘驱动器、磁盘控制器等,来提高磁盘系统的可靠性。可分为三个级别: (1)SFT-1:低级磁盘容错技术,主要用于防止磁盘表面仿生缺陷所引起的数据丢失 (2)SFT-2:中级磁盘容错技术,主要用于防止磁盘驱动器和磁盘控制器故障引起的系统不能正常工作 (3)SFT-3:高级磁盘容错技术。 9.4 磁盘容错技术
2 廉价磁盘冗余阵列 是利用一台磁盘阵列控制器,来统一管理和控制一组(几台到几十台)磁盘驱动器,组成一个高度可靠的、快速的大容量磁盘系统。 3 后备系统 ⑴类型 磁带机、硬盘、光盘 ⑵拷贝方法 完全转储 增量转储
提高对文件的访问速度的方法 1 改进文件的目录结构以及检索目录的方法,来减少对文件的查找时间; 2 选择好的文件存储结构,以提高对文件的访问速度; 3 提高磁盘I/O速度,以提高对数据的传送速度。 9.5 文件系统的性能改善
9.5.1 磁盘高速缓存 1 磁盘高速缓存的形式 是利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。 (1)在内存中开辟一个单独的存储空间 (2)把所有未利用的内存空间变为一个缓冲池 2 数据交付 将磁盘高速缓存中的数据传送给请求者进程。包括 数据交付和指针交付 3 置换算法 常用的有LRU、NRU、LFU等 4 数据要周期性写回磁盘
1 数据一致性问题 是指当一个数据被分别存储到多个文件中时如何保持数据的一致性。 2 事务 是用于访问和修改各种数据项的一个程序单位; 被访问的数据可以分散在多个文件中,因此事务也可以被看作是一系列的读写操作。 3 并发控制 事务是原子的操作,事务之间是顺序执行的,称为事务的顺序性。实现事务顺序性的技术叫~~。 9.6 数据一致控制
教材P289习题:1,2,3,4,5,7,10,11 9.7 作业