




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统2013辰春理工夫瞎5实验课程操作系统学生姓名李玉琴实验项目基于优先数的时间片轮转调度算法调度处理器学院理学院实验性质班级学号110111120实验地点二教 618同组人数1第组实验日期第11 周星期2 第11, 12 节成绩环境参数2014学年第学期111班专用实验报告、实验目的在采用多道程序设计的系统中,同时处于就绪态的进程往往有多个,当就绪态的进程数大于处理器的 个数时,就需按照某种策略进行分配处理器。本次设计模拟在单处理器情况下采用基于优先数的时间片轮 转调度算法进行处理器调度,加深了解处理器调度工作过程。二、实验内容及要求1、设计一个程序实现基于优先数的时间片轮转调度算法调度
2、处理器。2、假定系统有5个进程,每个进程用一个进程控制块PCB开代表,进程控制块的结构如下图 1.2所示:其中: 进程名:作为进程的标识。指针:进程按顺序排成循环链表,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指 出第一个进程的进程控制块首地址。要求运行时间:假设进程需要运行的单位时间数。已运行时间:假设进程已经运行的单位时间数,初值为0。状态:可假设有两种状态,就绪状态和结束状态。进程的初始状态都为就绪状态。3、每次运行所设计的处理器调度程序调度进程之前,为每个进程任意确定它的要求运行时间。4、此程序是模拟处理器调度,因此,被选中的进程并不实际启动运行,而是执行已运行时间+
3、1来模拟进程的一次运行,表示进程已经运行过一个单位时间。5、在所设计的程序中应有显示或打印语句,能显示或打印每次被选中的进程名以及运行一次后进程队列的 变化。6、为进程任意确定要求运行时间,运行所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。7、设有一个就绪队列,就绪进程按优先数(优先数范围0- 100)由小到大排列(优先数越小,级别越高)。当某一进程运行完一个时间片后,其优先级应下调(如优先数加2 或 3)。8、例如一组进程如下表:进程名ABCDEFGHJKLM到达时间012368121212182525服务时间641051251043158三、实验报告
4、1、程序中使用的数据结构及符号说明。2、给出主要算法的流程图3、给出程序清单并附上注释4、打印程序运行时的初值和运行结果。(运行一个进程输出一次结果)四.程序代码:/*基于优先数的时间片轮转调度算法调度处理器/*110111120*/#in elude using n ames pace std;typ edef structchar n ame10;double arrivetime;double n eedtime;double workedtime;double p riorit ynum;/进程名/到达时间 服务时间 已运行时间 /优先数/char condition; /运行状态 (
5、d:运行,w:等待)P CB;PCB *Creat_PCB(int n);/创建进程,并按到达时间排序void Round Robin(PCB pcb,int n); /基于优先数的时间 片轮转法void Dis ply_ PCB(PCB p ,i nt n); /*输出结果主函*/void mai n()int n;PCB *pcb;cout* coutn;p cb=Creat_ PCB( n); Roun d_Rob in(pcb,n);/*void Dis ply_PCB(PCB p ,i nt n) cout进程名 到达时间H.时间 片轮转调度算法 *endl;运行结r果的出 */运行
6、状态 优先数 已运行时间 需要运行时间endl;for(i nt i=0;i n;i+) p i. priorit ynu mtH.cout p i. namet p i.arnvetimet; if(p i.c on diti on=d) cout run telsecout wait tcout p i.workedtimetp i. priorit yn umtp i. needtimee ndl;H.*/进程的创建/*PCB *Creat_ PCB(i nt n)PCB *p cb,te mp;p cb=new PCB 20;for(i nt i=0;i n;i+)cout请输入第i+
7、1p cbi. namep cbi.arrivetime p cbi. needtime;p cbi.c on diti on = w;p cbi.workedtime = 0;/对进程按到达时间先后的顺序排序for(i nt k=0;k n;k+)for(i nt j=0;j n;j+)if(p cbk.arrivetime p cbj.arrivetime)temp=p cbk;p cbk=pcbj;p cbj=te mp;if(p cbk.arnvetime=p cbj.arrivetime&p cbk. needtime p cbj. needtime)temp=p cbk; p cb
8、k=pcbj; pcbj=te mp;return pcb;/*时寸间 J片 轮法 */void Rou nd_Robi n(PCB pcb,i nt n)PCB p 20;int m=0,pt=1,x,w=1; /时间片个数、队列元素个数double slot,st,nt; / 时间片cout slot;p 0=pcb0;p 0. priorit ynum=0;for(i nt i=1;i n;i+)if(p cbi.arrivetime=p cb0.arrivetime+slot)p cbi. priorit ynum=p cbi.arrivetime;pp t=pcbi;p t+;whi
9、le(w)n t=0;for(i nt i=0;i pt;i+)nt=nt+ pi.needtime-pi.workedtime; II判断是否所有 进程都已经运行完 if(n t!=0)m=m+1;st=0;x=0;for(i nt l=0;l pt;l+)st=st+pI.needtime-pl.workedtime; II 对每个时间片进行分配if(st=slot&st-p I. needtime+pl.workedtimeslot)P l.c on diti on=d;/p l.workedtime=slot-st+ pl. needtime;x=x+1;cout第m个时间片的运行情况
10、是:endl;Dis ply_P CB (p,pt);st=0;for(i nt u=0;up t;u+)st=st+ p u. needtime-p u.workedtime;if(st=slot&st-p u. needtime+p u.workedtimeslot)p u.workedtime=slot-st+p u. needtime;if(x!=1 &Px-1.workedtime!=px-1.needtime)/ 对时间片末执行的进程进行操作p0=px-1;p 0. priorit ynum=p 0. priorit ynu m-slot;for(i nt j=x;j pt;j+)
11、pj-x+1=pj;p j-x+1. priorit ynum=p j-x+1. priorit ynu m-slot;pt=p t-x+1;if(x=1 &p x-1.workedtime!=p x-1. needtime)pp t-x+1=p 0;pp t-x+1.c on diti on=w;pp t-x+1. priorit ynum=pp t-x+1. priorit ynu m+2*slot;for(i nt j=x-1;j p t;j+)pj-x+1=pj+1;p j-x+1. priorit ynum=p j-x+1. priorit ynu m-slot; p t= pt-x
12、+1;if(p x-1.workedtime=p x-1. needtime)for(i nt j=x-1;j p t;j+)pj-x+1=pj+1;p j-x+1. priorit ynum=p j-x+1. priorit ynu m-slot; pt=p t-x;for(i nt i=0;islot* m&p cbi.arrivetime=slot*(m+1)P cbi. priorit ynum=p cbi.arnvetime-slot*(m-1); pp t+=pcbi; elsew=0;/*e nd*/五.运行结果:*时间片轮转调度算*进程总数为:12请输入第请输入第请输入第请输入
13、第请输入第请输入第请输入第请输入第请输入第请输入第请输入第请输入第到达时间,服务时间:A 0 6到达时间,服务时间:B 1 4到达时间,服务时间:C 2 10到达时间,服务时间:D 3 5到达时间,服务时间:E 6 1到达时间,服务时间:F 8 2到达时间,服务时间:G 12 5到达时间,服务时间:H 12 10到达时间,服务时间:J 12 4到达时间,服务时间:K 18 3到达时间,服务时间:L 25 15到达时间,服务时间:M 25 81个进程的进程名,2个进程的进程名,3个进程的进程名,4个进程的进程名,5个进程的进程名,6个进程的进程名,7个进程的进程名,8个进程的进程名,9个进程的进
14、程名,10个进程的进程名,11个进程的进程名,12个进程的进程名,请输入时间片长度:4 第1个时间片的运行情况是: 进程名A BCD第2个时间片的运行情况是: 进程名BCDAE0123到达时间run wait wait wait运行状态01230000优先数已运行时间64105需要运行时间12306到达时间run wait wait wait wait运行状态-3-2-14600000优先数已运行时间410561需要运行时间F8wait802第3个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间C2run-6010D3wait-505A0wait046E6wait201F
15、8wait402J12wait804G12wait805H12wait8010第4个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间D3run-905A0wait-446E6wait-201F8wait002J12wait404G12wait405H12wait4010C2wait-2410第5个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间A0run-846E6run-601F8run-402J12wait004G12wait005H12wait0010C2wait-6410D3wait-545K18wait603第6个时间片的运行情况是:进程名
16、到达时间运行状态优先数已运行时间需要运行时间F8run-812J12run-404G12wait-405H12wait-4010C2wait-10410D3wait-945K18wait203第7个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间J12run-804G12run-805H12wait-8010C2wait-14410D3wait-1345K18wait-203M25wait508L25wait5015第8个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间G12run-1235H12run-12010C2wait-18410D3wait
17、-1745K18wait-603M25wait108L25wait1015第9个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间H12run-16210C2wait-22410D3wait-2145K18wait-1003M25wait-308L25wait-3015第10个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间C2run-26410D3wait-2545K18wait-1403M25wait-708L25wait-7015H12wait-12610第11个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间D3run-2
18、945K18run-1803M25wait-1108L25wait-11015H12wait-16610C2wait-22810第12个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间M25run-1508L25wait-15015H12 wait -20610C2wait -26810第13个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间L25 run -19015H12 wait -24610C2wait -30810M25 wait -1148第14个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间H12 run -28610C2wait -34810M25 wait -1548L25 wait -15415第15个时间片的运行情况是:进程名到达时间运行状态优先数已运行时间需要运行时间C2run -38810M25 run -1948L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年财务经理述职报告
- 福州市新型智慧城市标杆市顶层设计
- 郑州经贸学院《计算机技术基础(Python)》2023-2024学年第二学期期末试卷
- 南华大学《城市文化学》2023-2024学年第二学期期末试卷
- 重庆电信职业学院《影视广告创意与制作》2023-2024学年第一学期期末试卷
- 上海旅游高等专科学校《蒸馏酒工艺学》2023-2024学年第二学期期末试卷
- 宁波工程学院《舞蹈教育学》2023-2024学年第一学期期末试卷
- 雨雪天气交通安全教育
- 镇江市高等专科学校《软件定义网络》2023-2024学年第二学期期末试卷
- 山西工程技术学院《植物医学》2023-2024学年第二学期期末试卷
- 居民自建桩安装告知书回执
- 国开2023秋《人文英语4》第5-8单元作文练习参考答案
- 期末复习Unit+6-10+单元信息摘录专项练习-人教版英语八年级上册
- 1 热工测量基础知识
- 肺癌肿瘤标志物检测与临床应用
- 物业公司章程模板
- 基于主成分-聚类分析的各地区火灾事故研究(附有SAS程序)
- 火龙罐技术课件
- 石膏粉生产线设备及工艺介绍
- 电镀产品检验记录
- 美国人工智能权利法案蓝图(英文)
评论
0/150
提交评论