操作系统 - 使用 FCFS、SSTF、SCAN 和 CSCAN 算法分别计算总搜索长度和平均搜索长度 示例(详细) - 说明:
移臂调度算法在于有效利用磁盘,保证磁盘的快速访问。移臂调度主要有以下几种算法:
先来先服务算法(FCFS): 该算法只考虑访问请求的先后顺序。如上题当前位置为100,则顺序为(100),55,58,39,18,90,160,150,38,184。如下表所示:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
55 | 45 |
58 | 3 |
39 | 19 |
18 | 21 |
90 | 72 |
160 | 70 |
150 | 10 |
38 | 112 |
184 | 146 |
因此磁头总寻道长度: (100-55)+(58-55)+(58-39)+(39-18)+(90-18)+(160-90)+(160-150)+(150-38)+(184-38)= 498,平均移动磁道数: 498/9 =55.3;
最短寻道时间优先算法(SSTF): 从等待的访问者中挑选寻找时间最短的那个请求执行。如上题当前位置为100,则顺序为(100),90, 58,55,39,38,18,150,160,184。如下表所示:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
90 | 10 |
58 | 32 |
55 | 3 |
39 | 16 |
38 | 1 |
18 | 20 |
150 | 132 |
160 | 10 |
184 | 24 |
因此磁头总寻道长度: (100-18)+(184-18)=248,平均移动磁道数: 248/9= 27.5;
缺点:产生饥饿现象
扫描算法(SCAN): 自里向外访问,直到再无更外的磁道需要访问时,才将磁臂换向为自外向里移动。如上题当前位置为100,则顺序为(100),150,160,184,90,58,55,39,38,18。如下表所示:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
150 | 50 |
160 | 10 |
184 | 24 |
90 | 94 |
58 | 32 |
55 | 3 |
39 | 16 |
38 | 1 |
18 | 20 |
因此磁头总寻道长度: (184-100)+(184-18)=250,平均移动磁道数: 250/9= 27.8;
优点:不会产生饥饿现象
循环扫描算法(CSCAN): 单向扫描,自里向外扫描,当磁头移动到最外面的磁道并访问后,磁头立即返回到最里面的预访问磁道,即将最小磁道号紧接着最大磁道号构成循环。如上题当前位置为100,则顺序为(100),150,160,184,18,38,39,55,58,90。如下表所示:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
150 | 50 |
160 | 10 |
184 | 24 |
18 | 166 |
38 | 20 |
39 | 1 |
55 | 16 |
58 | 3 |
90 | 32 |
因此磁头总寻道长度: (184-100)+(184-18)+(90-18)=322,平均移动磁道数: 322/9= 35.8;
优点:具有较好的寻道性能;且不会产生饥饿现象|
上一篇: wordpress 语言文件 .po.pot.mo 介绍和中文
下一篇: 陕西麻将规则与技巧