欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    CPU调度算法的模拟实现页面置换算法的模拟实现操作系统课程设计Word格式.docx

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

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    CPU调度算法的模拟实现页面置换算法的模拟实现操作系统课程设计Word格式.docx

    1、体会算法的重要性。二、设计要求1、编写算法,实现FCFS、非抢占SJF、可抢占优先权调度、RR2、针对模拟进程,利用CPU调度算法进行调度3、进行算法评价,计算平均周转时间和平均等待时间4、调度所需的进程参数由输入产生(手工输入或者随机数产生)5、输出调度结果6、输出算法评价指标三、设计说明1、采用数组存储进程属性;course1006;course的行坐标是进程名,course的纵坐标0表示进程到达时间,1表示服务时间,2表示开始服务时间,3表示完成时间,5表示优先级2、FCFS先来先服务调度算法是一种最简单的调度算法,当作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个最先进入该

    2、队列的作业3、非抢占SJF短作业优先调度算法,是指对短作业有限调度算法。是从后备队列中选择一个估计运行时间最短的作业将他们调入内存。4、可抢占优先权调度在这种方式下,系统把处理机分配给优先级最高的进程,使之执行。但在其执行期间,只要出现另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理及分配给新到的优先权最高的进程。5、RR系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首的进程并令其执行一个时间片。当执行的时间片用完时,有一个计时器发出时钟中断请求。调度程序便据此信号来停止该进程的执行,并将他送往就绪队列的末尾;然

    3、后,再把处理机分配给就绪队列中新的队首过程。四、运行结果及分析输入进程的数量。五、总结1、刚开始没想好count中该存储几种属性结果多出了一个本来是要存储周转时间的,但是周转时间用完成时间和开始时间可求便没有存储;另外因为在main函数中不需要完成时间和开始时间所以程序中并没有将完成时间和开始时间存到count中;2、编写程序时本来是跟算法思想来设计程序,但是模拟毕竟与实际不同,比如没有中断请求,没有真正时间观念,所以所设计程序只是将个算法算出结果显现,并非模拟算法过程;设计2 页面置换算法的模拟实现通过实现页面置换算法的FIFO和LRU两种算法,理解进程运行时系统是怎样选择换出页面的,对于两

    4、种不同的算法各自的优缺点是哪些。1、编写算法,实现页面置换算法FIFO、LRU;2、针对内存地址引用串,运行页面置换算法进行页面置换;3、算法所需的各种参数由输入产生(手工输入或者随机数产生);4、输出内存驻留的页面集合,页错误次数以及页错误率;1、采用数组页面的页号2、FIFO算法,选择在内存中驻留时间最久的页面予以淘汰;分配n个物理块给进程,运行时先把前n个不同页面一起装入内存,然后再从后面逐一比较,输出页面及页错误数和页错误率。3、LRU算法,根据页面调入内存后的使用情况进行决策; 同样分配n个物理块给进程,前n个不同页面一起装入内存,后面步骤与前一算法类似。自动运行结果。因为对移位不太

    5、了解,故用/2和+256来代替右移和最高位加1;在编码过程中因为把加1和赋值顺序颠倒,导致程序出错;设计3 磁盘调度算法的模拟实现通过实现磁盘调度算法,理解磁盘存储器的管理,以及不同的磁盘调度算法实现过程。1、编写算法,实现FCFS、SSTF、SCAN、CSAN调度算法2、针对给定的磁盘访问序列,运行各种调度算法得出调度过程3、算法所需的各种参数由输入产生(手工输入或者随机数产生)4、输出调度过程、平均寻道长度1、FCFS调度算法:这是一种最简单的磁盘调度算法,它根据进程请求访问的先后次序进行调度。2、SSTF调度算法:该算法要求访问的磁道与当前磁头所在的磁道距离最近,以使每次寻道时间最短。实

    6、现时,先将被访问的磁道号进行从小到大的排序,然后看已排好序的数组最小值是否比用户输入的当前磁道大,若是则按从小到大的顺序输出即为调度过程,若已排好序的数组最大值小于当前磁道,则按从大到小的顺序输出即为调度过程,若两者均不符,则逐一判断k值(数组下标为k的值小于当前磁道,数组下标为k+1的值大于当前磁道),先要判断这两个部分与当前磁道接近的值与当前磁道的距离,先输出距离短的那部分,k值之前的按从大到小输出,k值之后的按从小到大输出。3、SCAN调度算法:此算法在考虑到欲访问磁道与当前磁道间的距离基础上,更优先考虑磁头当前的移动方向。程序中1 代表磁道号增加方向,0代表磁道号减小方向,前半部分的数

    7、组排序,定位k值都是同于SSTF算法的,只是在此基础上加入磁臂的移动方向。4、CSCAN调度算法: 为了减少SCAN算法中的延迟,CSCAN算法规定磁头只能单向移动,例如,只是自里向外移动,当磁头移动到最外边时,立即返回到最里的磁道访问,即将最小磁道号紧接着最大磁道号构成循环,代码实现思想同SCAN算法。完成此算法主要解决排序问题编码实现设计1#includeiomanipcstdlibusing namespace std;void FCFS(int cou1006,int n)int i,j; int coursen4; for(i=0;in;i+) for(j=0;jcoursei0)c

    8、oursei2=coursei-13; else coursei2=coursei0; coursei3=coursei1+coursei2; coutsetw(8)进程名 setw(10)到达时间服务时间setw(14)开始执行时间完成时间周转时间等待时间endl;icoursei0 coursei1coursei2 coursei3coursei3-coursei0coursei2-coursei0 j=0;i+)j+=coursei3-coursei0;平均周转时间j*1.0/ni+)j-=coursei1;平均等待时间/非抢占void SJF(int cou1006,int n) in

    9、t an,i,j,k,s,p;i+)ai=1; a0=0; s=course03; for(j=1;coursej0s&n)p=coursej1;s=coursej0; for(; if(pcoursej1&aj) p=coursej1;k=j; coursek2=s; s+=coursek1; coursek3=s; ak=0;coursei0coursei1 coursei2coursei3 courseaj+15) temp=aj+1; aj+1=aj; aj=temp; b00=-1; b01=0; b02=0; b10=a0; b11=coursea00;b12=coursea00+

    10、coursea01;coursea02=b11; coursea03=b12;b20=-1; b21=10000; b22=10000; k+;k;j+)if(bj1courseai0)break;j+)if(bj-12bj1)break; if(bj-12j;s-) bs0=bs-10; bs1=bs-11; bs2=bs-12; bj0=ai; bj1=courseai0; courseai2=bj1; if(bj+11-courseai0=courseai1) bj2=bj1+courseai1;k+;courseai3=bj2;continue; else bj2=bj+11;cour

    11、seai1-=bj2-bj1; courseai2=bj-12; while(1) if(bj1-bj-12=courseai1) bj1=bj-12; bj2=bj-12+courseai1; else bj0=ai; bj2=bj+11; courseai3=bj2;i+)coursei1=coui1;优先级coursei3-coursei0-coursei1coursei5for(i=0;cout运行过程k-1;i+) coutCbi0 bi1bi2/ m存储时间片周期void RR(int cou1006,int n,int m) int i,j;i+) for(j=0; int pr

    12、am1002,p=0; int sum=0;/执行时间 if(sumcoursei0)sum=coursei0; sum+=coursei1; i=0; if(coursej1=0)continue;i)break; if(coursej1=couj1)coursej2=i; if(coursej1=m) i+=coursej1;pramp0=j;pramp1=coursej1;p+;coursej3=i;coursej1=0; else i+=m;pramp1=m;coursej1-=m; int k; for(k=0;kk+)if(coursek1!=0)break; if(k=j)i=c

    13、oursej0; if(k=n)break;运行顺序p;i+)coutprami0prami1coursei3-coursei0-coursei1 int i,p=0; srand(int)time(0);i+,p+=rand()%4+1) coursei0=p; coursei1=rand()%9+1; coursei5=rand()%9+1;FCFS FCFS(course,n);SJF SJF(course,n);可抢占优先权调度 rob(course,n);RR RR(course,n,4);设计2int FIFO(int *num,int order10010,int n,int m

    14、) order01=num0; int sign=2; int i=1;m;i+) int j=1;sign;j+) if(order0j=numi)break; if(j=sign) order0sign=numi;sign+; if(signn)break; if(i=m)order00=m;return 0; order00=i; sign=1; int signm=1; for(i+;=n;j+) if(ordersignm-1j=numi)break; if(jn) for(int k=1;k+) ordersignmk=ordersignm-1k; ordersignm0=i; ordersignmsign=numi; sign=sign%n+1; signm+; return signm-1;int LRU(int *num,int order10010,int n,int m) int signnn+1; signn1=256; int sign=2; int i=1; int k=0; for(int j=1; signnj/=2; if(order0j=numi) k=1;signnj+=256; if(k=0) order0sign=numi;signnsign=256; if(i=m)


    注意事项

    本文(CPU调度算法的模拟实现页面置换算法的模拟实现操作系统课程设计Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开