Planificación apropiativa y no apropiativa
Una variante se hizo, haciendo que a todos los proceso se daba 1 quantum y si el proceso consumía todo su Quantum, se le duplicaba la cantidad del tiempo o sea 2 Quantums y así sucesivamente, degradándose a su vez de prioridad, pero a la larga ejecutándose en menos intercambios. No es equitativo.
Pero si el proceso se degradaba y se volvía interactivo con el usuario, digamos con la tecla ENTER, no era correcto dejarlo congelado, por lo que se optó por subirlo de prioridad al detectar una interacción.
De esta forma se iba atendiendo más rápidamente a estos procesos. Todo iba bien hasta que un usuario comentó que cuando presionaba ENTER todo le corría más rápido...
LAS PRIORIDADES EN ALGORITMOS
Este tema da para mucho, pues hay muchas formas de definir la prioridad. La prioridad puede definirse de manera estática o dinámica; interna o externa.
Ejemplos:
* Según categoría del usuario (externa). * Según tipo de proceso: sistema, interactivo, o por lotes; o bien, CPU-bound o I/O bound (interna). * Según cuanto hayan ocupado la CPU hasta el momento (dinámica). * Para evitar que un proceso de baja prioridad sea postergado en demasía, aumentar prioridad mientras más tiempo lleve esperando: aging o envejecimiento (dinámica). * Para evitar que un proceso de alta prioridad ejecute por demasiado tiempo, se puede poner un límite de tiempo, o ir bajando la prioridad.
ALGORITMO AL