首页 >> 电脑教程 >> 网络编程 >> 正文

进程调度模拟程序

[ 来源:互联网 | 本篇文章热度: | 收藏本文 ]
 ZhouWei.Net关键字导读:编程  网络编程
   
 我们课程设计,我选择了一个进程调度模拟,希望站长资源网的网友们给看看,多提意见,好久没来发帖子了。
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
#include<string.h> const int  MAXCOMMANDLEN =50;         /////////////////////////////////////////////////////////////////////////////////////
//           
//         PROCESS 
// 
/////////////////////////////////////////////////////////////////////////////////////
class Process                          //进程类
{
friend class CPU;
protected:
 static int init_ID;     //随机进程ID
    int ID;        //进程ID
 char runText[MAXCOMMANDLEN];  //进程指令数组
 int IP;        //进程指令指针,保存进程指令执行到的具体位置
 bool ISuseSource;     //此进程是否使用资源,ture:使用中  false : 未使用
 bool ISblocked;      //此进程是否被阻塞  ture:阻塞  false :未阻塞
 int unitTime;      //进程单位被cpu执行时间, 默认 1
 int blockTime;      //进程被阻塞时间
public:
 static void RandID();    //随机生成进程ID
 Process();
 int getID();      
 int getIP();      
 void setIP(int);     
 void Runed();      //进程被cpu执行
 int getUnittime();     //得到进程单位执行时间
 int getBlcoktime();     //得到进程阻塞时间
 void setBlocktime(int);    //设置进程阻塞时间
 void setUnittime(int);    //设置进程单位执行时间
 char getResult(int);    //得到进程执行结果
 char* getRuntext();     //得到进程执行的指令
 void setBlockstate(bool);   //设置阻塞状态
 bool getBlockstate();      
 bool getISusesource();    //得到资源的状态  使用  未使用
 void setISusesource(bool);   //设置资源的使用状态
}; int Process::init_ID; void Process::RandID()
{
 srand( (unsigned)time( NULL ) );
 init_ID=rand();
}
Process::Process()
{
 ID=init_ID++;     
 int commandLen;
 IP=0;  cout<<"Please input the text which process runed by CPU [#command#] :>\ ";
 cin>>runText;
 if( (commandLen=strlen(runText) ) > MAXCOMMANDLEN )
  exit(0);

 
 runText[commandLen]='#';     // 指令结束标志 '#'
 runText[commandLen+1]='';
 ISuseSource=false;
 ISblocked=false;
 unitTime=1;
 blockTime=0;
}
void Process::Runed()

int Process::getID()
{
 return ID;
} int Process::getIP()
{
 return IP;
} void Process::setIP(int ip)
bool Process::getISusesource()
{
 return ISuseSource;
} void Process::setISusesource(bool s)
char* Process::getRuntext()
{
 return runText;
} int Process::getUnittime()
{
 return unitTime;
}
int Process::getBlcoktime()
{
 return blockTime;
} void Process::setBlocktime(int BT)
void Process::setUnittime(int UT)
void Process::setBlockstate(bool state)
bool Process::getBlockstate()
{
 return ISblocked;
} char Process::getResult(int k)
{
  return runText[k];
} /////////////////////////////////////////////////////////////////////////////////////
首页 上一页 1 2 3 4 5 下一页 尾页
   
打印
编程  网络编程

>> 相关资讯:

上一篇:        下一篇: