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

📄 进程管理.cpp

📁 C++编写的一个操作系统程序进程管理
💻 CPP
字号:
#include<iostream.h> 
#include<conio.h> 
#include<assert.h> 
class queue; 
class node{ 
friend class queue; 
private: 
int data; 
char px; 
node *link; 
node(int d=0,int p=0,node *l=NULL):data(d),px(p),link(l){} 
}; 
class queue{ 
public: 
queue():rear(NULL),front(NULL){} 
~queue(); 
void create(int a,char b); 
int dequeue(); 
void view(); 
void infront(int a,char b); 
int isempty()const{return front==NULL;} 
private: 
node *front;node *rear; 
}; 

queue::~queue(){ 
node* p; 
while(front!=NULL){ 
p=front;front=front->link;delete p; 
} 
} 
void queue::create(int a,char b){ 
            
if(front==NULL)front=rear=new node(a,b,NULL); 
else rear=rear->link=new node(a,b,NULL); 
} 
int queue::dequeue(){ 
assert(!isempty()); 
node *p=front; 
int value=p->data; 
front=front->link; 
delete p;return value; 
} 
void queue::view(){ 
node *p;p=front; 
while(p!=NULL){cout<<"进程"<<p->data<<",进程状态"<<p->px<<"     ";p=p->link;} 
} 
    void queue::infront(int a,char b){ 
node*p=front;p->link=front->link;front=new node(a,b,p);} 

void main(){ 
queue A; 
queue B; 
queue C; 
cout<<"************************进程程序演示***********************************"<<endl;
do{
cout<<"请选择1:create()  2:delete()  3:diaodu()  4:block()  5:wakeup()  6:view()"<<endl; 
int n;cin>>n;

switch(n)
{
case 1:
	{ int j;int m;int g; 
      cout<<"请输入你需要建立e-excute结点的个数"<<endl;cin>>j; 
      for(int i=1;i<=j;i++){A.create(i,'e');} 
      cout<<"请输入你需要建立r-ready结点的个数"<<endl;cin>>m; 
      for( i=j+1;i<=j+m;i++){B.create(i,'r');} 
      cout<<"请输入你需要建立b-block结点的个数"<<endl;cin>>g; 
      for( i=j+m+1;i<=j+m+g;i++){C.create(i,'b');};}
   break;
case 2:
	{C.dequeue();}break;
case 3:
	{int a=A.dequeue();B.create(a,'r'); int b=B.dequeue();A.create(b,'e');}break;
case 4:
	{int a=A.dequeue();C.create(a,'b'); int b=B.dequeue();A.create(b,'e');}break;
case 5:
    {int a=C.dequeue();B.infront(a,'b');}break;
case 6:
	{cout<<"3条进程队列显示"<<endl; 
	A.view();cout<<endl;B.view();cout<<endl;C.view();cout<<endl;}
}
}while(1);
getch(); 
} 

⌨️ 快捷键说明

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