Skip to main content

Section 2.4 MLFQ Scheduling

Start by reading the MLFQ Scheduling chapter section 8.1.

Practice 2.4.1.

If we have a multi-level feedback queue scheduler with two queues, a high priority one (H) and lower priority one (L). Which of the following might allow a job that is in the L queue to execute?
  • Nothing special needed, all jobs will get a chance to run, similar to a round-robin approach.
  • There are no jobs in the H queue.
  • There are jobs in the H queue but some are currently blocked waiting for I/O.
  • There are jobs in the H queue and all are currently blocked waiting for I/O.
Read section 8.2, which describes a first attempt at deciding how when to change the priority of processes.

Practice 2.4.2.

What does a process’ allotment represent?
  • The maximum amount of time that the process is allowed to run for.
  • The amount of time that the process is allowed to run at a given priority level for before we lower its priority.
  • The importance of the process to the system.
  • The amount of memory the process is allocated.

Practice 2.4.3.

    True or False: With the rules as stated up to the end of section 8.2, a process that starts at a priority queue can never move to a higher priority queue.
  • True.

  • False.

Practice 2.4.4.

    True or False: The higher priority queues are intended for processes that need more of the CPU’s time.
  • True.

  • False.

Practice 2.4.5.

    True or False: The higher priority queues are intended for interactive processes that block a lot but need to respond to users.
  • True.

  • False.

Practice 2.4.6.

What is the problem of starvation in CPU scheduling?
  • If there are too many processes, there might not be enough memory available for a process.
  • If there are too many processes of higher priority, a process may not get to run at all (or get extremely little time).
  • It is the situation when multiple processes try to run at the same time.
Read section 8.3, about the next attempt at adjusting process priority, and the so-called priority boost.

Practice 2.4.7.

What happens during the priority boost
  • All the processes in the system move to the next highest priority queue from the one they are in.
  • A random process from a lower priority queue is moved to the topmost queue.
  • All processes move to the highest priority queue.
Read section 8.4, about the improved approach to deciding when to change process priority.
Read sections 8.5 and 8.6. Make sure to put together the 5 rules that make the MLFQ system, and digest what each of them does (and why they are all important).