⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 单处理器系统进程调度.txt

📁 操作系统单处理器系统进程调度模拟实验
💻 TXT
字号:
#include "string.h"
#define n 10							//假定系统中可容纳的进程数量为n
 typedef  struct  pcb
 {int name;                                                     //进程名
 int status;
 int ax,bx,cx,dx;
 int pc;
 int psw;
 int next;							//指向下一个进程控制块的指针
   }PCB;							//进程控制块类型定义
 PCB pcbarea[n];                                               //进程控制块区域
 int run;                                                       //定义指向正在运行进程的进程控制块指针       
 struct 
 {int head;
  int tail;
  }ready;                                                       //定义指向就绪队列
 int pfree;                                                    //定义指向空闲进程控制块队列指针
 shedule()                                                                //进程调度函数
 {while(ready!=-1)
   i=ready.head;
  ready.head=pcbarea[ready.head].next
   if(ready==-1)
      ready.tail=-1;
   else
      pcbarea[i].status=running;
      TIME=时间片;
      AX=ax;BX=bx; CX=cx; DX=dx; PC=pc; PSW=psw;
      run=i;}

main(  )
 {p=pfree;
  while(pfree!=-1&&name!=-1)//如果空闲控制块不为空
 {i=pfree;
 else{printf("无法创建进程\n");break;}
     pcbcount++;
   pfree=pcbarea[pfree].next;
   pcbarea[i].name=name;
   pcb[i].status=aready;
   if(ready!=-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;
           } shedule( );							//进行进程调度
 }//main( )函数结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -