What is the difference between preemptive scheduling and non-preemptive scheduling?
What is the issue with the latter?
Answer:
-Pre-emptive scheduling is based on timer interrupts, where a running thread may be interrupted by the OS and switched to the ready state at will (usually if something more important comes through) or when it has exceeded its timing allocation. Non-preemptive scheduling means once a thread is in the running state, it continues until it completes, or at least gives up the CPU voluntarily. Threads that do this are likely to monopolise the CPU.