stringtranslate.com

Envejecimiento (programación)

En informática para sistemas operativos , envejecimiento (inglés estadounidense) o envejecimiento es una técnica de programación utilizada para evitar la inanición . La programación de prioridad fija es una disciplina de programación en la que a las tareas en cola para utilizar un recurso del sistema se les asigna una prioridad a cada una. Una tarea con una prioridad alta puede acceder a un recurso específico del sistema antes que una tarea con una prioridad más baja pueda hacer lo mismo. Una desventaja de este enfoque es que las tareas asignadas con una prioridad más baja pueden quedar privadas de recursos cuando hay en cola una gran cantidad de tareas de alta prioridad. El envejecimiento se utiliza para aumentar gradualmente la prioridad de una tarea, en función de su tiempo de espera en la cola lista .

Problema

En los algoritmos de programación basados ​​en prioridades , un problema importante es el bloqueo indefinido o la inanición . Un proceso que está listo para ejecutarse pero esperando la CPU puede considerarse bloqueado. Un algoritmo de programación de prioridades puede dejar algunos procesos de baja prioridad esperando indefinidamente. Un flujo constante de procesos de mayor prioridad puede evitar que un proceso de baja prioridad obtenga la CPU. [1]

Solicitud

La antigüedad se utiliza para garantizar que los trabajos con menor prioridad eventualmente completen su ejecución. Esta técnica se puede utilizar para reducir la inanición de tareas de baja prioridad. [2] Hay muchas formas de implementar el envejecimiento, pero todas tienen el mismo principio de que la prioridad de un proceso debe aumentar a medida que espera en la cola de listos. El aumento de prioridad puede ser igual o no al tiempo de espera del proceso.

Ejemplo

Supongamos un sistema con un rango de prioridad de 0-511. En este sistema, 0 significa máxima prioridad. Considere un proceso con prioridad 127. Si aumentamos su prioridad en 1 cada 15 minutos, en más de 32 horas el proceso pasará a tener prioridad 0 y se ejecutará.

Referencias

  1. ^ Silberschatz, Galvin, Principios del sistema operativo Gagne , 7.ª ed., p.159
  2. ^ Programación del procesador - Notas - Sistemas operativos - Computer Science Now


^ Silberschatz, Galvin, Principios del sistema operativo Gagne, 6.ª ed., p.162