viernes, 7 de febrero de 2014

Planificación de procesos

El Planificador

El elemento fundamental de un SOTR es el planificador. Este, básicamente, controla el estado de las tareas y decide qué tarea pasará a ejecutarse. 

Tenemos que tener en cuenta que las tareas en el sistema no pueden bloquear otras tareas, además una tarea bloqueada nunca tomará el procesador


Para conseguir la portabilidad de las aplicaciones puede ser necesario especificar la política de planificación.


  • SCHED_FIFO: Política de planificación expulsiva basada en prioridades fijas y un comportamiento FIFO para las tareas con la misma prioridad.
  • SCHED_RR: Igual que en el caso anterior pero se emplea la política Round-Robin para procesos de igual prioridad.
  • SCHED_OTHER: Definida por la implementación.

#include <sched.h>

int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param);



int sched_getscheduler(pid_t pid);

int sched_setparam(pid_t pid, const struct sched_param *param); int sched_getparam(pid_t pid, struct sched_param *param);

int sched_get_priority_max(int policy); 
int sched_get_priority_min(int policy);

int sched_yield(void);



No hay comentarios:

Publicar un comentario