进程调度模拟程序设计 是自己上机实验 和你的要求也许不知道一样但是你可以看看啊 模拟进程调度算法:用C++的代码描述:#include\"iostream.h\"/define pcb typedef struct pcb { char name[10];进程调度算法的模拟与实现 import java.util.Arrays;public class SCAN {public static void main(String[]args){SCAN s=new SCAN();int[]a={ 55,58,39,18,90,160,150,38,184 };int nowway=100;int[]high=s.high(nowway,a);高磁道int hl=high.length;int[]low=s.low(nowway,a);低磁道int ll=low.length;int[]all=new int[hl+ll];for(int i=0;i;i+){all[i]=high[i];}for(int i=0,j=0;i;i+,j+){all[hl+i]=low[j];}int[]movelength=new int[all.length];for(int i=0;i;i+){System.out.print(all[i]+\"\");int move=0;if(i=0){move=all[0]-100;movelength[i]=move;System.out.println(\"移动磁道数\"+move);continue;}if(all[i]>all[i-1]){move=all[i]-all[i-1];movelength[i]=move;} else {move=all[i-1]-all[i];movelength[i]=move;}System.out.println(\"移动磁道数\"+move);}int summovelentgth=0;for(int i=0;i;i+){summovelentgth+movelength[i];}System.out.println(\"平均寻道长度:\"+(double)summovelentgthmovelength.length);}public int[]low(int nowway,int[]a){int mincount=0;for(int i=0;i;i+){if(a[i]){mincount+;小于磁道数的}}int[]a1=new int[mincount];int j=0;for用c语言编写设计一个模拟有N个进程并行的进程调度程序 起码100分啊100分我给你编进程调度算法模拟程序设计 public class PrivilegeProcess {public static void main(String[]args){MyQueue myqueue=new MyQueue();声明队列PCB[]pcb={new PCB(001,8,1),new PCB(002,7,9),new PCB(003,3,8),new PCB(004,1,7),new PCB(005,7,4)};PCB para=new PCB();for(int i=0;i;i+){/初始化后首先执行一次排序,这里使用的是选择排序,优先级高的先入队for(int j=i;j;j+){if(pcb[i].privilege[j].privilege){para=pcb[i];pcb[i]=pcb[j];pcb[j]=para;}}}System.out.println(\"初次入队后各进程的顺序:\");for(int i=0;i;i+){System.out.println(\"初次入队后#processname:\"+pcb[i].name+\"totaltime:\"+pcb[i].totaltime+\"privilege:\"+pcb[i].privilege);}System.out.println();myqueue.start(pcb);}}class MyQueue {int index=0;PCB[]pc=new PCB[5];PCB[]pc1=new PCB[4];PCB temp=new PCB();public void enQueue(PCB process){/入队算法if(index=5){System.out.println(\"out of bounds!return;}pc[index]=process;index+;}public PCB deQueue(){/出队算法if(index=0)return null;for(int i=0;i;i+){pc1[i]=pc[i+1];}index-;temp=pc[0];for(int i=0;i;i+){pc[i]=pc1[i设计一个按优先数调度算法实现处理器调度的程序. include#include/提供atoi()函数#include/提供clrscr()函数#define M 10/字符串大小常量#define N 3/进程数常量#d求进程调度算法 http://hi.baidu.com/vivian_716/blog/item/9c4db3506a54c86384352468.html进程调度模拟程序 #includeincludeincludedefine P_NUM 3/进程数define P_TIME 1/时间片长度define MIN-9999enum state/进程状态{ready,/就绪run,/执行wait,/阻塞finish/完成};class Pcb{public:static void print(){};Pcb();protected:char*name;进程名int allTime;需要运行时间int cpuTime;已用cpu时间state process;进程状态};class HPcb:public Pcb{public:static void print();static void highS();static int getFirst();private:int firstNum;};HPcb hpcb[P_NUM];class FPcb:public Pcb{public:static void print();static void fcfs();private:int comeTime;};FPcb fpcb[P_NUM];int HPcb:getFirst()/得到优先级最高的进程{int k=0;for(int i=1;i;i+)if(hpcb[k].firstNum[i].firstNum)k=i;return k;}void HPcb:highS()/最高优先数优先的调度算法{int ii,f,i=0;for;i;i+){char*ch;ch=new char[1];cout请输入第\"个进程的“进程名”、“优先数”、“需要运行的时间”:\";cin>>ch;hpcb[i].name=new char[strlen(ch)+1];strcpy(hpcb[i].name,ch);cin>>hpcb[i].firstNum>>hpcb[i].allTime;hpcb[i].cpuTime=0;hpcb[i].process=ready;}do{f=用C语言编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程进行调度。 #include\"stdio.hinclude\"stdlib.hinclude\"string.hstruct PCB {char NAME[10];进程名*/int ROUND;进程轮转时间片*/int REACHTIME;进程到达时间*/int CPUTIME;进程占用CPU时间*/int COUNT;计数器*/int NEEDTIME;进程完成还要的CPU时间*/char STATE;进程的状态*/struct PCB*NEXT;链指针*/};struct LINK {/*PCB的链结构*/struct PCB*RUN;当前运行进程指针*/struct PCB*READY;就绪队列头指针*/struct PCB*TAIL;就绪队列尾指针*/struct PCB*FINISH;完成队列头指针*/};void INIT(LINK*);对PCB的链结构初始化*/void INSERT(LINK*);将执行了一个单位时间片数且还未完成的进程的PCB插到就绪队列的队尾*/void FIRSTIN(LINK*);将就绪队列中的第一个进程投入运行*/void PRINT(LINK*);打印每执行一个时间片后的所有进程的状态*/void PR(PCB*);打印一个进程的状态*/int CREATE(LINK*,int);创建新的进程*/void ROUNDSCH(LINK*);按时间片轮转法调度进程*/void main(){LINK pcbs;int i;INIT(&pcbs);i=0;printf(\"创建5个进程\\n\\n\");while(i){if(CREATE(&pcbs,i+1)=1){printf(\"进程已创建\\n\\n\");i+;}elseprintf(\"进程创建失败\\n\\n\");}FIRSTIN(&pcbs);设计一个按优先数调度算法实现处理器调度的程序. include#include/提供atoi()函数#include/提供clrscr()函数#define M 10/字符串大小常量#define N 3/进程数常量#define SLOT 2typedef struct node{ char name[M];int prio;优先级 int round.求编程模拟进程调度算法,c语言版,要求用先来先服务。 先来先服务:用队列来实现,至于是循环队列,链队还是顺序队列,那要看具体问题决定进程调度:可以将要处理的任务集成为函数,并定义函数指针,最后将指针入队就行了说白了,就是对队列的各种操作~
随机阅读
- 柳岩越整越丑 同样是整容,为什么主动承认自己整容的明星反而会获得观众好感?
- 济源到郑州龙湖开车怎么走 漯河绿野电脑学校
- 因你是少数民族 为什么粤语歌可以在全国流行,用少数民族话唱的歌就不行
- 殷志源为什么被骂 殷志源在韩圈的地位如何?
- 成都大丰区社保可以在主城区买房吗 在成都南门,买房是买在新都城区好还是三河场或者大丰镇好,纠结中,有谁能帮我分析分析吗?
- 住梅溪湖好还是河东好 老婆看中了金茂梅溪湖的房子,可我却在河东上班,这可怎么办?
- 和平精英海岛地图有哪些特殊的建筑呢? 和平精英海岛地图一共有几个资源点
- 沂源县果业局 汇源果汁为什么退市?
- 求东方Project所有人物的名字。 星熊勇仪手办
- 戈舍瑞林缓释植入剂10克 使用醋酸戈舍瑞林缓释植入剂对身体有什么损害
- 大学生团队游戏奖励物品 我在游戏上被一个诈骗团队以刷取游戏物品为由骗了我1176元钱 应该怎么办
- 施工网络图和施工横道图各有何优缺点 横道图与网络图区别
- 妮宝贝手足概念店 如何开一个婚庆公司?
- 永联岗村嘉园二手房房价 请问下维一星城原山苑怎么样
- 光华宜家商铺经营困难 防疫期间光华逸家的物业服务怎么样?关键时刻有什么行动吗?
- 油酸酰胺和芥酸酰胺外观是什么样子的? 油酸酰胺芥酸酰胺
- 兰州万达城会建在哪里?对兰州发展有哪些作用? 西固北滨河路延伸柴家台段
- 北方山西种植经济效益好的农林作物主要有哪些? 山西平陆县农业特色
- 升结肠系膜增大淋巴结 肠系膜肿大淋巴结,会是一种很严重的病吗?
- 5.6年前打的架,因为争工程,现在扫黑除恶被翻案,被抓了,这种情况判刑的话需要多长时间,能判多久? 扫黑结束后已经判刑的能否减刑