版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统实验报告(二)实验题目 :进程调度算法实验环境 :C+实验目的 :编程模拟实现几种常见的进程调度算法, 通过对几组进程分别使用不同的调度算法, 计算进程的平均周转时间和平均带权周转时间, 比较各种算法的性能优劣。实验内容 :编程实现如下算法:1. 先来先服务算法;2. 短进程优先算法;3. 时间片轮转调度算法。设计分析 :程序流程图 :1. 先来先服务算法初始化 PCB,输入进程信息就绪队列2. 短进程优先算法3. 时间片轮转调度算法实验代码 :1. 先来先服务算法#include <>#define n 20typedef structint id;d;cin>&g
2、t;fi.atime;cin>>fi.runtime;for(i=0;i<amount;i+)time>fj+1.atime)diao=fj.atime;fj.atime=fj+1.atime;fj+1.atime=diao;huan=fj.id;fj.id=fj+1.id;fj+1.id=huan;for(i=0;i<amount;i+)cout<<" 进程 :"<<fi.id<<"从"<<fi.atime<<"开始 "<<&quo
3、t;,"<<"在 "<<fi.atime+fi.runtime<<"之前结束。 "<<endl;fi+1.atime=fi.atime+fi.runtime;2. 短进程优先算法#include<>#define n 5#define num 5#define max 65535typedef struct pro int PRO_ID;int arrive_time;int sum_time;int flag;Pro;um_time>sj+1.sum_time)temp=sj;
4、sj=sj+1;sj+1=temp;lastX=0;if(lastX=1) break;return s0;void SPF(int p)if(n>0)int i,j,k,l,tc=0;Pro seqn;Pro temp_seqn;printf("短进程优先调度算法SPFn");printf("请依次输入 5 个进程的进程号、到达时间和执行时间n");printf("成员变量用逗号隔开;进程间用回车隔开n");for(i=0;i<n;i+)scanf("%d,%d,%d",&seqi.PRO_I
5、D,&seqi.arrive_time,&seqi.sum_time);printf("调度顺序是: n");rrive_time;tc=bubble(temp);lag=-1;for(i=0;i<n;i+)for(j=0;j<n;j+)if(seqj.flag!=1&&seqj.arrive_time<=tc)seqj.flag=0;for(j=0;j<n;j+)temp_seqj=seqj;if(seqj.flag!=0)temp_seqj.sum_time=max;l=bubble(temp_seq).PRO_I
6、D;for(j=0;j<n;j+)if(l=seqj.PRO_ID)k=j;tc=tc+bubble(temp_seq).sum_time;seqk.flag=1;printf("%d",l);printf("n");void main()SPF(n);3. 时间片轮转调度算法头文件#include<iostream>#include<>#include<>#include<>#include<>#define MaxNum 100typedef struct pcb行时间小于0,删除队首
7、if(p1->runtime<=0)p1->state='C'printf("%cn",p1->state);p1->FinishTime=t;p1->WeightTime=p1->FinishTime-p1->arrivetime;p1->WeightWholeTime=p1->WeightTime/p1->wholetime;SumWT+=p1->WeightTime;SumWWT+=p1->WeightWholeTime;printf("时 刻 %2d 进 程 %s
8、运 行 结 束 ,进 程 %s周 转 时 间 =%, 带 权 周 转 时 间=%n",t,p1->Name,p1->Name,p1->WeightTime,p1->WeightWholeTime);head->front=p1->next;free(p1);行时间大于 0,向后找位置插入elseprintf("%cn",p1->state);p2=p1->next;while(p2->next && p2->arrivetime != t)p2=p2->next;用找位置往后插入,队
9、首不变,不做操作位置往后插入if(p2->arrivetime != t)PCB *p3=p1,*p4;while(p3->next && p3->arrivetime<t)p4=p3;p3=p3->next;if(p3->arrivetime>t)if(p4!=p1)行时间小于0,删除队首if(p1->runtime<=0)p1->state='C'printf("%cn",p1->state);p1->FinishTime=t;p1->WeightTime=p1
10、->FinishTime-p1->arrivetime;p1->WeightWholeTime=p1->WeightTime/p1->wholetime;SumWT+=p1->WeightTime;SumWWT+=p1->WeightWholeTime;printf("时 刻 %2d 进 程 %s运 行 结 束 ,进 程 %s周 转 时 间 =%, 带 权 周 转 时 间=%n",t,p1->Name,p1->Name,p1->WeightTime,p1->WeightWholeTime);行时间大于 0,直
11、接插在队尾elseprintf("%cn",p1->state);/ 若原队列只有一个进程,不必往队尾插if(!p1->next)head->front=p1;/ 若原队列有多个进程elsehead->front=p1->next;head->rear->next=p1;head->rear=p1;p1->next=NULL;/ 时刻变化,队列为空时不做时刻变化if(empty(head)return;elseif(head->front->runtime<q)t=t+head->front-&g
12、t;runtime;elset=t+q;/*第二种情况结束 */主程序#include<iostream>#include<>#include<>#include<>#include<>#include ""void main()queue *head;int q;head=init();head=creat(head);printf("n您输入的时间片轮转进程队列为:n");print(head);printf("n请输入时间片轮转调度的时间片为:");scanf("%d",&q);/ 时间片轮转调度RR(head,q);AverageWT=SumWT/N;AverageWWT=SumWWT/N;printf("平均周转时间 =%,平均带权周转时间=%",AverageWT,AverageWWT);运行结果 :先来先
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 催产素点滴护理的护理管理
- 口腔种植修复护理中的护理科研与学术交流
- 江苏省宿迁市沭阳县重点名校2026届初三语文试题毕业第三次调研测试试卷含解析
- 安徽省亳州市涡阳县2026年初三下学期大联考卷Ⅱ语文试题试卷含解析
- 四川省绵阳宜溪中学心达标名校2026届初三下学期教学质量检查语文试题理试题含解析
- 浙江省杭州市滨江区部分校2026届初三补习班下学期第四次月考物理试题含解析
- 安徽省巢湖市达标名校2026年初三下学期中考适应性月考(八)语文试题含解析
- 2026年山东省枣庄市市中学区重点名校初三下学期期初联考英语试题含解析
- 2026年江西省吉安市名校初三调研试题(二)英语试题含解析
- 学校主任“两学一做”总结讲话稿
- 拆除工程施工方案
- 装修安全施工承诺书
- 《楚门的世界》电影赏析
- 人工智能芯片设计 课件 周巍 第1-3章-绪论、数字集成电路设计 -数字集成电路系统设计
- GB/T 44413-2024城市轨道交通分类
- 房颤导致血栓护理
- DB32∕T 1649-2010 公路养护工程预算编制办法及定额
- 《退休不褪色余热亦生辉》学校退休教师欢送会
- 汽车电器线束DFMEA范例
- 2024年九江杭氧气体有限公司招聘笔试参考题库附带答案详解
- 2024年广西北部湾大学招考聘用98名专任教师重点基础提升难、易点模拟试题(共500题)附带答案详解
评论
0/150
提交评论