下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计一个先来先服务的调度算法实现处理机调度1013022056 计 102 林洵实验内容:进稈名 连接指针 到达时间 估计运行时间 进程状态假设系统屮有35个进稈,每个进稈由一个进稈块(PCB)来识别。进稈控制块结构如 图所示(1)进程名:即进程标识 链接指针:按照进程到达系统的时间将处于就绪状态的 进稈连接成一个就绪队列。指针指出下一个到达的进稈 控制块怦地址。最示一个的进程的链接指针为NULL。估计运行时间:可由设计者任意指定一个时间值。到达时间:进稈创建时系统时间或由用户指定,调度时,总是选择到达时间最早的进稈。进程状态:为简单起见,这里假定进程有两种状态:就绪和完成。就绪状态用“R”表
2、示, 完成状态用“C”表示。假定进程一创建就处于就绪状态,运行时间结束时,就被置成完成 状态。(2)设置一个队首指针head用来指岀最先进入系统的进程,备就绪进稈通过链接指针连在 一起。(3)处理机调度时总是选择队首指针指向的进程投入运行。由于木实验是模拟实验,所以 被选屮进程并不实际启动运行,而只是执行:估计运行时间减1.用这个操作来模拟进稈的一 次运行,而且省去进程的现场保护和现场恢复丁作。(4)在所设计的程序屮应有显示或打卬的语彳U,能显示或打印正运行的程序名字,已运行 时间和剩余时间,就绪队列屮的进程名等。所有进程完成时,给出备进程的周转时间和平均 周转时间。实验程序:#include
3、using namespace std;struct pcb 进穆控制块char pnamef512; 进程名int runtime; 运行时间int arrtime;/到达时间char state;进稈状态int rtime; 进程周转时间pcb *next;指向下一个进程void input(pcb *head,int n) /进程的输入函数pcb *t=head;for(int i=0;ipnamep-untimep-artime; p-next=t-next;t-next=p;t=p;) void output(pcb *head,int n) 进程的输出函数pcb *x,*p;x=n
4、ew pcb;p=new pcb; 匸作指针p=head-next;int time=0;float a,b,c,d,e,f=0; a用来控制程序的循环,b为暂存周转时间,c用来定位,d用来暂 存运行时间也用来控制循环,e用来控制循环f为所有进程的周转时间和float g; /g为平均周转时间time=p anlime;for(int i=();ivn;i+)主循环,进行n个进程循环a=0;d=p time;x=p;/x暂时保存p的位置,下面p会有很多改变,方便恢复while(anext-arrtimenext-state=,R,; 置状态位 p=p-next;p=head-next;/新将p
5、定义到目前正在运行的进程 for(c=0;cn ext;couttimeH ”;输出目前程序所处于的时间 while(p!=NULL) 如果有进稈在等待就输出等待进稈的信息if(p-state=,R,)coutp-pnamen Hp-statee ndl;p=p-next;time+; 时间继续运行 a+;p=x;恢复pb=time-p-arrtime; 一个进程运行结束 p-state=,C,; 置状态位 p-rtime=b; 置周转时间 f+=b;累计周转时问coutti meendl;p=head-next;for(e=0;estate=C*)coutvv”进程名,状态,周转时间“vve
6、ndl; coutp-pnameM np-staten np-rtimee ndl; coutH nendl;) p=p-next;p=x-next;if(p!=NULL) 当上一个进程结朿后将下一个进程的状态位改变,d是随意设置, 目的是改变状态位p-state=d,;)g=f/n;结算平均周转时间coutM平均周转时间:“vvgvvendl;int main(void) 主函数int n;coutn几个进程:;cinn;pcb *head;head=new pcb;head-next=NULL;in put(head,n);output(head.n);return 0;实验结果:世次次次T依依依 儿请请请名名名 a呈fg 3逬进进 :入入入 BTrB+BTt3 4 52 3 412 3 ppp 时时时用三个进程来进行实验.逬程名,状态,周转时间pl C 2逬程名,状态,周转时间p2 C 4逬程名,状态,周转时间p3 C 7平均周转时间:4.33333Press any key to continue34 p2 R如程名,状态,周转时间pl C 25 p3 R6 p3 R7 p3 R8进程名,状态,周转时间pl C 2进程名,状态,周转时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 织布厂生产岗位责任制度
- 下属单位安全生产责任制度
- 污水厂环境隐患责任制度
- 信息安全工作责任制度
- 环境损害责任制度范本
- 混凝土公司安全责任制度
- 市委政法委工作责任制度
- 幼儿园校园安保责任制度
- 工地配电室岗位责任制度
- 学校治安保卫责任制度
- 2026春统编版三年级下册道德与法治每课知识点清单
- 2025中国国新控股有限责任公司招聘7人笔试历年常考点试题专练附带答案详解
- 2026贵州毕节织金县部分县直单位公开考调工作人员47人实施笔试参考题库及答案解析
- 2026陕煤集团榆林化学有限责任公司招聘(162人)考试备考题库及答案解析
- GB/T 27664.3-2026无损检测仪器超声检测设备的性能与检验第3部分:组合设备
- 2026广东江门职业技术学院管理教辅人员招聘4人备考题库带答案详解(基础题)
- GB/T 46977-2026铸造用再生砂氮、硫、磷含量测定方法
- 突发事件创伤伤员医疗救治规范2025年版
- 2026年跨境电商平台合同
- 数控多工位钻床的设计
- 部编四年级语文下册 全册教案 (表格式)
评论
0/150
提交评论