操作系统处理机调度算法的实现c语言源代码资料_第1页
操作系统处理机调度算法的实现c语言源代码资料_第2页
操作系统处理机调度算法的实现c语言源代码资料_第3页
操作系统处理机调度算法的实现c语言源代码资料_第4页
操作系统处理机调度算法的实现c语言源代码资料_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统处理机调度算法的实现C语言源代码粘品文档处理机调度算法的实现处理机调度算法的实现1.设定系统中有五个进程,每一个进程用一个进程控制块表示。2 .输入每个进程的“优先数”和“要求运行时间”,3.为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单 元指出队列首进程,用指针指出队列的连接情况。4 .处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先数就减T”,同时将运行时间减T”。5 .若要求运行时间为零,则将其状态置为“结束”,且退出队列。6.运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动 态变化过程。#include #include

2、 stmct PCB char name 10;mt piionty.time;stmct PCB *next;*k;stmct LmkQueue PCB * fiont;PCB * rear;队列初始化LnikQueue init()LmkQueue Q;PCB * p;p=(PCB *)malloc(sizeof(PCB); if(P)Q fiont=Q .iear=p;收集于网络.如有便权请联系管理员删除精品文档Q. fiont-next=NULL; return Q;elsepnntfC*队列初始化失败,程序运行终止!沁);exit(O);插入新进程,使优先数从大到小排列LnikQue

3、ue sort(LnikQueue Q.PCB *p) PCB * tempi;PCB * temp2;if(Q .1 eai=Q. fi out) Q.fiont-next=p;Q.ieai-p; else temp 1=Q. fiont;temp2=temp 1 -next;wlule(temp2-pfionty=p-piionty & temp2-next! =NULL) templ=temp2;temp2=temp 1 -next;if(temp2-next=NULL & temp2-piionty=ppiio】ity) temp2-next=p;Q.iear=p; else p-ne

4、xt=temp 1 -next; templ-next=p;return Q;LnikQueue input(LnikQueue Q) /* 建立进程控制块函数*/int i;foi(i=l;inanie);pnntf(n输入进程优先数门;scanf(”d”,&k-pnonty);pnntf(n输入进程运行时间:”);scanf(”d”,&k-hme);pmHf(”n”);k-next=NULL;Q=sort(Q,k); /* 调用 sort 函数*/retinn Q;LnikQueue nimung(LuikQueue Q) /*建立进程就绪函数(进程运行时间到,置就绪状态*/if(k-ti

5、nie=O) pnntf(运行后进程%s已完成状态为”结束.iiH,k-name);fiee(k);else(k-pnority);(k-time);pnntf(运行后优先数d 需要运行时间:%dn,k-prionty,k-tiine);Q=sort(Q,k); /*调用 sort 函数*/retuin Q;void check(LiiikQueue Q) /* 建立进程查看函数 */ PCB *pr;pi=(PCB *)malloc(sizeof(PCB);pr=Q. fiont-next;pnntf(”n *输入的五个过程为3”);while(pH=NULL) pnntf(ii进程名s状态

6、就绪优先数d需要运行时间dn”,pname,ppnonty,pr-time);收集于网络,如有侵权请联系管理员删除粘品文档pi-pr-next;void mainOmt 11=0;LiiikQueue P; p=llllt();P=input(P); check(P);while(P. fi ont-next)! =NULL) h+;k=P.fiont-next;P. fiont-next=k-next; k-next=NULL;pnntf(nii第01次运行,被选中进程是s n,lhk-nanie);P=niimmg(P);pnntf(Hiiii 进程已经完成.n”);收集于网络.如有便权请

7、联系管理员删除秸品文档SB 选走E:microsoft visual c.进程号No.l:输入进程名沖输入进程优先数汚输入进程运行时间詣进趕号No.2:输入进程名汨输入进程优先数赳输入进程运行时间詣进程号No.3 =输入进程名乂输入进程优先数詔输入进程运行时间汐迸程号No-4:输入进程名:D 输入进程优先数認 输入进程运行时间汐迸程号No.5 =输入进程名注输入进程优先数廿收集于网络,如有侵权请联系管理员删除粘品文档进程号 输入进程名;E 输入进程优先数次 输入进程运行时间疽 *输入的五个过程为=进程名汕状态掠尢绪优先数汚需要运行时间詔进程名汕状态二就绪优先数需要运行时间泊状态掠尢绪优先数詔需要运行时间吃进程名二D状态二就绪优先数吃需要运行时间:2状态:就绪 优先数江需要运行时间江第丄次运行補选中进程杲沖运行后优先数:4需要运行时间垃第2次运行祕选中进程臭=B运行后优先数詔需要运行时间:2第3次运行,補选中进程杲沖运行后优先数泊需要运行时间“第4次运行祝选中进程具吒运行后优先数,2需蔑运行时间江第5袂运行襦选中进程杲汀运行后优先数汶需要运行时间沢第6次运行祝选中进程具叩运行后进程卸已完成状态为“结束“第?袂运行襦选中进程杲沙运行后优先数沢需要运行时间沢第时夬运行祺选中进程果工运行后进程C已

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论