腾讯题目——求磁头平均寻道长度

####题目:
若磁头的当前位置在第100磁道,现在有一磁盘读写请求序列如下:23,376,205,132,19,61,190,398,29,4,18,40。若采用最短寻道时间优先算法,则平均寻道长度是多少?

133

58.3

57.7

70.9


解析:
移臂调度算法在于有效利用磁盘,保证磁盘的快速访问。移臂调度主要有以下几种算法:

**先来先服务算法(FCFS):**该算法只考虑访问请求的先后顺序。如上题当前位置为100,则顺序为(100),23,376,205,132,19,61,190,398,29,4,18,40,因此磁头移动磁道总数为(100-23)+(376-23)+(376-205)+ (205-132)+(132-19)+(61-19)+(190-61)+(398-190)+(398-29)+(29-4)+(18-4)+(40-18) = 1596,平均移动磁道数为1596/12 =133.0;

**最短寻道时间优先算法(SSTF):**从等待的访问者中挑选寻找时间最短的那个请求执行。如上题当前位置为100,则顺序为(100),132,190,205,61,40,29,23,19,18,4,376,398,因此磁头移动磁道总数为(132-100)+(190-132)+(205-190)+(205-61)+(61-40)+(40-29)+(29-23)+(23-19)+(19-18)+(18-4)+(376-4)+(398-376)=700,平均移动磁道数为700/12 =58.3;

**电梯调度(SCAN):**按当前位置找出最近的那个数,当前位置指向最近数决定方向,依次排列数字,排到尽头,再按当位置和最近数的相反方面依次排列数字。如上题当前位置为100,则顺序为(100),132,190,205,376,398,61,40,29,23,19,18,4,因此磁头移动磁道总数为(132-100)+(190-132)+(205-190)+(376-205)+(398-376)+(398-61)+(61-40)+(40-29)+(29-23)+(23-19)+(19-18)+(18-4)=692,平均移动磁道数为692/12 =57.7;

**单向扫描调度算法(CSCAN):**由当前位置到从小到大排列数字,再将剩下的数由小到大排。如上题当前位置为100,则顺序为(100),132,190,205,376,398,4,18,19,23,29,40,61,因此磁头移动磁道总数为(132-100)+(190-132)+(205-190)+(376-205)+(398-376)+(398-4)+(18-4)+(19-18)+(23-19)+(29-23)+(40-29)+(61-40)=749,平均移动磁道数为749/12 =62.4;


#####因此答案选择58.3。

你可能感兴趣的:(2018秋招面经,编程)