porcess.h
来自「模拟操作系统,主要完成了文件管理,程管理等」· C头文件 代码 · 共 81 行
H
81 行
#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 + =
减小字号Ctrl + -
显示快捷键?