Os Report Updated
Os Report Updated
varT=arrayP[idx_j];
arrayP[idx_j]=arrayP[idx_j+1];
arrayP[idx_j+1]=varT;
}
}
}
printf("\nprocess\tburstTime\twaitingTime\tturnAroundTime\n");
for(idx_i=0; idx_i<varN; idx_i++)
{
arrayWt[idx_i]=0;
arrayTat[idx_i]=0;
for(idx_j=0; idx_j<idx_i; idx_j++)
{
arrayWt[idx_i]=arrayWt[idx_i]+arrayBt[idx_j];
}
arrayTat[idx_i]=arrayWt[idx_i]+arrayBt[idx_i];
varAwt=varAwt+arrayWt[idx_i];
varAtat=varAtat+arrayTat[idx_i];
printf("%d\t%d\t\t%d\t\t%d\n",arrayP[idx_i],arrayBt[idx_i],array
Wt[idx_i],arrayTat[idx_i]);
}
varAwt=varAwt/varN;
varAtat=varAtat/varN;
printf("\navg waiting-time =%f\n",varAwt);
printf("avg turn-around-time=%f\n",varAtat);
getch();
}
arrayBt[9] = 9999;
int idx_k=0;
for(varTime = 0; varCount != varN; varTime++)
{
varSmallest = 9;
for(idx_i = 0; idx_i < varN; idx_i++)
{
if(arrayAt[idx_i] <= varTime && arrayBt[idx_i] <
arrayBt[varSmallest] && arrayBt[idx_i] > 0)
{
varSmallest = idx_i;
}
}
arrayBt[varSmallest]--;
if(arrayBt[varSmallest] == 0)
{
varCount++;
varEnd = varTime + 1;
varWt = varWt + varEnd - arrayAt[varSmallest] -
arrayTemp[varSmallest];
arrayWt[idx_k] = varWt;
varTat = varTat + varEnd - arrayAt[varSmallest];
arrayTat[idx_k] = varTat;
idx_k++;
}
}
printf("\nprocess\tarrivalTime\tburstTime\twaitingTime\tturnArou
ndTime\n");
for(idx_i=0; idx_i<varN; idx_i++)
{
printf("%d\t%d\t\t%d\t\t%d\t\t%d\n",arrayPr[idx_i],arrayAt[idx_i
],arrayBt[idx_i],arrayWt[idx_i],arrayTat[idx_i]);
}
varT=arrayBt[idx_i];
arrayBt[idx_i]=arrayBt[varPos];
arrayBt[varPos]=varT;
}
arrayWt[0]=0;
printf("\nprocess\tburstTime\tpriority\twaitingTime\tturnAroundT
ime\n");
for(idx_i=0; idx_i<varN; idx_i++)
{
arrayWt[idx_i]=0;
arrayTat[idx_i]=0;
for(idx_j=0; idx_j<idx_i; idx_j++)
{
arrayWt[idx_i]=arrayWt[idx_i]+arrayBt[idx_j];
}
arrayTat[idx_i]=arrayWt[idx_i]+arrayBt[idx_i];
varAwt=varAwt+arrayWt[idx_i];
varAtat=varAtat+arrayTat[idx_i];
printf("%d\t%d\t\t%d\t\t%d\t\t%d\n",idx_i+1,arrayBt[idx_i],array
Pr[idx_i],arrayWt[idx_i],arrayTat[idx_i]);
}
varAwt=varAwt/varN;
varAtat=varAtat/varN;
printf("\navg waiting-time = %f\n",varAwt);
printf("avg turn-around-time = %f\n",varAtat);
getch();
printf("\nprocess\tburstTime\tturnAroundTime\twaitingTime\n");
for(idx_i=0; idx_i<varN; idx_i++)
{
arrayWt[idx_i]=arrayTat[idx_i]-arrayBt[idx_i];
varAwt=varAwt+arrayWt[idx_i];
varAtat=varAtat+arrayTat[idx_i];
printf("%d\t %d\t\t %d\t\t
%d\n",idx_i+1,arrayBt[idx_i],arrayTat[idx_i],arrayWt[idx_i]);
}
varAwt=varAwt/varN;
varAtat=varAtat/varN;
printf("\navg waiting-time = %f",varAwt);
printf("\navg turn-around-time = %f\n",varAtat);
getch();
}
int arrayMax[5][3] = { { 8, 6, 4 },
{ 4, 3, 3 },
{ 10, 1, 3 },
{ 3, 3, 3 },
{ 5, 4, 4 }
};
int arrayAvail[3] = { 3, 3, 2 };
int varFlag = 0;
for (idx_j = 0; idx_j < varM; idx_j++)
{
if (arrayNeed[idx_i][idx_j] >
arrayAvail[idx_j])
{
varFlag = 1;
break;
}
}
if (varFlag == 0)
{
arrayAns[index++] = idx_i;
for (varY = 0; varY < varM; varY++)
arrayAvail[varY] +=
arrayAlloc[idx_i][varY];
arrayF[idx_i] = 1;
}
}
}
}
int varFlag = 1;
if(varFlag==1)
{
printf("safe sequence is\n");
for (idx_i = 0; idx_i < varN - 1; idx_i++)
printf(" p%d ->", arrayAns[idx_i]);
printf(" P%d", arrayAns[varN - 1]);
}
printf("\n");
return 0;
}
#define sizeOfBuffer 10
int varIn=0;
int varOut=0;
int arrayBuffer[sizeOfBuffer];
int varNextProduce=1;
int varNextConsumed;
int funcProducer()
{
while(((varIn+1)%sizeOfBuffer)==varOut)
{
printf("buffer full!\n");
return 0;
}
arrayBuffer[varIn]=varNextProduce;
varIn=(varIn+1)%sizeOfBuffer;
varNextProduce++;
}
int funcConsumer()
{
while(varIn==varOut)
{
printf("buffer empty!\n");
return 0;
}
varNextConsumed=arrayBuffer[varOut];
varOut=(varOut+1)%sizeOfBuffer;
}
int main()
{
int varN, idx_i;
switch(varN)
{
case 1:
funcProducer();
break;
case 2:
funcConsumer();
break;
default:
exit(0);
break;
}
}
return 0;
}
}
int funcSignal(int varS)
{
return(++varS);
}
void funcProducer()
{
varMutex = funcWait(varMutex);
varFull = funcSignal(varFull);
varEmpty = funcWait(varEmpty);
varX++;
printf("\nproducer produces the item %d",varX);
varMutex = funcSignal(varMutex);
}
void funcConsumer()
{
varMutex = funcWait(varMutex);
varFull = funcWait(varFull);
varEmpty = funcSignal(varEmpty);
printf("\nconsumer consumes the item %d",varX);
varX--;
varMutex = funcSignal(varMutex);
}
Name of the experiment: A shell program to find the fibonacci series of a given
number using recursion.
Code:
funcFibonacci()
{
varN=$1
if((varN<=0))
then
echo 0
elif((varN<=1))
then
echo 1
else
echo $(( $(funcFibonacci $((varN-1)) )+$(funcFibonacci $((varN-
2))) ))
fi
}
echo -n "enter no. of terms in fibonacci series: "
read varNum
echo "fibonacci series: "
for((idx_i=0;idx_i<$varNum;idx_i++))
do
echo -n "$(funcFibonacci $idx_i) "
done
Name of the experiment: A shell program to find the fibonacci series of a given
numberwithout using recursion.
Code:
echo "enter n: "
read varN
varA=0
varB=1
echo "fibonacci series .... "
echo $varA
echo $varB
for(( idx_i=2;idx_i<=$varN;idx_i++))
do
varC=$(( varA+varB ))
echo $varC
varA=$varB
varB=$varC
done