操作系统 课程设计
#include"stdio.h"
#define running 1
#define aready 2
#define blocking 3
#define sometimes 5
#define n 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;
int block;
int pfree;
sheduling()
{
int i;
if(ready.head==-1);
{
printf("无就绪进程\n");
return 0;
}
{i=ready.head;
ready.head=pcbarea[ready.head].next;
if(ready.head==-1)ready.tail=-1;
pcbarea[i].status=running;
TIME=sometimes;
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;
}
进程模型的功能和接口:
(1) 向用户提供多任务使用方式,进程模型负责完成相应的程序启动和结束处理工作,并管理和实现这多个进程的同时运行。
(2) 向用户程序提供一组系统调用。
编程级:
进程的建立:“建立进程”函数或系统调用
“撤销进程”函数或系统调用,或者程序的正常或非正常结束
进程和进程控制块是一一对应的关系。
进程控制块表,简称PCB表,每个进程在表中占一行,每个进程的那行信息称为一个进程控制块。
PCB表的内容包括:进程号、进程状态、进程调度优先级、现场信息、就绪队列指针和等待队列指针、页表或界址寄存器、打开文件表、记账信息等。
评论0