- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SCAN调度算法示例 扫描(SCAN)算法 SCAN算法既能获得较好的寻道性能,又能防止“饥饿”现象,故被广泛用于大、中、小型机器和网络中的磁盘调度。但SCAN也存在这样的问题:当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这时,该进程必须等待,待磁头继续从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被大大地推迟。 循环扫描(CSCAN)算法 为了减少这种延迟,CSCAN算法规定磁头单向移动,例如,只是自里向外移动,当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问的磁道,亦即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。采用循环扫描方式后,上述请求进程的请求延迟将从原来的2T减为T + Smax,其中,T为由里向外或由外向里单向扫描完要访问的磁道所需的寻道时间,Smax是将磁头从最外面被访问的磁道直接移到最里面欲访问的磁道(或相反)的寻道时间。 循环扫描(CSCAN)算法 CSCAN调度算法示例 循环扫描(CSCAN)算法 CSCAN调度算法示例 循环扫描(CSCAN)算法 SCAN调度算法示例 N_Step SCAN算法 在SSTF、 SCAN及CSCAN几种调度算法中,都可能会出现磁臂停留在某处不动的情况,例如,有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。我们把这一现象称为“磁臂粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。 N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能; 当N=1时,N步SCAN算法便蜕化为FCFS算法。 NStepSCAN和FSCAN调度算法 FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。 NStepSCAN和FSCAN调度算法 磁盘高速缓存,并非通常意义下的内存和CPU之间所增设的一个小容量高速存储器,而是指利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息。因此,高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。 磁盘高速缓存的形式 在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响; 把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。此时,高速缓存的大小显然不再是固定的。当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间;而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。 容量大,通常存储全局范围,经常访问的重要数据:文件系统目录,文件分配表等。但是需要由主机进行管理。增加主机的负担。 磁盘高速缓存 数据交付方式 数据交付(Data Delivery)是指将磁盘高速缓存中的数据传送给请求者进程。 当有一进程请求访问某个盘块中的数据时,先去查看磁盘高速缓存,查看是否存在所需的盘块数据的拷贝。若有,直接从高速缓存中提取数据并交付给请求者进程,由此避免了访盘操作,提高了访问速度; 否则,应先从磁盘中将所要访问的数据读入并交付给请求者进程,同时也将数据送高速缓存。当以后再需要访问该盘块的数据时,便可直接从高速缓存中提取。 磁盘高速缓存 数据交付给请求进程的方式: 数据交付:直接将高速缓存中的数据,传送到请求者进程的内存工作区中。 指针交付:只将指向高速缓存中某区域的指针交付给请求者进程。该方式由于所传送的数据量少,节省了数据从磁盘高速缓存到进程的内存工作区的时间。 磁盘高速缓存 磁盘高速缓存置换算法 在将磁盘中的盘块数据读入高速缓存时,会出现因高速缓存中已装满盘块数据而需要将该数据先换出的问题。相应地,也必然存在着采用哪种置换算法的问题。 常用的置换算法是: 最近最久未使用算法LRU 最近未使用算法NRU 最少使用算法LFU等 磁盘高速缓存 置换算法的考虑因素 访问频率 通常,每执行一条指令时,便可能访问一次联想存储器,亦即联想存储器的访问频率,基本上与指令
您可能关注的文档
最近下载
- 25题固定收益分析岗位常见面试问题含HR问题考察点及参考回答.pdf
- 韶关市2025届高三一模(综合测试一) 英语试卷(含答案).docx
- 工作报告及设计心得20160831.pdf VIP
- SPC导入的钢箱截面在生成变截面时,消隐显示各板件连接错乱.pdf VIP
- Lessonsinlifesaving英国短片剧本.docx VIP
- 2019年注册土木工程师(道路工程)考前培训南京班文件-李 雪.pdf VIP
- 上海市2018-2022年近五年中考数学试卷附答案.pdf VIP
- 城轨车站施工与维护——开挖作业.pptx VIP
- 城轨车站施工与维护——围护结构施工及基坑开挖.pptx VIP
- 铁道概论——单元7.7铁路专用通信系统.pptx VIP
文档评论(0)