En un sistema operativo que soporta más de un proceso a la vez, algún mecanismo debe ser usado para intercalar tareas. Hay dos maneras para hacer este cambio:
- Escalonamiento por Cooperación: indica que una tarea que está siendo ejecutada actualmente dejará voluntariamente en algún momento el procesador y permitirá que otros procesos sean ejecutados.
- Escalonamiento por Prioridades: significa que una tarea corriente será interrumpida y el procesador se dedica a otro proceso en estado de espera.
Escalonamiento (Scheduling)
La decisión de cuál es el próximo proceso que debe ser ejecutado es llamado escalonamiento (scheduling), y puede ser hecho de una gran variedad de maneras. Los escalonamientos por cooperación generalmente son muy simples, ya que los procesos son organizados en una fila circular (ROUND ROBIN). Cuando el proceso actual termina, va hacia el fin de la fila. El proceso que queda primero en la fila es ejecutado, y todos los procesos se mueven un lugar hacia arriba en la fila. Eso provee una medida justa, pero no impide que un proceso monopolice el sistema.
El escalonamiento por prioridad usa un reloj en tiempo real que genera una interrupción a intervalos regulares (digamos, cada 1/100 de un segundo). Cada vez que una interrupción ocurre, el procesador se mueve a otra tarea. Los sistemas operativos que generalmente usan ese tipo de escalonamiento le atribuyen prioridades cada proceso, de tal manera que algunos pueden ser ejecutados más frecuentemente que otros.
No hay comentarios:
Publicar un comentario