第六讲磁盘调度算法ppt课件.ppt

第六讲磁盘调度算法ppt课件.ppt

ID:59487137

大小:744.50 KB

页数:21页

时间:2020-09-13

第六讲磁盘调度算法ppt课件.ppt_第1页
第六讲磁盘调度算法ppt课件.ppt_第2页
第六讲磁盘调度算法ppt课件.ppt_第3页
第六讲磁盘调度算法ppt课件.ppt_第4页
第六讲磁盘调度算法ppt课件.ppt_第5页
资源描述:

《第六讲磁盘调度算法ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六讲磁盘调度算法计算机科学与技术学院操作系统实验实验安排序号实验项目名称实验学时实验要求完成要求1实验环境的使用2熟悉操作系统集成实验环境OSLab的基本使用方法。必做2操作系统的启动6了解操作系统的启动过程。必做3进程的创建6掌握创建进程的方法,理解进程和程序的区别;了解进程的创建过程,理解进程是资源的分配单位。必做4进程的同步4理解进程同步的意义;理解进程同步的原理。选做5物理存储器与进程逻辑地址空间的管理6掌握进程逻辑地址空间的管理方法,掌握物理存储器的管理方法。必做本次磁盘调度算法8掌握磁盘调度算法执行的条件和时机,了解常用的磁盘调度算法,加深对各种扫

2、描算法的理解。必做1.实验目的通过学习EOS实现磁盘调度算法的机制,掌握磁盘调度算法执行的条件和时机。观察EOS实现的FCFS、SSTF和SCAN磁盘调度算法,了解常用的磁盘调度算法。编写CSCAN和N-Step-SCAN磁盘调度算法,加深对各种扫描算法的理解。2.多线程并发访问软盘磁盘调度算法在EOS中的位置磁盘调度算法 执行的条件、执行的时机、操作的对象当多个线程并发访问磁盘时,只能有一个线程访问磁盘(独占磁盘),而其它的线程会被阻塞,待独占磁盘的线程结束访问操作后,才能唤醒一个阻塞的线程,令其继续独占访问磁盘。这里提到的唤醒一个阻塞的线程的过程,就是磁盘调

3、度算法工作的过程。可能会有多个线程由于并发访问磁盘而被阻塞,磁盘调度算法就是根据不同的策略,从中选择一个合适的线程来唤醒。准确的说,磁盘调度算法操作的对象是——由于并发访问同一个磁盘设备而被阻塞的多个线程。执行的条件、执行的时机、操作的对象条件:多个线程并发访问同一个磁盘设备才会触发磁盘调度算法。单个线程访问磁盘不会触发磁盘调度算法。时机:将阻塞线程唤醒时执行调度,而不是将线程阻塞时执行调度。对象:由于并发访问同一个磁盘设备而被阻塞的多个线程。3.EOS中实现的磁盘调度算法目前EOS只管理了一个块设备——软盘驱动器,为了尽量简单,EOS只考虑对这个唯一的块设备进

4、行磁盘调度。为每个访问磁盘的线程创建一个对应的请求,并将这些请求放入一个请求队列中。在块设备读写函数IopReadWriteSector中依次处理请求队列中的请求,各个请求被处理的顺序由磁盘调度算法决定。在函数IopDiskSchedule中实现各种磁盘调度算法。控制台命令“ds”专门用来测试磁盘调度算法。4.专门用来测试磁盘调度算法的控制台命令“ds”该控制台命令是在ke/sysproc.c文件中的ConsoleCmdDiskSchedule函数内实现的。在该函数执行的过程中,首先让当前线程访问一次磁盘上的某个磁道,从而设置磁头的初始位置,然后将磁盘设备的状态

5、设置为忙,并创建多个访问不同磁道的线程。由于磁盘设备忙,这些线程的请求都会被放入请求队列中,直到被磁盘调度算法选中后才会被处理。最后触发磁盘调度算法,按照调度策略依次处理请求队列中的所有请求。优点:方便指定线程的数量、各个线程要访问的磁道号以及线程被阻塞的顺序。与磁盘上使用的文件系统无关。ke/sysproc.c文件中的ConsoleCmdDiskSchedule函数PRIVATEVOIDConsoleCmdDiskSchedule(INHANDLEStdHandle){PREQUESTpNextRequest;externBOOLIsDeviceBusy;UL

6、ONGStartCylinder=10;AccessCylinderThread((PVOID)StartCylinder);//初始化访问第10号柱面fprintf(StdHandle,"StartCylinder:%d",StartCylinder);IsDeviceBusy=TRUE;NewThreadAccessCylinder(StdHandle,8);//被阻塞的线程NewThreadAccessCylinder(StdHandle,21);……NewThreadAccessCylinder(StdHandle,10);pNextRequest=

7、IopDiskSchedule();//运行磁盘调度算法PsSetEvent(&pNextRequest->Event);}FCFS算法磁头移动的轨迹总寻道数360寻道次数10平均寻道数36当前磁头停留在10磁道,请求队列中的线程依次访问磁道8、21、9、78、0、41、10、67、12、10。实现SSTF算法的IopDiskSchedule函数流程图实现SSTF算法的IopDiskSchedule函数PREQUESTIopDiskSchedule(VOID){PLIST_ENTRYpListEntry;PREQUESTpRequest;LONGOffset;U

8、LONGShortest

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。