Question: This assignment requires you to create simulations for different scheduling algorithms commonly employed by operating systems to achieve multiprogramming. All problems in this assignment assume

This assignment requires you to create simulations for different scheduling algorithms commonly employed by operating systems to achieve multiprogramming. All problems in this assignment assume the following:

  • The simulations you will be creating are for a uniprocessor system (single CPU).
  • Processes in these simulations will require CPU bursts of one or more time units followed by I/O bursts of one or more time units. For simplicitys sake, when more than one process is executing its I/O burst at the same time, we will assume that the I/O bursts are using separate resources on the system and are not competing; there is no need to simulate processes waiting in an I/O queue for these simulations.

Assume you have four processes with the following attributes:

Process

Arrival Time

CPU Burst

I/O Burst

Total CPU Time

A

0

5

4

10

B

2

1

3

5

C

6

3

2

12

D

11

2

1

8

Perform a scheduling simulation for these four processes in the manner we covered in class, using the following algorithms:

  1. First Come, First Served (FCFS)
  2. Round Robin with Time Slice = 1
  3. Round Robin with Time Slice = 3
  4. Shortest Job (CPU Burst Time) First (no pre-emption, as we covered in class)

For each simulation, if multiple processes would be placed into the ready queue at the same time, give the highest priority to a newly arriving process; the next highest priority to a process completing its blocked wait time (if two are unblocked at the same time, prefer the one that waited the longest); and finally, the lowest priority to a process that has just finished its time slice.

For each of the four simulations, you must submit the following items listed below:

  • A timeline of the simulation (you may draw these by hand and scan/photograph them, or create them electronically using a word processor or graphics program)
  • Calculate the turnaround time, queue waiting time, and response time for each process
  • Calculate the average turnaround time, average queue waiting time, and average response time among all processes
  • Calculate the percentage of idle time for the CPU overall
  • Calculate the number of context switches involved (including whole and half context switches)

Finally, write a brief summary indicating which scheduling algorithm you think performed the best for this set of processes and give reasons supporting your opinion. Please do not neglect to write this summary and submit it with your simulations; you will lose points if the summary is not included with your assignment submission.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!