Luiz Henrique da Silva Valdenir Trevissan Junior As decisões de escalonamento de CPU podem ocorrer de quatro maneiras: 1. Quando o processo passa do estado de execução para o estado de espera (bloqueado); 2. Quando um processo passa do estado de execução para o estado pronto; 3. Quando um processo passa do estado bloqueado para o estado pronto; 4. Quando um processo termina. Um algoritmo de escalonamento é considerado não preemptivo quando o processador que está sendo usado em algum processo especifico, não pode ser movido até que o processo seja finalizado. Por sua vez, os algoritmos não preemptivos são mais simples e adequados para o processamento não interativo, semelhante aos esquemas de processamento em lote dos sistemas batch. Embora não proporcionando interatividade, são geralmente mais eficientes e previsíveis quanto ao tempo de entrega de suas tarefas. E o preemptivo é quando é possível a mudança do processador durante o processo. O escalonamento preemptivos é mais apropriado em sistemas de multiusuários interativos ou em sistemas de tempo real. Para que o processador seja retirado do processo atual, ele deve interromper o trabalho, e ser designado a outro processo que foi anteriormente interrompido. Essa troca estabelece que o estado do processo em execução seja armazenado adequadamente para posterior recuperação. É mais frequente que os algoritmos preemptivos sejam mais complexos dada a natureza imprevisível dos processos. JANDL JUNIOR, Peter. Notas sobre Sistemas Operacionais. Disponível em: <https://docente.ifrn.edu.br/rodrigotertulino/livros/notas-sobre-sistemasoperacionais>. Acesso em: 27 agosto 2016. HISATUGU, Wiliam Hiroshi. Sistema Operacionais. Disponível: <http://www.oocities.org/whisatugu/so_cap6.pdf>. Acesso em: 27 agosto 2016.