Process Control Block Program

Page 1

THE UNIVERSITY OF DODOMA

College Of Informatics and Virtual Education

NAME: Makame Hamza Makame REGISTRATION NO: T/UDOM/2010/00410 PROGRAM: B Sc. Computer and Information Security

ASSIGNMENT NO. 2

COURSE NAME: Operating Systems COURSE CODE: CS 203 COUSE INSTRUCTOR: Dr. Msele

Question: Write a C++ program to implement Process Control Block (PCB).

Tuesday, April 03, 2012


#include<iostream.h> #include<conio.h> #include<cstring.h> void main(){

int ProcessID[5]; float ExecutionContext[5]; float time=0; float Ptime[5]={4,6,7,3,8}; float Stime[5]={0,-2,-3,-4,-1}; float r; string State[5]; int *ptr[5]; //int ParentPointer cout<<"\t\t\t\tPROCESS CONTRO BLOCK" <<endl<<endl; for(int s=1;s<5;s++){ cout<<"Add Time To Elapse"; cin>>time;

r=( rand()%6); for(int i=0; i<5; i++){

ProcessID[i]=100+i; ExecutionContext[i]=((((time)+(Stime[i]))/Ptime[i])*100);

ptr[i]=&ProcessID[i];

if(r==i) {State[i]="Running";}

Tuesday, April 03, 2012


else if(ExecutionContext[i]>100) {State[i]="Exited";} else if(ExecutionContext[i]>40 && ExecutionContext[i]<60) {State[i]="Blocked"; } else {State[i]="Ready"; }

} cout<<"\tPROCESS ID " <<"\tSTATE" <<"\t\tEXECUTION CONTEXT" <<"\tPARENT POITER" <<endl; for(int m=0;m<5;m++){ if(State[m]!="Exited"){ if(ExecutionContext[m]<=0)ExecutionContext[m]=0; cout.precision(3); cout<<"\t"<<ProcessID[m] <<"\t\t"<<State[m] <<"\t\t" <<ExecutionContext[m] <<"%"<<"\t\t\t" <<ptr[m] <<endl; } }

cout<<endl<<endl;

} getch(); }

Tuesday, April 03, 2012


OUT PUT

Tuesday, April 03, 2012


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.