viernes, 6 de noviembre de 2009

3.3.5 HIGHEST RESPONSE RATIO NEXT (HRN)

Algoritmo apropiativo parecido al SRT consistente en calcular el Reponse Ratio (Ratio de respuesta) para asignar la CPU a procesos más viejos. (Para evitar la inanición).
Características:

•Es muy productivo pero se sobrecarga el sistema.

•Ofrece un buen tiempo de respuesta.

•Equilibra los procesos, aunque da prioridad a los procesos más cortos.

•Evita la inanición (los procesos que envejecen serán ejecutados).

Las prioridades, que son dinámicas, se calculan según la siguiente fórmula, donde pr es la “prioridad”, te es el “tiempo de espera” y ts es el “tiempo de servicio”:
•Elige proceso listo con valor mayor de R
•Tiene en cuenta edad del proceso
•Debe estimarse el tiempo se servicio previamente: en base a historia pasada o valor dado por usuario o administrador.
•R= w + s
S
R= tasa de respuesta
w= tiempo consumido esperando al procesador
s = tiempo de servicio esperado

Que corrige algunas deficiencias de SJF, particularmente el retraso excesivo de trabajos largos y el favoritismo excesivo para los trabajos cortos. HRN es un disciplina de planificación no apropiativa en la cual la prioridad de cada proceso no sólo se calcula en función del tiempo de servicio, sino también del tiempo que ha esperado para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las prioridades dinámicas en HRN se calculan de acuerdo con la siguiente expresión: Prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio Como el tiempo de servicio aparece en el denominador, los procesos cortos tendrán preferencia. Pero como el tiempo de espera aparece en el numerador, los procesos largos que han esperado también tendrán un trato favorable. Obsérvese que la suma tiempo de espera + tiempo de servicio es el tiempo de respuesta del sistema para el proceso si éste se inicia de inmediato.

Para cada proceso, basado en el tiempo que va a ocupar el procesador(s) y el tiempo que lleva esperando para ocuparlo (w), Se calcula w+s/s, una vez hecho esto el proceso que tenga un valor mayor será asignado al procesador. Este algoritmo es bastante bueno, porque además de dar preferencia a los procesos cortos también tiene en cuenta el envejecimiento de los procesos para evitar así la “inanición”. Cuando el proceso actual termina o se bloquea, se elige el proceso listo con un mayor valor de R.

No hay comentarios:

Publicar un comentario