Pre-Emptive Vs Non-Pre-Emptive
1. PE allocates processes limited time to CPU, but NPE allocates CPU to process until it terminates/switches to waiting
2. Processes can be interrupted when higher priority tasks arrive in PE, but in NPE this does not happen
3. PE includes overhead of switching between processes + maintaining ready queue, NPE does not have any overhead
4. Lower priority processes may starve in PE if high priority processes arrive frequently. Processes with larger burst times may cause those with small burst times to starve in NPE
5. PE has flexibility by allowing critical processes to access CPU regardless of arrival order. NPE is rigid - critical processes cannot interrupt the current one.
6. PE must maintain integrity of any shared data, NPE is not cost associative.