Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Multi - Level Feedback Implement the Multi - Level Feedback Queue ( MLFQ ) scheduling algorithm and calculate the average waiting time and turnaround time
MultiLevel Feedback
Implement the MultiLevel Feedback Queue MLFQ scheduling algorithm and calculate the average waiting time and turnaround time for a set of processes by:
Defining Process and Queue Structures:
Create a Process structure to store necessary information for each process, such as process ID duration, remaining time, waiting time, and turnaround time.
Create a Queue structure to represent a queue in the MLFQ which holds processes, has a front and rear indicator, and a time quantum associated with it
Initializing Queues:
Implement a function to initialize your queues with appropriate time quanta. For example, a highpriority queue might have a smaller time quantum, and a lowpriority queue might have a larger time quantum.
Gathering Input:
Prompt the user to enter the number of processes.
For each process, ask the user to input the process ID and its duration.
Initialize the remaining time for each process and enqueue them to the highpriority queue.
MLFQ Implementation:
Implement the MLFQ scheduling algorithm. Processes start in the highpriority queue and move to lowerpriority queues if they do not finish within their time quantum.
Ensure that you update the waiting time, turnaround time, and remaining time for each process as they are scheduled and executed.
Print informative messages to show the state of the system, such as when a process is running, when it is moved to a different queue, and when it finishes execution.
Calculating Averages and Displaying Results:
After all processes have finished execution, calculate the average waiting time and average turnaround time.
Display the waiting time, turnaround time, and other relevant information for each process.
Present the calculated averages to the user.
Testing Your Implementation:
Test your implementation with various sets of processes and time quanta to ensure that it behaves as expected.
You can use the provided example to verify the correctness of your implementation.
Example Input:
Example Output:
Process is running in high priority queue
Process finished execution
Process is running in high priority queue
Process is rescheduled with remaining time
Process is running in high priority queue
Process is rescheduled with remaining time
Process is running in medium priority queue
Process is rescheduled with remaining time
Process is running in medium priority queue
Process is rescheduled with remaining time
Process is running in low priority queue
Process is rescheduled with remaining time
Process is running in low priority queue
Process is rescheduled with remaining time
Process is running in low priority queue
Process finished execution
Process is running in low priority queue
Process is rescheduled with remaining time
Process is running in low priority queue
Process finished execution
Process Duration Waiting Time Turnaround Time
Average Waiting Time:
Average Turnaround Time:
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started