磁盘调度算法
- 格式:docx
- 大小:433.83 KB
- 文档页数:18
磁盘调度算法
As a person, we must have independent thoughts and personality.
操作系统
实 验 报 告
课程名称 操作系统实验
实验项目名称 磁盘调度算法
学号 04 班级
姓名 王鸿运 专业 计算机
学生所在学院 计算机科学与技术 指导教师 王红滨
实验室名称地点 计算机基础第七实验室
哈尔滨工程大学
计算机科学与技术学院 一、实验概述
1. 实验名称 磁盘调度算法
2. 实验目的
(1)通过学习EOS实现磁盘调度算法的机制,掌握磁盘调度算法执行的条件和时机。
(2)观察EOS实现的FCFS、SSTF和 SCAN磁盘调度算法,了解常用的磁盘调度算法。
(3)编写CSCAN和N-Step-SCAN磁盘调度算法,加深对各种扫描算法的理解。
3. 实验类型 验证,设计
4. 实验内容
(1)准备实验
(2) 验证先来先服务(FCFS)磁盘调度算法
(3) 验证最短寻道时间优先(SSTF)磁盘调度算法
(4) 验证SSTF算法造成的线程“饥饿”现象
() 验证扫描(SCAN)磁盘调度算法
() 验证SCAN 算法能够解决“饥饿”现象
(6) 改写SCAN调度算法
二、实验环境 EOS操作系统与IDE环境组成的“操作系统集成实验环境OS
Lab”。
三、实验过程
(一)实验问题及解答
1.实验指导验证先来先服务(FCFS)磁盘调度算法,要求请给出在“输出”窗口中的结果。
答:输出结果复制如下:
制作软盘镜像...
正在启动 Virtual PC...
开始调试...
****** Disk schedule start working ******
Start Cylinder: 10
TID: 31 Cylinder: 8 Offset: 2 -
TID: 32 Cylinder: 21 Offset: 13 +
TID: 33 Cylinder: 9 Offset: 12 -
TID: 34 Cylinder: 78 Offset: 69 +
TID: 35 Cylinder: 0 Offset: 78 -
TID: 36 Cylinder: 41 Offset: 41 +
TID: 37 Cylinder: 10 Offset: 31 -
TID: 38 Cylinder: 67 Offset: 57 + TID: 39 Cylinder: 12 Offset: 55 -
TID: 40 Cylinder: 10 Offset: 2 -
Total offset: 360 Transfer times: 10 Average offset: 36
2.实验指导验证验证最短寻道时间优先(SSTF)磁盘调度算法,要求请给出在“输出”窗口中的结果。
答:输出结果复制如下:
制作软盘镜像...
正在启动 Virtual PC...
开始调试...
****** Disk schedule start working ******
Start Cylinder: 10
TID: 37 Cylinder: 10 Offset: 0 =
TID: 40 Cylinder: 10 Offset: 0 =
TID: 33 Cylinder: 9 Offset: 1 -
TID: 31 Cylinder: 8 Offset: 1 -
TID: 39 Cylinder: 12 Offset: 4 +
TID: 32 Cylinder: 21 Offset: 9 +
TID: 36 Cylinder: 41 Offset: 20 + TID: 38 Cylinder: 67 Offset: 26 +
TID: 34 Cylinder: 78 Offset: 11 +
TID: 35 Cylinder: 0 Offset: 78 -
Total offset: 150 Transfer times: 10 Average offset: 15
3.实验指导验证SSTF算法造成的线程“饥饿”现象,要求请给出在“输出”窗口中的结果。
答:输出结果复制如下:
制作软盘镜像...
正在启动 Virtual PC...
开始调试...
****** Disk schedule start working ******
Start Cylinder: 10
TID: 37 Cylinder: 10 Offset: 0 =
TID: 40 Cylinder: 10 Offset: 0 =
TID: 33 Cylinder: 9 Offset: 1 -
TID: 34 Cylinder: 8 Offset: 1 -
TID: 35 Cylinder: 11 Offset: 3 +
TID: 39 Cylinder: 12 Offset: 1 + TID: 32 Cylinder: 21 Offset: 9 +
TID: 36 Cylinder: 41 Offset: 20 +
TID: 38 Cylinder: 67 Offset: 26 +
TID: 31 Cylinder: 78 Offset: 11 +
Total offset: 72 Transfer times: 10 Average offset: 7
4.实验指导验证扫描(SCAN)磁盘调度算法,要求在非饥饿(即《实验指导》节中的数据)和饥饿(即《实验指导》节中的数据)请给出在“输出”窗口中的结果,并且要求在每次输入两次“ds”命令(注意不要连续输入,要等第一次“ds”命令执行完,再输入第二次“ds”命令),分析结果为什么不同。
答:输出结果复制如下:
(1)非饥饿状态,两次输入ds指令
制作软盘镜像...
正在启动 Virtual PC...
开始调试...
****** Disk schedule start working ******
Start Cylinder: 10
TID: 37 Cylinder: 10 Offset: 0 = TID: 40 Cylinder: 10 Offset: 0 =
TID: 39 Cylinder: 12 Offset: 2 +
TID: 32 Cylinder: 21 Offset: 9 +
TID: 36 Cylinder: 41 Offset: 20 +
TID: 38 Cylinder: 67 Offset: 26 +
TID: 34 Cylinder: 78 Offset: 11 +
TID: 33 Cylinder: 9 Offset: 69 -
TID: 31 Cylinder: 8 Offset: 1 -
TID: 35 Cylinder: 0 Offset: 8 -
Total offset: 146 Transfer times: 10 Average offset: 14
****** Disk schedule stop working ******
****** Disk schedule start working ******
Start Cylinder: 10
TID: 47 Cylinder: 10 Offset: 0 =
TID: 50 Cylinder: 10 Offset: 0 =
TID: 43 Cylinder: 9 Offset: 1 -
TID: 41 Cylinder: 8 Offset: 1 -
TID: 45 Cylinder: 0 Offset: 8 - TID: 49 Cylinder: 12 Offset: 12 +
TID: 42 Cylinder: 21 Offset: 9 +
TID: 46 Cylinder: 41 Offset: 20 +
TID: 48 Cylinder: 67 Offset: 26 +
TID: 44 Cylinder: 78 Offset: 11 +
Total offset: 88 Transfer times: 10 Average offset: 8
(2)饥饿状态,两次输入ds指令
制作软盘镜像...
正在启动 Virtual PC...
开始调试...
****** Disk schedule start working ******
Start Cylinder: 10
TID: 37 Cylinder: 10 Offset: 0 =
TID: 40 Cylinder: 10 Offset: 0 =
TID: 35 Cylinder: 11 Offset: 1 +
TID: 39 Cylinder: 12 Offset: 1 +
TID: 32 Cylinder: 21 Offset: 9 +
TID: 36 Cylinder: 41 Offset: 20 +
TID: 38 Cylinder: 67 Offset: 26 + TID: 31 Cylinder: 78 Offset: 11 +
TID: 33 Cylinder: 9 Offset: 69 -
TID: 34 Cylinder: 8 Offset: 1 -
Total offset: 138 Transfer times: 10 Average offset: 13
****** Disk schedule stop working ******
****** Disk schedule start working ******
Start Cylinder: 10
TID: 47 Cylinder: 10 Offset: 0 =
TID: 50 Cylinder: 10 Offset: 0 =
TID: 43 Cylinder: 9 Offset: 1 -
TID: 44 Cylinder: 8 Offset: 1 -
TID: 45 Cylinder: 11 Offset: 3 +
TID: 49 Cylinder: 12 Offset: 1 +
TID: 42 Cylinder: 21 Offset: 9 +
TID: 46 Cylinder: 41 Offset: 20 +
TID: 48 Cylinder: 67 Offset: 26 +
TID: 41 Cylinder: 78 Offset: 11 +
Total offset: 72 Transfer times: 10 Average offset: 7