系统架构设计师综合部分(1)

磁盘调度管理

磁盘数据块的存取,耗时由两方面组成。

  • 一方面是垂直的寻道时间,
  • 一方面是旋转延长时间。

而这两个动作,旋转延迟实际上是保持匀速固定方向来转动的,这是计算机硬件自带的硬件特性,并没有任何规律可言,只有其中垂直寻道是可以产生移臂调度调度算法的区别,这个调度的过程我们称作移臂调度。

在移臂调度调度算法中,可以分为几种:

  • 先来先服务(FCFS)
  • 最短寻道时间优先(SSTF)
  • 扫描算法(SCAN)
  • 循环扫描(CSCAN)

先来先服务(FCFS)

  • 先来先服务(FCFS),意味着申请的顺序对应处理申请的顺序,谁先申请就先处理谁的,跟排队一样。这种算法比较简单,在效率上而言,相对来说没有较大的提高。

最短寻道时间优先(SSTF)

  • 最短寻到时间优先(SSTF),这种算法在软考里比其他算法考的较多。这种算法是考虑每一次当前距离最短的是哪一个申请,谁离的比较近,就先响应谁。这种情况相比而言,在效率上是有所提高的。

扫描算法(SCAN)

  • 扫描算法(SCAN),也叫做电梯算法。坐电梯是分不同的楼层,以及不同的方向上或下,在做电梯的过程当中,我们在不同的楼层去按向上或向下的按钮,我们会发现在整个不同楼层的位置上,比如固定的方向上,如电梯在上来的时候,经过的所有的提交的请求,都会去进行相应,然后当电梯到达最高层之后,我们又会让电梯反向移动,再将中间碰到的所有申请响应一遍。这种就是电梯算法,也叫做扫描算法。这种扫描的过程是一个双向扫描的过程,自内向外或者自外向内两个方向都可以,当前位于哪个方向上,题目一般都会告知。

循环扫描(CSCAN)

  • 这种循环的过程是一个单向的过程,类似于在移动的过程中固定了某一个方向,比如固定由内到外,那么到达最高层并不会反向处理其它的进程,而是回到最外层再次进行相同方向的扫描。

以上四种算法而言,它所描述的都是磁头移动的过程,在这个磁头移动的过程当中,像最短寻道的话,如果离它比较近的磁头方向是在反向上,是有可能立即调整磁头的移动方向的,在电梯算法当中,也有可能去调整访问方向,针对移臂调度而言,考试中经常是通过判断访问序列是否符合某种算法。

例题:假设磁盘臂位于15号柱面,进程的请求序列如下表表示,如果采用最短移臂调度算法,那么系统的响应序列应为()。

  • A:①②③④⑤⑥
  • B:⑤①②④③⑥
  • C:②③④⑤①⑥
  • D:④②③⑤①⑥

题目并没有告知磁道号,但是再磁盘当中,磁盘和柱面的含义其实差不多,因此由磁盘臂位于15号柱面,15相当于是磁道号。在这类问题中只需要区分磁道判断就可以,同一个磁道有多个扇区的话,先响应谁都是可以的。由此可知,距离15号磁道最近的是12,然后是19,然后是23,然后是28。因此①⑤或者⑤①在最前面。所以选B。

页面: 1 2 3

Breeze Wang

A student majoring in Software Engineering at Central South University has an understanding of software development techniques, software architecture, and is able to use Godot to develop game projects. I am currently in the Game Development Laboratory at Central South University. I have experience participating in Global Game Jam. Loving game development.