按优先数调度算法实现处理器调度的模拟设计与实现

按优先数调度算法实现处理器调度的模拟设计与实现

ID:20429350

大小:103.50 KB

页数:5页

时间:2018-10-11

按优先数调度算法实现处理器调度的模拟设计与实现_第1页
按优先数调度算法实现处理器调度的模拟设计与实现_第2页
按优先数调度算法实现处理器调度的模拟设计与实现_第3页
按优先数调度算法实现处理器调度的模拟设计与实现_第4页
按优先数调度算法实现处理器调度的模拟设计与实现_第5页
资源描述:

《按优先数调度算法实现处理器调度的模拟设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验1处理器调度一、实验内容选择一个调度算法,实现处理器调度。二、实验目的在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。木实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。三、实验题目按优先数调度算法实现处理器调度的模拟设计与实现。四、源程序#include#includeusingnamespacestd;//struct_proc{charname[32];struct_pro

2、c*next;intrun_time;intpriority;intstate;//就绪为};_proc*root;//向就绪队列中插入进程,按照降序voidInsert(_proc*pr){_proc*q=root;//方便插入,记彔插入位置的前面的进程_proc*p=root->next;if(root-〉state!=0){while(p!=NULL)//找插入位置{if(p-〉priority〉pr->priority)//优先级小于时,继续遍历q=p;p=p->next;else//找到插入break;}}}pr-〉ne

3、xt=p;//插入q-〉next=pr;++root-〉state;//进程个数加一}//创建进程_procCreat(charname口,intpriority,intrun_time){_procpr;strcpy(pr.name,name);pr.priority=priority;pr.run_time=run_time;pr.state=0;pr.next=NULL;returnpr;}//删除就绪队列屮对首进程_proc*Delete(){_proc*pr=root-〉next;root->next=root->nex

4、t->next;~root->state;returnpr;}//对就绪队列排序,按照降序voidSort(){if(root-〉next-〉run_time==0)//要执行时间为时,从就绪队列屮删除该进程{Delete();root-〉next-〉state=1;else//不为时,先删除,再根据变化后的优先级,插入到相应位罝_proc*pr=Delete();Insert(pr);}}//输出执行进程号voidOutPut(){cout«root-〉next-〉name«endl;//输出,模拟进程执行--root-〉nex

5、t-〉priority;//修改进程的优先级和运行时间,状态—root->next->run_time;}voidSolve(){//根结点root=new_proc;root->state=0;/Zstate记录就绪队列中的进程个数root-〉next=NULL;//指向第一个进程//创建儿个进程,并插入就绪队列_procprl=Creat(’'pl",2,l);Insert(&prl);_procpr2=Creat("p2",3,5);Insert(&pr2);_procpr3=Creat("p3’’,l,3);Insert(

6、&pr3);_procpr4=Creat("p4",2,4);Insert(&pr4);_procpr5=Creat("p5",4,2);Insert(&pr5);cout«"调度序列:"«endl;while(root->state!=0)OutPut();Sort();}intmain(){Solve();getchar();getchar();return0;}五、运行结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。