Project Description:
I have a project and the project is to simulate MLFQ and there are the requirements:
Introduction:
In a multilevel feedback queue scheduling a process moves between queues. The idea is
to separate processes according to the characteristics of their CPU bursts. It uses many
ready queues and associates a different priority with each queue. In this project you are
required to simulate this scheduling method. You assume to have a computer with:
1. A hard disk of size of 10 GB, where 1/5 of this size is used to store the user programs.
2. A RAM of size 192MB, where 32MB is used to store the OS.
3. A CPU.
For the simulation you will generate processes. Each process has: ID, program size in KB
and an expected execution time. In addition, each program should have an ID and state.
You should specify any extra information that is required by the simulation.
1. The memory sizes are uniformly distributed between 16KB and 16384KB
2. The expected execution time is also distributed between 16ut and 512ut.
In general, a multilevel feedback queue is defined by the following parameters:
• The number of queues
• The scheduling algorithm for each queue
• The method used to demote processes to lower priority queues
• The method used to promote processes to a higher priority queue (presumably by
• some form of aging)
• The method used to determine which queue a process will enter.
For this simulation, however, we will let user fix the number of queues all RR with
varying quantum selected by user except the last one which will he FCTS.
Output:
An example of a possible menu is given below. The program should check first for the
validity of the user choice and then respond to the valid choice.
1. The status of a given process i.e.:
a. Executing
b. Waiting for processor
c. CPU time left
2. The number of processes Finished.
3. The number of processes not finished yet.
4. Display the PIDs of the processes in various queues.
5. Terminate the simulation.