1) What is the difference between a preemptive scheduler and a non-preemptive scheduler, and which of the six algorithms we looked at were preemptive? Preemptive scheduling is prioritized by the fact that when a process that is currently running has a lower priority then a task that isn’t running, so the scheduler interrupts the currently running (lower-priority) task for a certain amount of time and is then started going again after the higher-priority task is finished executing. Whereas non-preemptive scheduling is not prioritized, so when the process starts being executed it cannot be interrupted and won’t be removed from the scheduler until the task is done executing.
The main difference between the two is that the preemptive scheduling has the CPU allocated to a task for a certain …show more content…
How is it able to do that?
The feedback algorithm, better known as the multilevel feedback queues, allows the scheduler to change the priority level of the process while it is being executed so it can move the process between queues. It is designed in a way to favor short processes like I/O-intensive processes are stored inside high priority queues whereas the CPU-intensive processes are stored inside low priority queues. The feedback algorithm is very similar in the round-robin algorithm in the way round-robin functions, which round-robin favors shorter processes as well. This is done by each time a process moves down in a FIFO queue after it has been interrupted the scheduler increases the quantum time, which makes the longer processes larger quantum sizes. Which makes shorter processes have smaller quantum sizes and since the larger processes will be continually interrupted since the scheduler will give the shorter tasks higher priority, like I/O-intensive processes, so it will finish the short tasks faster since the longer processes will take a longer time to