本系列文章为408考研操作系统知识点整理仅涉及到一些重要的考研知识点并不是完全系统全面的知识,参考书目和视频资料:汤小丹 计算机操作系统(第四版),操作系统考研复习指导,B站王道考研操作系统视频课。
5.3.1 磁盘
一块硬盘含有若干记录面,每个记录面划分为若干条磁道,每条磁道又划分为若干扇区,扇区(也称之为块)是磁盘读写的最小单位,也就是磁盘是按块存取
磁头数:也即记录面数,表示硬盘总共有多个磁头,磁头分为读磁头和写磁头,每个磁头对应一个记录面
柱面数:表示硬盘每一面盘片上有多少条磁道。在一个盘组中,不同记录面的相同编号(位置)的者磁道构成一个圆柱面
扇区数:表示每一条磁道上有多少个扇区
硬盘存储器由磁盘驱动器,磁盘控制器和盘片组成
磁盘驱动器:核心部件是磁头组件和硬件组件。
磁盘控制器:硬盘存储器和主机的接口,主流的标准有DE,SCSl,SATA等
5.3.2 磁盘的管理
磁盘初始化
一个新的磁盘只是一个含有磁性记录材料的空白盘
在磁盘能存储数据之前,它必须分成扇区以便盘控制器能进行读和写操作,此比过程称之为低级格式化(物理格式化)
一个扇区通常可以分为头、数据区域、尾三个部分
管理扇区所需要的各种数据结构一般存放在头、尾两个部分
为了使用磁盘存储文件,操作系统还需要将自己的数据结构记录在磁盘上
第一步:将磁盘分为由一个或多个柱面组成的分区(也即我们熟悉的C盘、D盘等形式的分区)
第二步:对物理分区进行逻辑格式化(创建文件系统),操作系统将初始的文件系统数据结构存储到磁盘上,这些数据结构包括空闲和已分配的空间以及一个初始为空的目录
引导块
计算机启动时需要运行一个初始化程序(自举程序),它初始化CPU,寄存器,设备控制器和内存等,接着启动操作系统。为此,该自举程序应找到磁盘上的操作系统内核,装入内存,并转到起始地址,从而开始操作系统的运行
自举程序通常保存在ROM中,为了避免改变自举代码而需要改变ROM硬件的问题,因此只在ROM中保留很小的自举装入程序,将完整功能的自举程序保存在磁盘的启动快上,启动块位于磁盘的固定位。拥有启动分区的磁盘称为启动磁盘或系统磁盘
由于磁盘有移动部件且容错能力弱,因此容易导致一个或多个扇区损坏。
部分磁盘甚至从出厂时就有坏扇区。根据所使用的磁盘和控制器,对这些块有多种处理方式。
对于简单磁盘,如电子集成区动器(DE),坏扇区可手工处理,如MS-DOS的Formati命令执行罗辑格式化时便会扫描磁盘以检查坏扇区。坏扇区在FAT表上会标明,因比程序不会使用。
对于复杂的磁盘,如小型计算机系统接口(SCS),其控制器维护一个磁盘坏块链表。该链表在出厂前进行低级格式化时就已初始化,并在磁盘的整个使用过程中不断更新。低级格式化将一些块保留作为备用,对操作系统透明。控制器可用备用块来逻辑地替代坏块,这种方案称为扇区备用
5.3.3 磁盘调度算法
磁盘最重要的性能指标便是平均存取时间,磁盘速度越快才能越不拖累整机性能。在磁盘平均存取时间中,延迟时间和传输时间都与磁盘转速相关,而目是线性的,由于是转速是磁盘的物理特性,所以操作系统无法用软件的方法干预延迟时间和传输时间。
操作系统唯一能影响的便是寻道时间,而采用不同的磁盘调度算法将会直接影响寻道时间的长短。
先来先服务算法:根据进程请求访问磁盘的先后顺序进行调度
优点:公平,如果请求访问的磁道较为集中的话,性能还算说得过去
缺点:当大量进程竞争使用磁盘时,请求访问的磁道分散,会使性能变得很差,寻道时间很长
最短寻道时间优先(SSTF):该算法每次会优先处理与磁头离得最近的磁道。可以保证每次寻道时间最短,但是并不能保证总的寻道时间最短
优点:性能较好,平均寻道时间短
缺点:可能会产生饥饿现象,因为如果后续来的磁道都在很小的范围内波动,就会导致磁头总在一小块区域内来回移动
扫描算法:为了解决SSTF算法的饥饿问题。扫描算法规定只有磁头移动到最外侧磁道的时候才能往内移动,只有移动到最内侧磁道的时候才能往外移动,此算法又被称为电梯算法
优点:性能较好,平均寻道时间短,不会产生饿现象
缺点:第一个缺点:处理完某个磁道后其实不必要再移动了,但是还是要必须移动到外侧或内侧才可以;第二个缺点:该算法对各个位置磁道的响应频率不平均(中间磁道会比较吃亏,两边磁道占便宜)
循环扫描算法:为了解决扫描算法的第二个缺点。循环扫描算法规定只有滋头朝某个特定方向移动时才处理磁道访问请求,而返回时直接决速移动至起始端而不处理任何请求
优点:相较于SCAN来说,各个位置磁道的响应频率很平均
缺点:只有到达的最边上的磁道才能改变磁头移动方向;而且磁头返回时不需要非得返回最边缘;相较于SCAN来说,平均寻道时间更长
LOOK算法:为了解决扫描算法的第一个缺点。LOOK算法规定如果在磁头方向上已经没有别的请求了,就可以立即改变磁头移动方向,不需要移动到最远端
C-LOOK算法:C-LOOK算法是循环扫描算法的优化版本。C-LOOK算法规定磁头在每个方向上仅仅移动到最远的位置,然后立即返回,返回过程不处理任何请求,也不需要移动到最始端
5.3.4 减少延迟时间
交替编号:让逻辑上相邻的扇区在物理上有一定的间隔,也即对扇区的编号采用交替的形式进行(扇区在物理上连续,编号上交替)
盘面扇区错位命名也可以减少延迟时间
Comments NOTHING