操作系统实验报告2剖析

上传人:人*** 文档编号:508048028 上传时间:2022-12-22 格式:DOCX 页数:12 大小:170.79KB
返回 下载 相关 举报
操作系统实验报告2剖析_第1页
第1页 / 共12页
操作系统实验报告2剖析_第2页
第2页 / 共12页
操作系统实验报告2剖析_第3页
第3页 / 共12页
操作系统实验报告2剖析_第4页
第4页 / 共12页
操作系统实验报告2剖析_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《操作系统实验报告2剖析》由会员分享,可在线阅读,更多相关《操作系统实验报告2剖析(12页珍藏版)》请在金锄头文库上搜索。

1、深圳大学实验报告课程名称:操作系统实验项目名称:进程调度学院:软件学院专业:软件工程指导教师:梁正平报告人:文成学号:2011150259班级:2实验时间:2013.04.27实验报告提交时间:2013.04.30教务处制.实验目的模拟在单处理器多进程情况下的处理器调度,帮助学生加深了解处理器调度的工作。该实验为模拟实验,不要求创建真正的进程调度。主要目的是编写程序模拟调度即可。1、编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对进程进行调度。“最高优先数优先调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。尝试静态优先数与动态优先数两种方法:a)静态优先数是指优

2、先数在整个进程运行期间不再改变。优先数可以在数据输入时指定,也可以根据到达顺序、运行时间确定。b)动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如进程获得一次CPU后就将其优先数减少1。或者进程等待的时间超过某一时限时增加其优先数的值。2、编写并调试一个模拟的进程调度程序,模拟实现多级反馈队列调度算法。3、编写并调试一个模拟的进程调度程序,模拟实现最低松弛度优先算法。二.实验要求程序与报告要求:a)对上述要求1、2、3,至少要完成一项,鼓励尝试多种算法。b)输出结果要尽量详细清晰,能够反映调度后队列变化,PCB内部变化。c)可以选择在Windows或

3、Linux环境下编写、运行程序d)鼓励使用不同的开发工具在不同平台环境上进行开发比较。在实验报告中,一方面可以对实验结果进行分析,一方面可以对各种算法进行比较,分析它们的优劣,说明各种算法适用于哪些情况下的调度。三 .方法、步骤实验方法:统一利用例程中程序的功能和实现过程,进行修改并调式。实验步骤:1 .按照实验指导的例程,在WINDOWS下运行VirsualC+6.0。2 .按照实验要求编写程序,内容在下面会有提及。3 .运行并调试编写好的程序,测试其运作过程及结果。得出实验结论。四 .实验过程及内容1、设计一个有N个进程共行的进程调度程序。2、每个进程有一个进程控制块PCB来表示,进程控制

4、块的格式为:进程名优先数到达时间需要运行时间已占用CPU时间进程状态a)进程优先数、需要运行时间、到达时间可以事先人为地指定,也可以随机产生,注意初始化上述数值时要尽量使进程并发执行,而不是按到达时间顺序调度。b)进程的运行时间以时间片为单位进行计算。c)进程状态分为就绪、运行、完成三种状态之,分别用W、R、F表示。3、进程调度规则如下:a)就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。b)如果运行一个时间片后,进程已占用CPU时间达到所需要运行时间,则进程完成,撤销该进程。c)如果运行一个时间片后,进程已占用CPU时间还未达到所需要运行时间,即进程需要继续运行,将它

5、插入就绪队列,队列重新排序,等待CPU。d)重复以上过程,直到所要进程都完成为止。4、算法流程图如下:五 .源程序清单选择实现先来先服务和短作业优先算法#include#include#defineNumber5voidmain()intn;intdaodaNumber,fuwuNumber,i;cout请依次输入各个进程的到达时间并以空格间隔for(i=0;idaodai;.11.cout请依次输入各个进程的服务时间,并以空格间隔for(i=0;ifuwui;coutn;while(n3)coutn;structstatedd声明结构booldoneF,doneS;intdaoda,fuwu

6、;floatwancheng,zhouzhuan,daiquan,wan,zhou,dai;stateddprocessNumber;inttimeflyF=0,timeflyS=0;定义两个类似于秒表的变量intj,k,l,nextproF,nextproS;/获取数据for(i=0;iNumber;i+)processi.doneF=false;processi.doneS=false;processi.wancheng=0;processi.zhouzhuan=0;processi.daiquan=0;processi.wan=0;processi.zhou=0;processi.dai

7、=0;processi.daoda=daodai;processi.fuwu=fuwui;/获取最先到达的进程下标firstintfirst=0;l=first;for(i=1;idaodai)first=i;processfirst.doneF=true;processfirst.doneS=true;processfirst.wancheng=processfirst.fuwu+processfirst.daoda;processfirst.wan=processfirst.fuwu+processfirst.daoda;timeflyF+=processfirst.daoda+proce

8、ssfirst.fuwu;timeflyS+=processfirst.daoda+processfirst.fuwu;/接下去到达的进程/*/fcfs*for(j=1;jNumber;j+)nextproF=Number+1;for(k=0;kNumber;k+)if(!processk.doneF)if(processk.daodaprocessk.daoda)nextproF=k;/获取到达时刻最先的进程/else/if2/if1/for/处理processnextproF.wancheng=processnextproF.fuwu+timeflyF;timeflyF+=processn

9、extproF.fuwu;processnextproF.doneF=true;/circle2/SJF*for(j=1;jNumber;j+)nextproS=Number+1;for(k=0;kNumber;k+)if(!processk.doneS)if(processk.daodaprocessk.fuwu)nextproS=k;/瞅取服务时间最小的进程/else/if2/if1/for/处理processnextproS.wan=processnextproS.fuwu+timeflyS;timeflyS+=processnextproS.fuwu;processnextproS.d

10、oneS=true;/circle2*floatFz=0,Fdq=0,Sz=0,Sdq=0;/for(i=0;iNumber;i+)/processi.zhouzhuan=processi.wancheng-processi.daoda;Fz+=processi.zhouzhuan;processi.daiquan=processi.zhouzhuan/processi.fuwu;Fdq+=processi.daiquan;/processi.zhou=processi.wan-processi.daoda;Sz+=processi.zhou;processi.dai=processi.zho

11、u/processi.fuwu;Sdq+=processi.dai;/=输出=/-if(n=1|n=3)couttendl;coutFCFS:endl;for(i=0;iNumber;i+)if(i1)cout时刻l:进程i+1在运行endl;)elsecout时亥1Jvvprocessi-1.wanchengvv:进程i+l在运行endl;)coutvvsetw(10)vv进程IDcoutvvsetw(10)vv完成时间;coutvvsetw(10)vv”周转时间“vv”;coutvvsetw(10)vv”带权周转时间endl;for(i=0;iNumber;i+)(coutsetw(10)

12、i+1coutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.wanchengcoutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.zhouzhuancoutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.daiquanendl;)cout平均周转时间为:setiosflags(ios:fixed)setprecision(2)Fz/Numberendl;cout平均带权周转时间为:setiosflags(ios:fixed)setprecision(2)Fdq/Numberendl;)/-if(n=2|n=3)cout

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号