基本信息
源码名称:进程控制(入门级实例)
源码大小:5.00KB
文件格式:.cpp
开发语言:C/C++
更新时间:2021-10-07
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

进程控制


//进程管理 
#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<i;j )   /*判断是否之前已存储相同pid进程*/
              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,表示该进程未创建于内存中*/ 

}
/********************换出进程***************************/