}
elsecout<<"Thereisnoprocesscanbeactived!
"<}
}
cout<cout<}
voidrun()
{structPCB*p;
chart;
intj,m,k;
cout<<"Theprocesseswillrunintheorderofko(lowerearlier,higherlater):
\n"<for(j=1,p=pcb;p!
=null;j++,p++)
{if(p[j].ko>p[j+1].ko)
{t=p[j].name;
p[j].name=p[j+1].name;
p[j+1].name=t;
m=p[j].cha;
p[j].cha=p[j+1].cha;
p[j+1].cha=m;
k=p[j].ko;
p[j].ko=p[j+1].ko;
p[j+1].ko=k;
}
}
for(p=pcb,j=1;p!
=null;p++)
{cout<<"Process:
"<
cout<<"\tko:
"<
"<
cout<}
cout<cout<}
voidobserve()
{intj;
for(j=1;j!
=null;j++)
{cout<<"Process:
"<cout<<"\tko:
"<"<cout<}
}
voidexit()
{exit();
}
voidmain()
{inta,k;
for(k=1;k<=10;k++)
{pcb[i].name=0;
pcb[i].ko=0;
pcb[i].cha=0;
}
while
(1){
cout<<"Menu\n\n"<cout<<"1.Creataprocess\n"<cout<<"2.Destroyaprocess\n"<cout<<"3.Blockaprocess\n"<cout<<"4.Wakeupaprocess\n"<cout<<"5.Suspendaprocess\n"<cout<<"6.Activeaprocess\n"<cout<<"7.Observetheprocesses\n"<cout<<"8.Exit\n"<cout<cout<<"\n\nPleaseselecttheitemyouwanttorealize:
"<cin>>a;
cout<<"\n\n"<if(a!
=null)
switch(a)
{case1:
creat();break;
case2:
destroy();break;
case3:
block();break;
case4:
wakeup();break;
case5:
suspend();break;
case6:
active();break;
case7:
observe();break;
case8:
exit();break;
}}
//getch();
}