下你所需,载你所想!
汇集开发技术源码资料

进程控制(入门级实例)

:1.528KB :1 :2022-10-09 14:41:42

部分简介

进程控制(入门级实例)如果开发者对于本文件有需要的可以参考。
进程控制

//进程管理
#include "stdio.h" /*标准输入输出*/
#include "conio.h" /*控制台输入输出*/
#include "stdlib.h" /*标准库头文件,包含C常用函数*/
struct PCB_type
{ int pid;
int youxianji;
int daxiao;
char neirong[10];
int state; /* 0表示不在内存,1表示在内存,2表示挂起*/
};
struct PCB_type neicun[20];
int num=0,guaqi=0,bj,i,j,pid;/*定义相关参数变量*/
/*********************创建新进程*************************/
void create()
{
if(num>=20) /*判断是否有存储空间*/
printf("\n 内存已满,请删除或挂起其他程序");
else{
for(i=0;i<20;i )
if(neicun[i].state==0) break; /*按顺序在内存中寻找创建新进程的空间*/
printf("\n请输入新建进程的pid值\n");
scanf("%d",&neicun[i].pid);
for(j=0;j if(neicun[j].pid==neicun[i].pid)
{ printf("\n该进程已存在于内存中");
return;
}
printf("\n请输入新进程的优先级 \n" );
scanf("%d",&neicun[i].youxianji);
printf("\n请输入新进程的大小\n" );
scanf("%d",&neicun[i].daxiao);
printf("\n请输入新进程的内容\n" );
scanf("%s",&neicun[i].neirong);
neicun[i].state=1; /*将进程状态设为1,表示在内存中*/
num ;/*内存中进程数目加一*/
}
}
/********************查看当前运行进程**************************/
void run()
{ bj=0;
for(i=0;i<20;i )
if(neicun[i].state==1) /*若进程状态设为1,表示在内存中,输出查看*/
{printf("\n pid=%d",neicun[i].pid);
printf(" youxianji=%d",neicun[i].youxianji);
printf(" daxiao=%d",neicun[i].daxiao);
printf(" neirong=%s",neicun[i].neirong);
bj=1;/*存在于内存中的进程标记为1 */
}
if(bj==0)
printf("\n当前没有运行该进程\n" );/*标记为0,表示该进程未创建于内存中*/
}
/********************换出进程***************************/

进程控制(入门级实例)

热门推荐

相关文章