What is a process scheduler? State the characteristics of a good process scheduler?
Solution
What is a process scheduler?
The process scheduler is the component of the operating system that is responsible for deciding whether the currently running process should continue running and, if not, which process should run next.
State the characteristics of a good process scheduler?
Be fair |
Give each process a fair share of the CPU, allow each process to run in a reasonable amount of time. |
Be efficient |
Keep the CPU busy all the time. |
Maximize throughput |
Service the largest possible number of jobs in a given amount of time; minimize the amount of time users must wait for their results. |
Minimize response time |
Interactive users should see good performance. |
Be predictable |
A given job should take about the same amount of time to run when run multiple times. This keeps users sane. |
Minimize overhead |
Don’t waste too many resources. Keep scheduling time and context switch time at a minimum. |
Maximize resource use |
Favor processes that will use underutilized resources. There are two motives for this. Most devices are slow compared to cpu operations. We’ll achieve better system throughput by keeping devices busy as often as possible. The second reason is that a process may be holding a key resource and other, possibly more important, processes cannot use it until it is released. Giving the process more cpu time may free up the resource quicker. |
Avoid indefinite postponement |
Every process should get a chance to run eventually. |
Enforce priorities |
If the scheduler allows a process to be assigned a priority, it should be meaningful and enforced. |
Degrade gracefully |
As the system becomes more heavily loaded, performance should deteriorate gradually, not abruptly. |
--
Answered both questions
if you have any doubt, please mention it, love to help
all the best
please upvote
Get Answers For Free
Most questions answered within 1 hours.