处理机管理课程设计(操作系统)
操作系统 课程设计 #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表的内容包括:进程号、进程状态、进程调度优先级、现场信息、就绪队列指针和等待队列指针、页表或界址寄存器、打开文件表、记账信息等。 ; 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表的内容包括:进程号、进程状态、进程调度优先级、现场信息、就绪队列指针和等待队列指针、页表或界址寄存器、打开文件表、记账信息等。
用户评论