2022年进程调度vc代码计算机操作系统实验.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年进程调度vc代码计算机操作系统实验.docx》由会员分享,可在线阅读,更多相关《2022年进程调度vc代码计算机操作系统实验.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用试验报告 1 课程 运算机操作系统 试验名称 进程调度 第1页班级 11计本 学号 105032022130 姓名风律澈试验日期: 2022年 10月4日 报告退发 订正 、 重做 一、试验目的:多道系统中,当就绪进程数大于处理机数时,必需根据某种策略打算选取哪些进程占用处 理器;本试验模拟实现处理器调度,进一步加深对处理器调度算法的懂得;二、试验内容:挑选某种调度算法,设计一个实现处理器调度的程序;三、试验环境:VS2022,window7 操作系统 四、试验步骤:1、设计一个有 N个进程并发的处理器调度程序,每个进
2、程由一个 信息:进程名、优先数、要求服务时间、进程状态;PCB表示, PCB包含以下2、可分别用链表表示就绪队列,用队列中的结构体结点表示进程;3、已知各进程的的到达时间等如下:进程名到达时间服务时间优先数A 0 3 12 B 1 5 31 C 2 2 21 D 3 4 10 4、分别实现下面两种调度算法 按FCFS调度算法实现处理器调度;按优先数调度算法实现处理器调度;五、试验程序: 此部分头文件名:link.h #include using namespace std;/ / / 修改部分 / / /节点定义 typedef struct listnode listnode *prior
3、;char name;/进程名 int serve_time ;/服务时间 int priors ; /优先权 int arrival_time ;/到达时间 float start_time ;/开头时间 float finish_time ;/终止时间链表队列 float turnover_time ;/周转时间名师归纳总结 - - - - - - -第 1 页,共 11 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用float t_t_s ;/带权重周转时间 int state;listnode *next ;progress ;/表头定义 typedef
4、 struct listnode *head ;int length ;listlead,list ;/输出函数 void coutdatalistnode *p cout 进程名为 name ;cout 服务时间为 serve_time ;cout 优先权为 priors ;cout 到达时间为 arrival_time ;cout 开头时间为 start_time ;cout 终止时间为 finish_time ;cout 周转时间为 turnover_time ; cout 带权重周转时间为 t_t_s e.name=n;e.serve_time=s;e.priors=p;e.arriv
5、al_time=time ; void cindatalistnode &e coute.name;coute.serve_time ;coute.priors ; /初始化 void initileadlistlead &L L.head=NULL ;L.length=0 ; void initinodelistnode &e,char n,int s,int p,int time e.prior=NULL ;e.next=NULL ;e.finish_time=0 ;e.start_time=0;e.state=0;名师归纳总结 - - - - - - -第 2 页,共 11 页精选学习资
6、料 - - - - - - - - - 个人资料整理 仅限学习使用e.turnover_time=0 ;e.t_t_s=0;cindatae,n,s,p,time ; /拷贝函数 void copylistnode* p,listnode &e e.arrival_time=p-arrival_time ;e.finish_time=p-finish_time e.name=p-name;e.next=p-next ;e.prior=p-prior ;e.priors=p-priors ;e.serve_time=p-serve_time ;e.start_time=p-start_time
7、;e.state=p-state; / / / 一些复用函数 / / / listnode* fin_ilistlead L,int i whileiL.length couti 位置不合法!请重新输入,位置为 listnode*p=L.head ;int j=1 ;ifi whilej p=p-next ;j+ ; return p; else i=L.length-i ;ifi=0 return L.head; else whilej p=p-prior ;j+ ; return p;i ; 名师归纳总结 - - - - - - -第 3 页,共 11 页精选学习资料 - - - - -
8、- - - - 个人资料整理 仅限学习使用 / / / 正式使用部分 / / / / / 查找 / /使用说明: L表示表头, i表示查找位置,e表示提取出该元素的备份/ / / void fin_elemlistlead L,int i,listnode &e listnode* p ;p=fin_iL,i ;copyp,e; / / / * 插入 * / /使用说明: L表示表头, i表示位置 ,表尾 i为L.Length+1 , e表示插入元素 ,e必需是 new出来的 空间 / / void insertlistlead &L,int i,listnode &e whileiL.len
9、gth+1 cout/ 表头插入 ifL.length=0 L.head=&e ;e.next=&e ;L.length+ ;/ 空表首元插入L.length+1i ;else ifL.length=1/ 一元表头插入 L.head-next=&e ;e.next=L.head;L.head-prior=&e ;L.length+ ; else/超一元表头插入 listnode* p=L.head-next ;p-prior=&e ;e.next=p;L.head-next =&e ;L.length+ ; else ifi1&i 名师归纳总结 - - - - - - -第 4 页,共 11
10、页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用listnode *p,*q ;/表中插入 p=fin_iL,i-prior;q=p-next ;p-next=&e ;e.next=q;q-prior=&e ;e.prior=p ;L.length+ ; else/表尾插入 listnode*p=L.head ;e.next=p-next ;e.prior=p ;p-next=&e ;L.head=&e ;L.length+ ; / / / * 优先插入 * / /使用说明: L表示表头, e表示插入元素 ,e必需是 new出来的空间 / /使用时需要修改比较元素
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 进程 调度 vc 代码 计算机 操作系统 实验
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内