1. 设定系统中有五个进程,每一个进程用一个进程控制块表示。 2. 输入每个进程的“优先数”和“要求运行时间”, 3. 为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单元指出队列首进程,用指针指出队列的连接情况。 4. 处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先数就减“1”,同时将运行时间减“1”。 5. 若要求运行时间为零,则将其状态置为“结束”,且退出队列。 6. 运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。
2022-11-21 14:41:19 2KB 处理机调度 c++
1
编写程序实现对5个进程的调度模拟,要求至少采用两种不同的调度算法分别进行模拟调度。
2022-11-20 14:56:59 29KB 编写程序实现
1
进程调度算法模拟 ① 进程数不少于5个; ② 进程调度算法任选; 可以用动态优先数加时间片轮转法实现进程调度,每运行一个时间片优先数减3; ③ 用C语言编程; ④ 程序运行时显示进程调度过程。
2022-11-19 16:37:48 125KB 进程调度
1
#include void main() { int k,J,p,m,s,io,t,i,u; k=1; int n[4]={3,4,3,3}; int q[5][4]={{0,0,0,0},{30,31,29,28},{34,34,35,35},{38,37,38,37},{0,40,0,0}}; int nn[4],q1[14],no[14][4],q2[14]; for(t=0;t<14;t++) for(i=0;i<4;i++)no[t][i]=0; while(k<=4){ if(k==1){ nn[k-1]=n[k-1]; J=0; do{ q1[J]=q[J][k-1]; no[J][k-1]=J; J++; }while(J<=n[k-1]);} else{ m=nn[k-2]; nn[k-1]=m+n[k-1]; J=0; while(J<=nn[k-1]){ int y=1000; int i=0; loop: if(J-i>m){i++; if(i>n[k-1]){q2[J]=y;no[J][k-1]=io;} else goto loop;} else if(i>J) {q2[J]=y;no[J][k-1]=io;} else {s=q[i][k-1]+q1[J-i]; if(sn[k-1]){q2[J]=y;no[J][k-1]=io;} else goto loop; } J++;} for(i=0;i=0){p=J; k=4; while(k>=1){no[J][k-1]=no[p][k-1]; p=p-no[p][k-1]; k--;} J--; } printf("J\\NO 1# 2# 3# 4# Q\n"); for(t=0;t<14;t++) printf("%2d %d %d %d %d %d\n",t,no[t][0],no[t][1],no[t][2],no[t][3],q2[t]); }
2022-11-13 17:15:44 1KB 调度算法
1
磁盘调度算法 #pragma once #include using namespace std; class Element { public: string name; int value; bool visited; Element(void) { name=""; value=0; visited=false; } void set(string n,int v) { name=n; value=v; visited=false; } ~Element(void) { } };
2022-11-13 10:41:43 1KB 磁盘调度算法
1
用Java写的电梯调度算法4,模拟操作系统的进程调度,图形界面
2022-11-11 08:20:46 19KB 电梯调度 Java
1
页面虚拟存储,模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。采用先进先出调度算
通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。
2022-11-01 22:37:37 128KB 操作系统 进程调度算法
1
描述强占式进程调度,时间片轮转,高优先家优先的进程调度算法。