好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

进程调度算法模拟程序(c++描述).doc

11页
  • 卖家[上传人]:xzh****18
  • 文档编号:41563837
  • 上传时间:2018-05-29
  • 文档格式:DOC
  • 文档大小:66.50KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 进程调度算法模拟程序(C++描述)(1)用 C 语言(或其它语言,如 Java)实现对 N 个进程采用某种进程调度算法(如动态优先权调度)的调度2)每个用来标识进程的进程控制块 PCB 可用结构来描述,包括以下字段:进程标识数 ID进程优先数 PRIORITY,并规定优先数越大的进程,其优先权越高进程已占用 CPU 时间 CPUTIME进程还需占用的 CPU 时间 ALLTIME当进程运行完毕时,ALLTIME 变为0进程的阻塞时间 STARTBLOCK,表示当进程再运行 STARTBLOCK 个时间片后,进程将进入阻塞状态进程被阻塞的时间 BLOCKTIME,表示已阻塞的进程再等待 BLOCKTIME个时间片后,将转换成就绪状态进程状态 STATE队列指针 NEXT,用来将 PCB 排成队列3)优先数改变的原则:进程在就绪队列中呆一个时间片,优先数增加 1进程每运行一个时间片,优先数减 34)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程5)分析程序运行的结果,谈一下自己的认识。

      实验代码实验代码#include “iostream.h“#include “windows.h“//#define N 3typedef struct{int ID;int PRIORITY;int CPUTIME;int ALLTIME;int STARTBLOCK;int BLOCKTIME;int STATE;//0-运行 1-阻塞 2-就绪 3-结束 4-未到达int REACH;int TIME;}PROCESS;void textcolor (int color){SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), color );}void main(){int i,time,max,l,l1,time1,flag=0,total=0,N,server[10],sum=0;PROCESS pro[10];textcolor(13);cout>N;cout>time;cout>pro[i].ID>>pro[i].PRIORITY>>pro[i].REACH;cin>>pro[i].ALLTIME>>pro[i].STARTBLOCK>>pro[i].BLOCKTIME;server[i]=pro[i].ALLTIME;if(pro[i].REACH==0) pro[i].STATE=0;else pro[i].STATE=4;}do{coutmaxmax=pro[i].PRIORITY;}if(pro[i].STATE==0) l1=i;}if(l!=-1if(l1!=-1) pro[l1].STATE=2;flag=0;for(i=0;i

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.