操作系统 | 您所在的位置:网站首页 › 简单文件系统模拟报告怎么写 › 操作系统 |
文章目录
前言一、磁盘的结构二、磁盘调度算法1、一次磁盘读写操作需要的时间2、磁盘调度算法①先来先服务算法(FCFS)②最短寻找时间优先(SSTF)③扫描算法(SCAN)④LOOK 调度算法⑤循环扫描算法(C-SCAN)⑥C-LOOK 调度算法
三、减少磁盘延迟时间的方法四、磁盘的管理1、磁盘初始化2、引导块3、坏块的管理
总结
前言
本文的主要内容是操作系统中磁盘操作的一些基础知识,包括磁盘的结构、磁盘的调度算法、减少磁盘延迟时间的方法以及磁盘的管理,重点理解和掌握磁盘的调度算法和减少磁盘延迟时间的方法这两部分内容。 一、磁盘的结构磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据。磁盘的简单示意图如下图所示。 ①寻找时间,也称寻道时间,它是指在读写数据前,将磁头移到指定的磁道所花的时间,包括启动磁头臂的时间和移动磁头的时间。 ②延迟时间,它是指通过旋转磁盘,使磁头定位到目标扇区所需要的时间,一般来说,找到目标扇区平均需要转半圈。 ③传输时间,从磁盘读出或者向磁盘写入数据所经历的时间。 先来先服务算法根据进程请求访问磁盘的先后顺序进行调度。 一个先来先服务算法的例子如下图所示。 最短寻找时间优先算法会优先处理与当前磁头距离最近的磁道,可以保证每次的寻道时间最短,但不能保证总的寻道时间最短。其本质就是贪心算法的思想,只选择眼前最优,但是总体未必最优。 一个最短寻找时间优先算法的例子如下图所示。 扫描算法的提出是为了防止饥饿的产生,因此规定,只有磁头移动到最外侧磁道的时候才能往内移动,移动到最内侧磁道的时候才能往外移动。由于磁头移动的方式很像电梯,因此也叫电梯算法。 一个扫描算法的例子如下图所示。 扫描算法只有到达最边上才能改变磁头的移动方向,而 LOOK 调度算法就是为了解决这个问题,即如果在磁头移动方向上已经没有别的请求,就可以立即改变磁头的移动方向,该算法边移动边观察,因此叫 LOOK 调度算法。 一个 LOOK 调度算法的例子如下图所示。 循环扫描算法是为了解决扫描算法对各个位置磁道响应频率不平均的问题,因此规定只有磁头朝某个特定方向移动时才处理磁道访问请求,而返回时直接快速移动至起始端而不处理任何请求。 一个循环扫描算法的例子如下图所示。 C-LOOK 调度算法是为了解决循环扫描算法磁头的移动和返回时都到了最边缘的位置的问题。C-LOOK 调度算法是,如果磁头移动方向上已经没有磁道访问请求了,就可以立即让磁头返回,并且磁头只需要返回到有磁道访问请求的位置即可。 一个 C-LOOK 调度算法的例子如下图所示。 假设要连续读取橙色区域的2、3、4号扇区,如下图所示。 磁盘初始化步骤: ①进行低级格式化,也就是物理格式化,将磁盘的各个磁道划分为扇区。一个扇区通常可以分为头、数据区域、尾三个部分,管理扇区所需要的数据结构一般存放在头和尾两个部分; ②将磁盘分区,每个分区由若干个柱面组成; ③进行逻辑格式化,创建文件系统,包括创建文件系统的根目录、初始化存储空间管理所用的数据结构。 2、引导块计算机开机时需要进行一系列的初始化工作,这些工作是通过执行初始化程序(自举程序)完成的。初始化程序放在了 ROM 中,而 ROM 中的数据在出厂时就已经写入了,此后也不能再修改。 如果是这种方式的话,要更新自举程序会很不方便,因此只在 ROM 中放入很小的自举装入程序,而完整的自举程序放在磁盘的启动块(引导块或启动分区)上,启动块位于磁盘的固定位置。 在开机时,计算机先运行自举装入程序,通过执行该程序就可以找到引导块,并将完整的自举程序读入内存,完成初始化。 拥有启动分区的磁盘称为启动磁盘或者系统磁盘,比如Windows系统中的 C 盘。 3、坏块的管理对于一些坏了的、无法正常使用的扇区,也就是坏块,操作系统是无法修复的,应该将坏块标记出来,以免错误地使用到它。 简单的磁盘可以在逻辑格式化时对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,比如可以在文件分配表上标明,这种方式下,坏块对操作系统不透明。 对于复杂的磁盘,磁盘控制器会维护一个坏块链表,在磁盘出厂前进行低级格式化时就将坏块链进行初始化。此外还会保留一些备用扇区,用于替换坏块,称为扇区备用,这种方式下,坏块对操作系统透明。 对磁盘的管理这部分内容简单的总结一下,如下图所示。 以上就是操作系统——磁盘操作的所有内容了,本文中介绍到的磁盘的结构和磁盘的管理是比较基础的内容,需要熟知,几种磁盘的调度算法也需要掌握,减少磁盘延迟时间的方法这部分内容比较难懂,可以结合磁盘的结构一起学习。 参考视频: 磁盘的结构 磁盘调度算法 减少磁盘延迟时间的方法 磁盘的管理 |
CopyRight 2018-2019 实验室设备网 版权所有 |