目录
- 前言
- 基础
- 实例
- 1.1读取磁盘数据计算时间
- 1.2磁盘调度算法
- 1.3单双缓冲区
- 1.4磁盘基础知识
前言
本文简述操作系统中有关磁盘的相关知识点,作为软件设计师考试资料复习
基础
磁盘管理是指对计算机中的磁盘进行有效地管理和使用的过程。磁盘管理包括以下方面:
磁盘分区:将硬盘划分成一个或多个逻辑分区,每个分区可以在操作系统中被单独处理。分区可以根据需求进行大小调整,以满足不同的存储需求。
磁盘格式化:对分区进行格式化,以建立文件系统,并为存储数据做好准备。格式化可以选择不同的文件系统类型,如FAT32、NTFS等。
磁盘分配和文件管理:在文件系统中进行文件和文件夹的创建、编辑、删除等操作。磁盘分配涉及到如何有效地存储和管理文件,以及如何分配空间以满足不同文件的需求。
磁盘故障检测和修复:监测磁盘运行状态,及时发现磁盘故障,并采取相应的措施进行修复或替换。磁盘故障可能包括物理故障(如磁头损坏)和逻辑故障(如文件系统损坏)。
磁盘性能优化:通过调整磁盘缓存、磁盘读写策略等参数,来提升磁盘的读写速度和性能。这可以包括使用高速缓存技术、磁盘碎片整理等方式。
知识点
存取时间=寻道时间+等待时间
读取磁盘数据的时间应包括以下三个部分:
- 找磁道的时间
- 找块(扇区)的时间,即旋转延迟时间
- 传输时间
磁盘调度算法
- 先来先服务(谁先申请先服务谁)
- 最短寻道时间优先(申请时判断与磁头当前位置的距离,谁短先服务谁)
- 扫描算法(电梯算法,双向扫描,来回运动)
- 循环扫描(单向扫描,向一个方向运动,到头了回到起点)
实例
1.1读取磁盘数据计算时间
某磁盘有100个磁道,磁头从一个磁道移至另一个磁道需要6ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和20ms,则读取一个100块的文件需要(18000)ms
相关解析
存取时间=寻道时间+等待时间
依题意得:
寻道时间:6*10
等待时间:100
数据传输时间:20
读取数据块:100
总时间:(6*10+100+20)*100=18000
1.2磁盘调度算法
假设磁盘臂位于15号柱面上,进程的请求序列如下表所示,如果采用最短移臂调度算法,那么系统的响序列为(5、1、2、4、3、6)
相关解析
最短移臂调度算法=优先响应距离最近磁道申请
- 此时距离15号柱面最近的柱面是12号柱面,请求序列为1或5
- 此时距离12号柱面最近的柱面是19号柱面,请求序列2或4
- 此时距离19号柱面最近的柱面是23号柱面,请求序列2
- 此时距离23号柱面最近的柱面是28号柱面,请求序列6
1.3单双缓冲区
假设磁盘与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间为5μs,系统对每个磁盘块数据的处理时间为2μs.若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为(152)μs;采用双缓冲区需要花费的时间为(107)μs
相关解析
在处理过程中,如果有关于缓冲区的使用,需要了解对于单缓冲区每次只能被一个进程使用,及向缓冲区传输数据的时候不能从缓冲区读取数据,反之亦然
单缓冲区
过程划分:
- 读入缓冲区(在送至用户区前不能拆分)
- 数据处理
执行时间:(15+2)+9*15=152
双缓冲区
过程划分:
- 读入缓冲区
- 送至用户区(由于是双缓冲区,可以并发执行)
- 数据处理
执行时间:(10+5+2)+9*10=107
1.4磁盘基础知识
若磁盘的转速提高一倍,则(C)
- A.平均存取时间减半
- B.平均寻道时间加倍
- C.旋转等待时间减半
- D.数据传输速率加倍
相关解析
- 磁盘的平均存取时间、数据传输速率与磁盘转速以及移臂调度时间都相关,无法直接通过磁盘的转速提高一倍就直接提高效率
- 磁盘的平均寻道时间与移臂调度相关,与磁盘转速无关
- 磁盘的旋转延迟时间只与磁盘转速相关,转速提高一倍,时间减半