📄 porcess.h
字号:
#include "stdio.h"
#define running 1
#define aready 2 /* */
#define blocking 3
#define sometime 5
#define pn 10
struct
{
int name;
int status;
int ax, bx, cx, dx;
int pc;
int psw;
int next;
}pcbarea[pn];
int PSW,AX,BX,CX,DX,PC,TIME;
int run;
struct
{
int head;
int tail;
}ready;
int pfree;
sheduling( )
{
int i;
if (ready.head==-1)
{
printf("无就绪进程\n");
return;
}
i=ready.head;
ready.head=pcbarea[ready.head].next;
if(ready.head==-1)ready.tail=-1;
pcbarea[i].status=running;
TIME=sometime;
AX=pcbarea[run].ax;
BX=pcbarea[run].bx;
CX=pcbarea[run].cx;
DX=pcbarea[run].dx;
PC=pcbarea[run].pc;
PSW=pcbarea[run].psw;
run=i;
}
create(int x)
{
int i;
if(pfree==-1)
{printf("无空闲进程控制块,进程创建失败\n");
return;
}
i=pfree;
pfree=pcbarea[pfree].next;
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;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -