ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:153.53KB ,
资源ID:6837451      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6837451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统实验10.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统实验10.docx

1、操作系统实验10操作系统实 验 报 告课程名称操作系统实验实验项目名称磁盘调度算法学号班级姓名专业学生所在学院指导教师实验室名称地点一、实验概述1. 实验名称磁盘调度算法2. 实验目的熟悉操作系统集成实验环境OS Lab的基本使用方法。 练习编译、调试EOS操作系统内核以及EOS应用程序。3. 实验类型验证二、实验环境OS Lab三、实验过程 3.2验证先来先服务磁盘调度算法输入:* Disk schedule start working *Start Cylinder: 10TID: 31 Cylinder: 8 Offset: 2 -TID: 32 Cylinder: 21 Offset:

2、 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:

3、10 Average offset: 36* Disk schedule stop working * Disk schedule start working *Start Cylinder: 10TID: 41 Cylinder: 8 Offset: 2 -TID: 42 Cylinder: 21 Offset: 13 +TID: 43 Cylinder: 9 Offset: 12 -TID: 44 Cylinder: 78 Offset: 69 +TID: 45 Cylinder: 0 Offset: 78 -TID: 46 Cylinder: 41 Offset: 41 +TID: 47

4、 Cylinder: 10 Offset: 31 -TID: 48 Cylinder: 67 Offset: 57 +TID: 49 Cylinder: 12 Offset: 55 -TID: 50 Cylinder: 10 Offset: 2 -Total offset: 360 Transfer times: 10 Average offset: 36* Disk schedule stop working * Disk schedule start working *Start Cylinder: 10TID: 51 Cylinder: 8 Offset: 2 -TID: 52 Cyli

5、nder: 21 Offset: 13 +TID: 53 Cylinder: 9 Offset: 12 -TID: 54 Cylinder: 78 Offset: 69 +TID: 55 Cylinder: 0 Offset: 78 -TID: 56 Cylinder: 41 Offset: 41 +TID: 57 Cylinder: 10 Offset: 31 -TID: 58 Cylinder: 67 Offset: 57 +TID: 59 Cylinder: 12 Offset: 55 -TID: 60 Cylinder: 10 Offset: 2 -Total offset: 360

6、Transfer times: 10 Average offset: 36* Disk schedule stop working *3.3验证最短寻道时间优先磁盘调度算法输出窗口:* Disk schedule start working *Start Cylinder: 10TID: 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 +TI

7、D: 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* Disk schedule stop working * Disk schedule start working *Start Cylinder: 10TID: 4

8、7 Cylinder: 10 Offset: 0 =TID: 50 Cylinder: 10 Offset: 0 =TID: 43 Cylinder: 9 Offset: 1 -TID: 41 Cylinder: 8 Offset: 1 -TID: 49 Cylinder: 12 Offset: 4 +TID: 42 Cylinder: 21 Offset: 9 +TID: 46 Cylinder: 41 Offset: 20 +TID: 48 Cylinder: 67 Offset: 26 +TID: 44 Cylinder: 78 Offset: 11 +TID: 45 Cylinder:

9、 0 Offset: 78 -Total offset: 150 Transfer times: 10 Average offset: 15* Disk schedule stop working * Disk schedule start working *Start Cylinder: 10TID: 57 Cylinder: 10 Offset: 0 =TID: 60 Cylinder: 10 Offset: 0 =TID: 53 Cylinder: 9 Offset: 1 -TID: 51 Cylinder: 8 Offset: 1 -TID: 59 Cylinder: 12 Offse

10、t: 4 +TID: 52 Cylinder: 21 Offset: 9 +TID: 56 Cylinder: 41 Offset: 20 +TID: 58 Cylinder: 67 Offset: 26 +TID: 54 Cylinder: 78 Offset: 11 +TID: 55 Cylinder: 0 Offset: 78 -Total offset: 150 Transfer times: 10 Average offset: 15* Disk schedule stop working *3.4 验证SSTF算法造成的线程“饥饿”现象 修改代码 :输出窗口:* Disk sche

11、dule start working *Start Cylinder: 10TID: 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

12、 Cylinder: 67 Offset: 26 +TID: 31 Cylinder: 78 Offset: 11 +Total offset: 72 Transfer times: 10 Average offset: 7* Disk schedule stop working *3.5 验证扫描磁盘调度算法输出窗口* Disk schedule start working *Start Cylinder: 10TID: 37 Cylinder: 10 Offset: 0 =TID: 40 Cylinder: 10 Offset: 0 =TID: 39 Cylinder: 12 Offset

13、: 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

14、 stop working * Disk schedule start working *Start Cylinder: 10TID: 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 Cylinde

15、r: 41 Offset: 20 +TID: 48 Cylinder: 67 Offset: 26 +TID: 44 Cylinder: 78 Offset: 11 +Total offset: 88 Transfer times: 10 Average offset: 8* Disk schedule stop working * Disk schedule start working *Start Cylinder: 10TID: 57 Cylinder: 10 Offset: 0 =TID: 60 Cylinder: 10 Offset: 0 =TID: 59 Cylinder: 12

16、Offset: 2 +TID: 52 Cylinder: 21 Offset: 9 +TID: 56 Cylinder: 41 Offset: 20 +TID: 58 Cylinder: 67 Offset: 26 +TID: 54 Cylinder: 78 Offset: 11 +TID: 53 Cylinder: 9 Offset: 69 -TID: 51 Cylinder: 8 Offset: 1 -TID: 55 Cylinder: 0 Offset: 8 -Total offset: 146 Transfer times: 10 Average offset: 14* Disk sc

17、hedule stop working *验证解决饥饿现象 输出窗口:* Disk schedule start working *Start Cylinder: 10TID: 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 Of

18、fset: 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 *3.6 改写SCAN算法 源代码:BOOL ScanInside =TRUE;PREQUESTIopDiskSchedule( VOID ) PLIST_ENTRY pListEntry; PREQUEST pRequ

19、est; LONG Offset; ULONG InsideShortestDistance = 0xFFFFFFFF; ULONG OutsideShortestDistance = 0xFFFFFFFF; PREQUEST pNextRequest = NULL; PREQUEST INpNextRequest = NULL; PREQUEST OUTpNextRequest = NULL; / / 需要遍历请求队列一次或两次 / for (pListEntry = RequestListHead.Next; / 请求队列中的第一个请求是链表头指向的下一个请求。 pListEntry !=

20、 &RequestListHead; / 遍历到请求队列头时结束循环。 pListEntry = pListEntry-Next) / / 根据链表项获得请求的指针 / pRequest = CONTAINING_RECORD(pListEntry, REQUEST, ListEntry); / / 计算请求对应的线程所访问的磁道与当前磁头所在磁道的偏移(方向由正负表示) / Offset = pRequest-Cylinder - CurrentCylinder; if (0 = Offset) / / 如果线程要访问的磁道与当前磁头所在磁道相同,可立即返回。 / pNextRequest

21、= pRequest; goto RETURN; else if ( Offset 0) / / 记录向内移动距离最短的线程 / if (Offset InsideShortestDistance) InsideShortestDistance = Offset; INpNextRequest = pRequest; else if ( Offset 0) / / 记录向外移动距离最短的线程 / if (-Offset Next) / / 根据链表项获得请求的指针 / pRequest = CONTAINING_RECORD(pListEntry, REQUEST, ListEntry); /

22、 / 计算请求对应的线程所访问的磁道与当前磁头所在磁道的偏移(方向由正负表示) / Offset = pRequest-Cylinder - CurrentCylinder; if (0 = Offset) / / 如果线程要访问的磁道与当前磁头所在磁道相同,可立即返回。 / pNextRequest = pRequest; goto RETURN; else if ( Offset 0) / / 记录向内移动距离最短的线程 / if (Offset InsideShortestDistance) InsideShortestDistance = Offset; INpNextRequest

23、= pRequest; else if ( Offset OutsideLongestDistance) OutsideLongestDistance= -Offset; OUTpNextRequest = pRequest; / / 如果第一次遍历没有线程访问指定方向上的磁道,就变换方向, / 进行第二次遍历。在这两次遍历中一定能找到合适的线程。 / if(INpNextRequest) return INpNextRequest; else return OUTpNextRequest; RETURN: return pNextRequest;输出窗口:* Disk schedule start working *Start Cylinder: 10TID: 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: 1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1