一道考试题(请大虾们帮忙)!小弟明天就要考试了!同时也帮和小弟一样要考试的人!

humr 2003-09-11 03:56:40
完成一个进程调度函数!
exam1.c
#include "stdio.h"
#define running 1 /*用running 表示进程处于运行态*/
#define aready 2 /*用aready表示进程处于就绪态*/
#define blocking 3 /*用blocking表示进程处于等待态*/
#define sometime 5 /*用sometime 表示时间片大小*/
#define n 10 /*假定系统允许进程个数为10*/
struct
{int name; /*进程标识符*/
int status; /*进程状态*/
int ax,bx,cx,dx; /*进程现场信息,存放通用寄存器、程序计数器和程序状态字的内容*/
int pc;
int psw;
int next; /*下一个进程控制块的位置*/
}pcbarea[n]; /*定义模拟进程控制块区域的数组*/
int PSW,AX,BX,CX,DX,PC,TIME;/*模拟寄存器*/
int run; /*定义指向正在运行进程的进程控制块指针*/
struct
{int head;
int tail;
}ready; /*定义指向就绪队列的头指针head和尾指针tail*/
int pfree; /*定义指向空闲进程控制块队列的指针*/
sheduling( )
/*进程调度函数*/
{
/*请考生完成进程调度函数!!!*/
}/*进程调度函数结束*/
create( int x)
/*创建进程*/
{ int i;
if(pfree==-1) /*空闲进程控制块队列为空*/
{printf("无空闲进程控制块,进程创建失败\n");
return;
}
i=pfree; /*取空闲进程控制块队列的第一个*/
pfree=pcbarea[pfree].next;/*pfree后移*/
/*填写进程控制块内容*/
pcbarea[i].name=x;
pcbarea[i].status=aready;
pcbarea[i].ax=x;
pcbarea[i].bx=x;
pcbarea[i].cx=x;
pcbarea[i].dx=x;
pcbarea[i].pc=x;
pcbarea[i].psw=x;
if(ready.head!=-1)
{/*就绪队列不空时,挂入就绪队列方式*/
pcbarea[ready.tail].next=i;
ready.tail=i;
pcbarea[ready.tail].next=-1;
}
else
{/*就绪队列空时,挂入就绪队列方式*/
ready.head=i;
ready.tail=i;
pcbarea[ready.tail].next=-1;
}
}/*进程创建函数结束*/
main( )
{/*系统初始化*/
int num,i,j;
run=ready.head=ready.tail=-1;
pfree=0;
for(j=0;j<n-1;j++)
pcbarea[j].next=j+1;
pcbarea[n-1].next=-1;
printf("输入进程标识符(即进程编号,避免编号的冲突,以负数输入结束):");
scanf("%d",&num);
while(num>=0)
{create(num);
scanf("%d",&num);
}
sheduling( );
if(run!=-1)
{
printf("进程标识符 进程状态 寄存器内容:ax bx cx dx pc psw:\n");
printf("%4d%10d %3d%3d%3d%3d%3d%3d\n",pcbarea[run].name,
pcbarea[run].status,pcbarea[run].ax, pcbarea[run].bx, pcbarea[run].cx,
pcbarea[run].dx, pcbarea[run].pc, pcbarea[run].psw);
}
}/*main( )函数结束*/
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
humr 2003-09-14
  • 打赏
  • 举报
回复
请版主收回我的分!
humr 2003-09-12
  • 打赏
  • 举报
回复
sheduling( )
/*进程调度函数*/
{
/*请考生完成进程调度函数!!!*/
}/*进程调度函数结束*/

MiracleNo1 2003-09-11
  • 打赏
  • 举报
回复
你要说明白一些好让那些高手们知道你要做什么。
wcq8303 2003-09-11
  • 打赏
  • 举报
回复
你要我们做什么啊?不明白你的意思
humr 2003-09-11
  • 打赏
  • 举报
回复
分小可以加呀
humr 2003-09-11
  • 打赏
  • 举报
回复
小弟在线等待。
你想当“李逍遥”式的“大侠”吗? 这里无需计算机基础,无需编程经验,你也不必是计算机专业的在校大学生....只要爱好游戏,怀揣梦想! 有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“大虾”吧!!!学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:中级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之中级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初中级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(中部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧