Sistemas operativos modernos

Para tomar sus decisiones, el calendarizador de memoria revisa en forma periódica cada uno de los procesos que están en disco para decidir si io pasará o no a la memoria. Entre los criterios que puede utilizar para tomar su decisión están los siguientes: 1. ¿Cuánto hace que el proceso se intercambió a disco? 2. ¿Cuánto tiempo de CPU ha tenido el proceso recientemente? 3. ¿Qué tan grande es el proceso? (Los pequeños no estorban.) 4. ¿Qué tan importante es el proceso? El tercer nivel de calendarización consiste en decidir cuál de los procesos listos que están en la memoria principal se ejecutará a continuación. Este componente se conoce como calen­ darizador de CPU, y es al que la gente suele referirse cuando habla del “calendarizador”. Aquí puede utilizarse cualquier algoritmo apropiado, sea expropiativo o no. Esto incluye los que ya describimos y varios más que describiremos en la siguiente sección. 2.5.3 Calendarización en sistemas interactivos Ahora examinaremos algunos algoritmos que se pueden aplicar en sistemas interactivos. Todos ellos también pueden usarse como calendarizador de CPU en los sistemas por lotes. Aunque aquí no es posible tener calendarización de tres niveles, es posible, e incluso común, uno de dos niveles (calendarizador de memoria y calendarizador de CPU). A continuación nos concen­ traremos en el calendarizador de CPU. Calendarización por turno circular Veamos algunos algoritmos de calendarización específicos. Uno de los más antiguos, sencillos, equitativos y ampliamente utilizados es el tumo circular (round-robin). A cada proceso se le asigna un intervalo de tiempo, llamado cuanto, durante el que se le permitirá ejecutarse. Si al término del cuanto el proceso se sigue ejecutando, se le expropia la CPU para asignársela a otro proceso. Claro que si el proceso se bloquea o termina antes de expirar el cuanto, la conmuta­ ción de la CPU se efectúa en ese momento. La implementación del tumo circular es sencilla. Lo único que necesita hacer el calendarizador es mantener una lista de procesos ejecutables, como se muestra en la figura 2-4la. Cuando un proceso consume su cuanto, se le coloca al final de la lista, como se muestra en la figura 2-4Ib. La única cuesfión interesante en el tumo circular es la magnitud del cuanto. Conmutar de un proceso a otro requiere cierto fiempo para realizar las labores administrativas: guardar y car­ gar registros y mapas de memoria, actualizar diversas tablas y listas, vaciar a disco y cargar el caché de memoria, etc. Supongamos que esta conmutación de procesos o conmutación de contextos, como también se le conoce, tarda 1 ms e incluye la conmutación de mapas de me­ moria, vaciar a disco y cargar el caché, etc. Asimismo, supongamos que se escoge un cuanto de 4 ms. Con estos parámetros, después de realizar 4 ms de trabajo úfil, ia CPU tendrá que gas

RkJQdWJsaXNoZXIy MjI4NDcx