www.pudn.com > 进程调度111.rar > jcdd.cpp


#include 
#include 
#define max 3 
struct pub{ 
	int flag; 
	char *ch; 
	int status; 
	int count; 
	pub *next; 
} *run,*head,*tail; 
int a[100]; 
char *name[100]; 
int  countn; 
void creat(int); 
void schel(pub *); 
void main() 
{ 
	int n; 
	pub *t; 
	head=tail=NULL; 
	cout<<"请输入需要创建的进程个数n"<>n; 
	countn=n; 
	cout<<"请输入所创建的进程名和所需时间片:"<>name[i]; 
		cin>>a[i]; 
	} 
	creat(n); 
	t=head; 
	while(head) 
	{ 
		cout<ch<<" "; 
		head=head->next; 
	} 
	cout<max) 
	{ 
		cout<<"进程控制块数量不足,后面进程的执行需要等待进程控制块释放"<ch=name[i]; 
		p->count=a[i]; 
		if(head==NULL) 
		{ 
			head=p; 
			tail=p; 
		} 
		else { 
				p->next=NULL; 
				tail->next=p; 
				tail=p; 
		} 
		tail->status=0; 
		tail->flag=i; 
	} 
} 
void schel(pub *pb) 
{ 
	int i=countn-max-1; 
	int j=1; 
	cout<<"系统按时间片为2的速度开始调度"<next; 
		run->status=1; 
		run->count=run->count-2; 
		run->next=NULL; 
		cout<<"当前执行进程是---"<ch<status=0; 
		if(run->count>0) 
		{ 
			run->next=NULL; 
			tail->next=run; 
			tail=run; 
		} 
		else { 
				if((countn-j)>=3) 
				{ 
					cout<<"进程"<count=a[countn-i]; 
					p->ch=name[countn-i]; 
					p->next=NULL; 
					tail->next=p; 
					tail=tail->next; 
					i=i-1; 
					j=j+1; 
					 
				} 
		} 
	} 
}