电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

磁盘调度算法的模拟实现

  • 资源ID:467930432       资源大小:68.01KB        全文页数:15页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

磁盘调度算法的模拟实现

磁盘调度算法的模拟实现 学 院 专 业 学 号 学 生 姓 名 指导教师姓名 2014年3月19日 目录一、 课设简介21.1 课程设计题目21.2 课程设计目的21.3 课程设计要求2二、 设计内容32.1功能实现32.2流程图3 2.3具体内容. 3三、 测试数据.43.3 测试用例及运行结果4四、 源代码5五、 总结12 5.1 总结.一、课设简介1.1 课程设计题目 磁盘调度算法的模拟实现11.2 程序设计目的操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合起来,独立分析和解决实际问题的机会。 1)进一步巩固和复习操作系统的基础知识。 2)培养学生结构化程序、模块化程序设计的方法和能力。 3)提高学生调试程序的技巧和软件设计的能力。 4)提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。1.3 设计要求1)磁头初始磁道号,序列长度,磁道号序列等数据可从键盘输入,也可从文件读入。 2)最好能实现磁道号序列中磁道号的动态增加。3)磁道访问序列以链表的形式存储4)给出各磁盘调度算法的调度顺序和平均寻道长度二、设计内容2.1 功能实现设计并实现一个本别利用下列磁盘调度算法进行磁盘调度的模拟程序。1) 先来先服务算法FCFS 2) 最短寻道时间优先算法SSTF 2.2流程图开始选择算法SSTFFCFS结束2.3具体内容1)先来先服务算法FCFS 这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,但各进程得到服务的响应时间的变化幅度较小。 2)最短寻道时间优先算法SSTF 该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,该算法可以得到比较好的吞吐量,但却不能保证平均寻道时间最短。其缺点是对用户的服务请求的响应机会不是均等的,因而导致响应时间的变化幅度很大。在服务请求很多的情况下,对内外边缘磁道的请求将会无限期的被延迟,有些请求的响应时间将不可预期。三、 测试数据3.1 先来先服务算法输入磁道序列:55 58 39 18 90 160 150 38 184当前磁道号:1003.2 最短寻道时间优先算法(1)当前磁道号大于磁道序列中的最大的磁道号时 输入磁道序列:55 58 39 18 90 160 150 38 184当前磁道号:100 3.3 测试结果 四、源代码#include<iostream>#include<cmath>#include<stdio.h>using namespace std;typedef struct nodeint data;struct node *next;Node,*Linklist;void main()void Create_Linklist(Node *); void fcfs();/声明先来先服务函数FCFSvoid sstf();/声明最短寻道时间优先函数SSTF void print(Node *); /输出链表函数int s; /s是选择哪个算法printf("*磁盘调度算法*n"); printf("t*1,先来先服务算法FCFSn"); printf("t*2,最短寻道时间优先算法SSTFn"); printf("t*0,退出n"); printf("t*请选择:"); scanf("%d",&s);while(s!=0) switch(s) case 1:printf("tt*你选择了:先来先服务算法FCFSn");fcfs();break; case 2:printf("tt*你选择了:最短寻道时间优先算法SSTFn");sstf(); break; printf("tt*退出请选0,继续请选1,2,n"); scanf("%d",&s);/*/void fcfs()/先来先服务算法void Create_Linklist(Node *);void print(Node *); int Length_Linklist(Node *);Node *l,*head;/*m,*n;*/float num=0; /num为平均寻道长度 int c,f;head=(Node *)malloc(sizeof(Node);head->next=NULL;printf("*新建一个单链表,以0作为结束标志:*n"); Create_Linklist(head);c=Length_Linklist(head); printf("tt*从几号磁道开始:*"); scanf("%d",&f); /f为磁道号print(head); printf("t*链表长度为:%dn",c);l=head->next; for(int i=0;i<c;i+)num+=abs(l->data-f);f=l->data;l=l->next;num=num/c; printf("tt*先来先服务的寻道顺序是:n");print(head);printf("tt*平均寻道长度:%fn",num);/*/void sstf()/最短寻道时间优先算法void Create_Linklist(Node *);void print(Node *); int Length_Linklist(Node *);Node *p,*q,*r,*s,*l,*m,*head;int c,f; head=(Node *)malloc(sizeof(Node);head->next=NULL;printf("*新建一个单链表,以0作为结束标志:*n"); Create_Linklist(head);c=Length_Linklist(head); printf("tt*从几号磁道开始:*"); scanf("%d",&f); /f为磁道号print(head); printf("t*链表长度为:%dn",c);l=(Node *)malloc(sizeof(Node);l->next=NULL;m=l;q=head;p=head->next;s=head;r=head->next;float num=0;for(int i=0;i<c;i+)int min=abs(f-r->data);for(int j=0;j<c-i-1;j+)p=p->next;q=q->next;if(abs(f-p->data)<min)min=abs(f-p->data);r=p;s=q;num+=abs(f-r->data);f=r->data;s->next=r->next;r->next=NULL;m->next=r;m=r;q=head; p=head->next;s=head;r=head->next;num=num/c;printf("tt*最短寻道时间优先顺序是:n");print(l);printf("tt*平均寻道长度:%fn",num);/*/void print(Node *head) /输出链表Node *p;p=head->next;cout<<"单链表显示:"if(p=NULL)printf("单链表为空:n");else if(p->next=NULL) printf("%dt",p->data);printf("n");elsewhile(p->next!=NULL)printf("%dt",p->data);p=p->next;printf("%dt",p->data);prin

注意事项

本文(磁盘调度算法的模拟实现)为本站会员(大米)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.