Question

In: Computer Science

can you please do this question? i need the result asap. show the output as well...

can you please do this question? i need the result asap. show the output as well

Write a program that will simulate non - preemptive process scheduling algorithm:

First Come – First Serve

Your program should input the information necessary for the calculation of average turnaround time including:

  • Time required for a job execution;
  • Arrival time;

The output of the program should include: starting and terminating time for each job, turnaround time for each job, average turnaround time.

Step 1: generate the input data (totally 10 jobs) and save it in the array of structure composing the arrival time, service time, termination time, turnaround time. The service time follows the uniform distribution in the range of [5, 25], and the arrival time is generated by uniform distribution in the range of [0,10] accumulated based on the previous arrival time.

Step 2: program FCFS algorithm.

Note: be careful about the situation that one job is finished while the next job is not arrived yet, so you have the idle time between them.

Step 3: output

print out one line for each job with arrival time, start time, service, termination time, turnaround time, finally average turnaround time in the last line.

Solutions

Expert Solution

// C++ program for implementation of FCFS
// scheduling with different arrival time
#include<iostream>
using namespace std;

// Function to find the waiting time for all
// processes
void findWaitingTime(int processes[], int n, int bt[],
                               int wt[], int at[])
{
   int service_time[n];
   service_time[0] = 0;
   wt[0] = 0;

   // calculating waiting time
   for (int i = 1; i < n ; i++)
   {
       // Add burst time of previous processes
       service_time[i] = service_time[i-1] + bt[i-1];

       // Find waiting time for current process =
       // sum - at[i]
       wt[i] = service_time[i] - at[i];

       // If waiting time for a process is in negative
       // that means it is already in the ready queue
       // before CPU becomes idle so its waiting time is 0
       if (wt[i] < 0)
           wt[i] = 0;
   }
}

// Function to calculate turn around time
void findTurnAroundTime(int processes[], int n, int bt[],
                                   int wt[], int tat[])
{
   // Calculating turnaround time by adding bt[i] + wt[i]
   for (int i = 0; i < n ; i++)
       tat[i] = bt[i] + wt[i];
}

// Function to calculate average waiting and turn-around
// times.
void findavgTime(int processes[], int n, int bt[], int at[])
{
   int wt[n], tat[n];

   // Function to find waiting time of all processes
   findWaitingTime(processes, n, bt, wt, at);

   // Function to find turn around time for all processes
   findTurnAroundTime(processes, n, bt, wt, tat);

   // Display processes along with all details
   cout << "Processes " << " Burst Time " << " Arrival Time "
       << " Waiting Time " << " Turn-Around Time "
       << " Completion Time \n";
   int total_wt = 0, total_tat = 0;
   for (int i = 0 ; i < n ; i++)
   {
       total_wt = total_wt + wt[i];
       total_tat = total_tat + tat[i];
       int compl_time = tat[i] + at[i];
       cout << " " << i+1 << "\t\t" << bt[i] << "\t\t"
           << at[i] << "\t\t" << wt[i] << "\t\t "
           << tat[i] << "\t\t " << compl_time << endl;
   }

   cout << "Average waiting time = "
       << (float)total_wt / (float)n;
   cout << "\nAverage turn around time = "
       << (float)total_tat / (float)n;
}

// Driver code
int main()
{
   // Process id's
   int processes[] = {1, 2, 3};
   int n = sizeof processes / sizeof processes[0];

   // Burst time of all processes
   int burst_time[] = {5, 9, 6};

   // Arrival time of all processes
   int arrival_time[] = {0, 3, 6};

   findavgTime(processes, n, burst_time, arrival_time);

   return 0;
}
output:

Processes  Burst Time  Arrival Time  Waiting Time  Turn-Around Time  Completion Time 
 1              5               0               0                5               5
 2              9               3               2                11              14
 3              6               6               8                14              20
Average waiting time = 3.33333
Average turn around time = 10

Related Solutions

Can you guys answer this question for me please, need it asap!!! Please explain the difference...
Can you guys answer this question for me please, need it asap!!! Please explain the difference between systematic and unsystematic risk. In doing so, provide 4 examples of each type of risk. ( around ~200 words)
please, I need it with 30 minutes . can someone solve this ASAP and post ,...
please, I need it with 30 minutes . can someone solve this ASAP and post , I really appreciate. 4. "Machine A has an immediate cost of $15,000, and it will earn a net income of $4300 per year for a total of 7 years. Machine B has an immediate cost of $17,000, and it will earn a net income of $4400 per year for a total of 35 years. Assume that Machine A can continually be replaced at the...
I need this computer typed so I can read it and explained ASAP please!!! In Vienna,...
I need this computer typed so I can read it and explained ASAP please!!! In Vienna, Eliud Kipchoge became the first athlete to run a marathon in less than two hours. Kipchoge wore a special type of shoe developed by Nike called Vaporfly that is different than all previous running shoes. It has a much thicker midsole and has a layer of carbon fiber to bounce back as much energy as possible. Nike engineers claim that Vaporfly is significantly faster...
(Answer as much as you can, I can post the rest if need be, PLEASE SHOW...
(Answer as much as you can, I can post the rest if need be, PLEASE SHOW WORK, DONT USE EXCEL thanks!!) All bonds are semi-annual.  All yield measures are stated as annual percentage rates. 1.         Suppose you buy a 10 year 9% bond that has a YTM of 11%.  What is the price of the bond? 2.         Suppose you buy a 30 year 7% bond that has a YTM of 7.5%.  What is the price of the bond? 3.         What is the YTM of a 7.5...
Please answer this question ASAP an explain in detail. I really need it before the night...
Please answer this question ASAP an explain in detail. I really need it before the night is over. a) Explain what a catalytic process is and how it is different from the non-catalytic version of the process. Give an example of an enzymatic process other than amylase and describe the substrate(s)/product(s): b) Describe what the enzyme amylase does and what would happen in the absence of this enzyme:
i need a conclusion for my paper on ADHD. I need this asap please have to...
i need a conclusion for my paper on ADHD. I need this asap please have to turn my paper in one hour!!!! thank you            In the recent times, ADHD is being seen in the light of cerebral dysfunction with too much focus on clinical treatment using medication at the same time keeping psychotherapy at bay which shows a dangerous trend. Psychotherapy even though cannot explain the cause of the condition, but it can help the children in coping his...
I need this computer typed so I can read it, and please show work. thanks! You...
I need this computer typed so I can read it, and please show work. thanks! You purchase an ABC 10%, 30 Year bond with a $100 face value for 109.72 What is the yield to maturity of the bond? What is the current yield on the bond? What is the duration of the bond? If you bought the bond today and sold it after 1 year at a YTM of 10% what is your cash flow yield? What is your...
To whoever answers this question can you do it on paper step by step? I need...
To whoever answers this question can you do it on paper step by step? I need a better understanding on how to solve this problem. The following equation is the sample regression line and numbers in the parentheses are the standard errors for coefficients. ?̂ = 5.40 + 3.74 ∗ X ,? 2 = 0.26, ??? = 6.2 (3.1) (2.0) (a) Interpret the meaning of ?0 and ?1. (b)Construct the Z statistics to calculate the P-value to test the ?0:...
Can you please do this in C asap. Promise to leave a awesome rating! Thank you...
Can you please do this in C asap. Promise to leave a awesome rating! Thank you in advance. Question and template below Instructions- LINKED LIST In C 'objects' => structs (struct - collection of data, not methods) Linked List Collection of objects which are all connected to each other Each Object 'points' to the next item in the list Node (struct) ' O ' - data - nextNode Our linked list will store data(structs containing integers) in order from smallest...
Please show how you got the answers so that I can learn how to do this!...
Please show how you got the answers so that I can learn how to do this! 200.00mL of 2.00 M solution of a weak acid is mixed with 300.00 mL of a 2.00 M solution containing its conjugate base. 50.000 g of the slightly soluble salt silver acetate (AgC2H3O2) is added to this buffer solution. After thorough mixing, the solution is assumed to be saturated. To determine the amount of the solid which remains undissolved, the solution is filtered, and...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT