欢迎来到天天文库
浏览记录
ID:19399313
大小:315.50 KB
页数:20页
时间:2018-09-24
《说明有部分图打开需较长时间》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、说明:有部分图打开需较长时间《操作系统原理》课程设计课题名称:磁臂调度及扇区排队算法模拟姓名:XXX班级:02计本6学号:10开发者:XXX开发日期:2005-1开发环境:VisualC++6.0指导教师:吴际20目录一、课程设计目的:……………………………………………3二、课程设计要求:……………………………………………3三、课程设计环境:……………………………………………3四、课程设计原理:……………………………………………3五算法分析……………………………………………9六流程图……………………………………………10七所使用的数据结构:……
2、…………………………………11八核心源代码:……………………………………………11九程序运行结果:…………………………………………16十结果分析……………………………………………19十一程序调试过程中遇到的问题及解决方式…………20十二程序中的不足及改进设想……………………………20十三课程设计心得体会………………………………………2020一、课程设计目的: 操作系统是一门工程性很强的课程,它不仅要求学生掌握操作系统的工作原理和理论知识,也要求学生的实际动手能力,以加深对所学习内容的理解,使学生熟练地掌握计算机的操作方法,使用各种软件工具,
3、加强对课程内容的理解。这次课程设计,就是通过模拟磁臂调度及扇区排队算法来加深对操作系统中磁臂调度及扇区排队概念的理解。二、课程设计要求: 选择一个自己熟悉的计算机系统和程序设计语言模拟操作系统基本功能的设计方法及其实现过程。三、课程设计环境:软件环境:具有Windows系列操作系统及C++编程工具的计算机系统硬件环境:586PC机四、课程设计原理:磁盘调度让有限的资源发挥更大的作用为什么需要磁盘调度 在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,
4、因此我们有必要为每个磁盘设备建立一个等待队列。有些操作系统对于进程的请求使用简单的“先来先服务”(FCFS:afirst-come-first-served)的策略,即先来的请求先被响应。FCFS策略看起来似乎是相当“公平”的,但是当请求的频率过高的时候FCFS策略的响应时间就会大大延长。 FCFS策略为我们建立起一个随机访问机制的模型,但是假如用这个策略反复响应从里到外的请求,那么将会消耗大量的时间(图12.3)。为了尽量降低寻道时间,看来我们需要对等待着的请求进行适当的排序,而不是简单的使用FCFS策略。这个过程就叫做磁盘调度管理。有时
5、候FCFS也被看作是最简单的磁盘调度算法。20 每种磁盘调度算法包含一种挑选等待队列中最应该被响应的请求的规则,而挑选根据就是各个请求的相对位置关系。将请求队列按照这种规则重新排序,为的是将机械运动的路程降到最短。 在相关文献中提到最多的两种磁盘调度是寻道优化和旋转(延迟)优化。由于寻道时间往往比延迟时间要高出一个数量级,因此绝大部分磁盘调度算法都把优化寻道时间作为首要目标。多数情况下优化延迟时间的作用是微乎其微的,除非是系统的负荷非常重的时候。 在负荷不是很重的情况下(也就是说请求队列的长度不大),FCFS算法还算是可以接受的方案
6、。而当负荷稍微重一些的时候,其他算法的优势就立刻表现出来了。尽管我们的目标是优化磁盘性能,但我们有时候却需要降低磁盘的处理速度。安装额外的硬盘虽然能够提高数据传输的速率,但却有可能超过一般个人电脑能够承受的范围。因此“过剩”的数据就要被存放在磁盘控制器的缓存里面了。此时,“交错”的作用就体现出来了:为了适当降低传输速率,连续的文件数据被分割成n-1个小块,以便于让处理器能够“跟上”。这就是“n路磁盘交错”的概念。不过磁盘的传输速率和减少寻道时间以及降低寻道距离相比较,后者在优化磁盘性能方面仍然起着主导的作用。三个指标判定调度策略的优劣 磁盘调度
7、策略应具有的特征 上面已经提到,FCFS是一种相对公平的响应请求的策略。下面是一些评估调度策略优劣的指标:20 · 吞吐量 · 平均响应时间 · 变化的响应时间(也就是可预见性) 显而易见,一个调度策略应该尽量提供最大限度的增加吞吐量——每个单位时间能够处理的数据量。由于这些策略可以有效降低寻道时间,因此这时候的吞吐量一定会高于简单的使用FCFS策略的时候。另外一个调度策略应该做到的是降低平均响应时间(或者说是平均等待时间与平均处理时间之和)。同样,由于应用调度策略之后能够有效降低寻道时间,因此其平均响应时间必然比在应用FC
8、FS的情况下要短。 上面提到的标准是用来提升整体性能的,通常可能在个别请求开销上面起作用。调度策略往往能够在降低特定请求的服务级别时改善总体情况。
此文档下载收益归作者所有