En los sistemas operativos , el envejecimiento (inglés de EE. UU.) O el envejecimiento es una técnica de programación utilizada para evitar el hambre . 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. Se permite que una tarea con una prioridad alta acceda a un recurso específico del sistema antes de 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 sin recursos cuando se pone 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 elcola 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 en espera de la CPU se puede considerar bloqueado. Un algoritmo de programación de prioridades puede dejar a 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
El envejecimiento se utiliza para garantizar que los trabajos con menor prioridad finalmente completen su ejecución. Esta técnica se puede utilizar para reducir el hambre en 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 mientras espera en la cola de listas. El aumento de prioridad puede ser o no igual al tiempo de espera del proceso.
Ejemplo
Suponga un sistema con un rango de prioridad de 0-512. 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 envejecerá a 0 y se ejecutará.
Referencias
- ^ Silberschatz, Galvin, Principios del sistema operativo de Gagne, 7a ed., P.159
- ^ Programación del procesador - Notas - Sistemas operativos - Ciencias de la computación ahora
^ Silberschatz, Galvin, Principios del sistema operativo de Gagne, 6.a ed., P.162