




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
采用动态优先级的过程调度算法仿真1 .实验目的通过模拟动态优先算法加深对过程概念和过程调度过程的理解。2 .实验内容(1)用c语言实现在n个进程中采用动态优先算法的进程调度(2)标识过程的过程控制块PCB的结构为包括以下字段l进程id数l进程优先级设置优先级,优先级越高进程优先级越高l进程所消耗的CPU时间CPU时间l进程使用的CPU时间alltime在进程运行完成时为0l进程的块时间startblock表示进程重新运行startblock个时间片时,进程将处于块状态l进程被阻止的时间blicktime表示阻止进程等待被阻止的时间,然后进入就绪状态l进程状态state;将PCB排队的l队列指针next。(三)优先级变更原则:l进程在就绪队列中放入计时卡,并增加一个优先级每次运行时间片时,l进程都会减少三个优先级。(4)在调度之前,假定系统有5个进程,初始状态如下ID 01234优先级9 38 30290CPUTIME 00000全时336334启动块2-1-1-1-1BLOCKTIME30000statereadyreadyreadyreadyreadyready(5)为了明确观察各进程的调度进程,程序必须显示各时间片内的进程状况。 参照的具体格式如下运行计划: IREADY_QUEUE:-id1-id2BLOCK_QUEUE:-id3-id4=等ID 01234优先级p0p1p2p3p 4CPU时间c0c1c3c4c 5ALLTIMEA0A1A2A3A4STARTBLOCKT0T1T2T3T4BLOCKTIMEB0B1B2B3B4STATES0S1S2S3S4开始创建就绪队列Alltime0准备-执行显示状态改变优先级p .全时- 1P.cuptime 1P.alltime=0P.startblock0p .起始块- 1P.startblock=0执行-块运行-就绪BLK=NULLP.blocktime-1战斗机P.blocktime=0闭塞-准备完毕结束是的,先生否否是的,先生是的,先生否是的,先生否是的,先生否否是的,先生3 .过程(流程图)4 .代码#include#include#include类型结构节点装模作样int id; /进程id数int优先级; /进程优先级数、优先级数越大优先级越高int CPU时间; /进程占用的CPU时间int alltime; /进程占用的CPU时间int startblock; /进程的阻塞时间int blocktime; /进程被阻止的时间char state10; /进程状态结构节点*下一步; /提示符PCB;pcb*creatortqueue(intnum)/创建就绪队列装模作样int i; /i是循环计数器PCB *head、*temp1、*temp2、*temp3; /head是就绪队列开头指针,temp1是生成进程节点的指针,temp2、temp3分别是比较节点的前驱节点、比较节点for(i=0; iid,时间1优先级,时间1-CPU时间,时间1 -全部时间,时间1 -开始块,时间1 -块时间,时间1 -状态;if(i=0) /如果创建了第一个节点装模作样head=temp1;head-next=NULL;continue;以下称为if (head-priority temp1- priority )/如果存储在创建节点中的数量大于存储在开头节点中的数量,则在开头节点之前插入该节点装模作样temp1-next=head;head=temp1;continue;以下称为temp2=head; /temp2是比较节点的直接前驱节点temp3=temp2-next; /temp3是比较的节点while(temp3!=nullstemp3- priority=temp1- priority )/实现检索的功能装模作样temp2=temp3;temp3=temp2-next;以下称为temp2-next=temp1;temp1-next=temp3;以下称为return head;以下称为PCB * insert queue (PCB *头部,PCB *run) /在就绪队列中插入节点装模作样PCB *temp1、*temp2; /temp1和temp2分别是比较节点的前驱节点和比较节点if(head=NULL) /准备就绪队列为空时装模作样head=run;head-next=NULL;以下称为else if (head-priority run-priority )/插入节点中保存的数量比起开头节点中保存的数量还多的情况下,将该节点插入开头节点之前装模作样run-next=head;head=run;以下称为else装模作样temp1=头部; /temp1是比较节点的直接前驱节点temp2=temp1-next; /temp2是比较的节点while(temp2!=nullstemp2- priority=run-priority )/实现查找功能装模作样temp1=temp2;temp2=temp1-next;以下称为temp1-next=run;run-next=temp2;以下称为return head;以下称为main ()装模作样int num; /num是进程的数量int alltime=0; /用于存储所有进程占用的CPU时间PCB *头部; /head是就绪队列的第一个指针PCB *run=NULL; /run是运行进程的节点的指针PCB *块=null; /block是阻止进程的节点PCB *temp;printf (进程数: );scanf(%d”,num );头=创建队列(num )getchar ();temp=head;while(temp!=NULL )装模作样全部时间=全部时间;temp=temp-next;以下称为while(alltime 0)装模作样if (头部!=NULL )装模作样run=head; /检索并运行就绪队列的第一个进程head=head-next; /就绪队列的起始指针指向以下节点strcpy (运行状态, run ); /状态变为执行run-next=NULL;/*显示状态*/printf(RUNNING PROG:%dn ,run-id ); /显示执行进程printf(ready_queue: ) /显示准备完成进程temp=head;while(temp!=NULL )装模作样printf(-%d ,临时id );temp=temp-next;以下称为printf(n );printf(block_queue: ) /显示块进程封锁!=NULL )装模作样printf(%d”,块id );以下称为printf(n );printf (=n )printf ( idpriocritycputimealltimestartblocktimestaten )printf (“% d”% d % d % d % sn”,run-id,run-priority,run-cputime,run-alltime,run-startblock,run-blocktime,run-state );temp=head;while(temp!=NULL )装模作样printf (“% d”% d % d % d % sn”,临时id,临时优先级,临时处理时间,临时开始块,临时块时间,临时状态);temp=temp-next;以下称为封锁!=NULL )装模作样printf (“% d % d % d % d % s”、“块id”、“块优先级”、“块- CPU时间”、“块-全部时间”、“块-启动块”、“块-块时间”和“块-状态”)以下称为printf(n );printf (=n )/*显示状态*/*更改优先级*/run-priority-=3; /执行进程的优先数减去3temp=head;while(temp!=NULL) /将就绪进程的优先级加1装模作样时间优先级=1;temp=temp-next;以下称为/*更改优先级*/*修改运行进程的参数*/run-CPU时间=1; /执行进程经过的CPU时间加1run-alltime-=1; /所需的CPU时间减去1run-all t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园区的资源分配与管理
- 工业废水处理技术与环境治理研究
- 工业安全生产管理与预防策略
- 工业废水处理技术的研究与应用
- 工业自动化中新材料技术的趋势分析
- 工业污染防治与环保设备应用
- 工业物联网的远程监控与维护系统设计
- 工业机械自动化系统的可靠性保障
- 工业设计中的智能产品解决方案
- 工作与休息的平衡对残疾人群的特别意义
- 2025山东“才聚齐鲁成就未来”水发集团高校毕业招聘241人笔试参考题库附带答案详解
- 马工程版《中国经济史》各章思考题答题要点及详解
- GB/T 19889.8-2006声学建筑和建筑构件隔声测量第8部分:重质标准楼板覆面层撞击声改善量的实验室测量
- GB/T 12236-2008石油、化工及相关工业用的钢制旋启式止回阀
- .全年累计供暖空调能耗模拟报告
- 自身免疫性脑炎
- 热工基础思考题答案(第1章)
- 大学生选课申请表
- 生产安全事故风险评估报告(参考模板)
- 消防安全工作台账表格汇总
- 广州旧城改造三元里文本
评论
0/150
提交评论