Pregunta

En un planificador round-robin, la adición de un proceso varias veces a la lista de procesos es una forma barata de darle más prioridad.

Me pregunto cómo un enfoque práctico sería esta. ¿Qué beneficio ¿tiene sobre otras técnicas tales como dar el proceso un tiempo de rebanada más largo (beneficio: menos tiempo de conmutación) o el mantenimiento de una lista separada de procesos de alta prioridad. En particular, ¿cómo funciona la lista un proceso varias veces influencia equidad y reactividad?

(From ejercicio 2.16 de Andrew Tanenbaum de Sistemas operativos:. Diseño e implementación 1st ed)

¿Fue útil?

Solución

La ventaja de este enfoque es que la programación de ronda robin es muy eficiente, por lo que no es necesario depender de un programador más compleja, lo que robar ciclos. La introducción de intervalos de tiempo más largos para los procesos de prioridad superior disminuiría la capacidad de respuesta de otros hilos y hacer más difícil para el sistema operativo para saltar en que lidiar con una interrupción y así sucesivamente. Mantener listas separadas de procesos requeriría un planificador mucho más complejo, lo que sería más costoso en términos de ciclos. No veo cómo no habría ningún problema con imparcialidad, sin embargo. Supongo que el problema es que la granularidad es bastante claro: los procesos sólo pueden tener múltiplos enteros de la fracción de tiempo básica

.

Un punto negativo es que la eliminación de un proceso sería más costosa, ya que cada ocurrencia del proceso tendría que ser eliminado de la cola. Tal vez esto se puede hacer con pereza, sin embargo.

Otros consejos

La adición de la tarea a una cola de programación de round-robin varias veces abre el problema de garantizar que las entradas permanecen razonablemente evently distribuidos. Esto es fácil de asegurarse de si el sistema no permite la creación de tareas dinámico o eliminación, pero no es posible en general.

Además del más complejo proceso de eliminación de los elementos de la cola, la eventual inclinación de las entradas de proceso en la cola va a resultar en un comportamiento desequilibrado que es más fácil hacer justo con múltiples niveles de prioridad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top