Preemció

El concepte de preemció, en computació, fa referència al mecanisme pel qual una tasca en execució pot ser interrompuda en arribar-ne una de més prioritària.

Funcionament

El planificador de processos d'un sistema operatiu amb preemció, manté una cua amb totes les tasques pendents ordenades segons les seves prioritats. Les tasques més prioritàries s'afegeixen als llocs preferents de la cua per ser executades abans. No obstant, si durant l'execució d'una d'aquestes tasques el planificador detecta que una de més prioritària està preparada per executar-se, llavors es produeix una interrupció que desallotja la tasca actual (tot guardant-ne l'estat per poder resumir-la més endavant) i es passa a executar la nova tasca que ha generat la interrupció, un cop finalitzada es continuaran executant o resumint les tasques pendents segons la cua de processos, sempre que no es produeixin noves interrupcions.

Diferència amb sistemes no-preemtius [1]

El sistemes preemtius tenen prioritats, i la tasca més prioritària és la que ha d'estar sempre en execució (exemple d'algorisme planificador: Round Robin), mentre que en sistemes no-preemtius les tasques s'executen en ordre i un cop s'inicia l'execució, aquesta continua fins a acabar (ex.: FIFO).

Referències

  1. «What is pre-emptive and non-preemptive scheduling?».

Bibliografia

  • The Control Handbook editat per William S. Levine, 1996.
  • Non-Preemptive and Preemptive Threads, Prof. Margaret Martonosi (Computer Science Department, Princeton University)