操作系统实验磁盘调度(5)

2019-03-11 15:11

图 3.5.4

(3)验证SSTF算法造成的线程“饥饿”现象

修改sysproc.c文件ConsoleCmdDiskSchedule函数中的源代码,仍然使磁头初始停留在磁道10,而让其它线程依次访问磁道78、21、9、8、11、41、10、67、12、10。按 F7生成项目,然后按F5 启动调试。 待 EOS启动完毕,在EOS控制台中输入命令“ds”后按回车。输出窗口输出结果如下图所示。

图 3.5.5

(4)验证扫描(SCAN)磁盘调度算法

20

使用 scan.c 文件中 IopDiskSchedule 函数的函数体,替换 block.c 文件中 IopDiskSchedule 函数的函数体。按 F7生成项目,然后按F5 启动调试。 待 EOS启动完毕,在EOS控制台中输入命令“ds”后按回车。输出窗口输出内容如下图所示。

图 3.5.6

再次输入“ds”命令,输出窗口输出内容如下图所示。

图 3.5.7

(5)改写SCAN算法

修改完代码后,按 F7生成项目,然后按F5 启动调试。待 EOS启动完毕,在EOS控制台中输入命令“ds”后按回车。输出窗口输出内容如下图所示。

图 3.5.8

21

调试结果与预期一致,说明算法改写正确。

图 3.5.9

(6)编写循环扫描(CSCAN)磁盘调度算法

修改完代码后,按 F7生成项目,然后按F5 启动调试。待 EOS启动完毕,在EOS控制台中输入命令“ds”后按回车。输出窗口输出内容如下图所示。

图 3.6.10

调试结果与预期一致,说明算法改写正确

图 3.5.11

22

(7)验证SSTF、SCAN 及 CSCAN算法中的“磁臂粘着”现象

修改sysproc.c文件ConsoleCmdDiskSchedule函数中的源代码,仍然使磁头初始停留在磁道10,而让其它线程依次访问磁道78、10、10、10、10、10、10、10、10、10。 分别使用SSTF、SCAN 和CSCAN算法调度这组数据。输出窗口输出内容如下图所示。

SSTF“磁臂粘着”现象:

图 3.5.12

SCAN“磁臂粘着”现象:

图 3.5.13

CSCAN“磁臂粘着”现象:

图 3.5.14

23

(8)编写N-Step-SCAN磁盘调度算法

修改完代码后,按 F7生成项目,然后按F5 启动调试。待 EOS启动完毕,在EOS控制台中输入命令“ds”后按回车。输出窗口输出内容如下图所示。

图 3.5.15

调试结果与预期一致,说明算法改写正确。

图 3.5.16

四、实验体会

本实验通过学习EOS实现磁盘调度算法的机制,对磁盘调度算法执行的条件和时机有了一定的掌握。同时通过实验操作观察了EOS实现的FCFS、SSTF和SCAN磁盘调度算法,了解了常用的磁盘调度算法。本次实验设计部分不是太难,主要是针对不同磁盘调度算法的特点改写代码,通过设计SCAN、CSCAN和N-STEP-SCAN算法,也让我感受到了每个算法所具有的特点。本次实验也是最后一次实验,通过本学期的实验学习对操作系统的知识有了更切实的了解,也让自己的编程能力有所锻炼。最后感谢王老师一学期以来的指导,让我在很多细节的方面能有所认识和提高。

24


操作系统实验磁盘调度(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:L-肉碱-L-酒石酸项目可行性研究报告编写格式说明(模板套用型word

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: