Sistemas operativos modernos
objeción para su uso en los sistemas multimedia, y producen un mejor desempeño que los no ex propiables. Lo único que debe preocupamos es que si un búfer de ü'ansmisión se está llenando en ráfagas pequeñas, ya esté lleno por completo cuando se llegue el plazo, para poder enviarlo al usua rio con una sola operación. Si no se hace así, podría haber inestabilidad de la imagen. Los algoritmos de tiempo real pueden ser estáticos o dinámicos. Los algoritmos estáticos asignan a cada proceso una prioridad fija por adelantado, y luego efectúan calendarización ex propiativa jerárquica utilizando esas prioridades. Los algoritmos dinámicos no tienen priorida des fijas. A continuación estudiaremos un ejemplo de cada tipo. 7.4.3 Calendarización de tasa monotónica El algoritmo de calendarización estático de tiempo real clásico para procesos periódicos expro piables es la calendarización de tasa monotónica (RMS; Rate Monotonic Scheduling) (Liu y Layland, 1973), y puede utilizarse con procesos que cumplan las siguientes condiciones: 1. Cada proceso periódico debe terminar dentro de su periodo. 2. Ningún proceso depende de otro. 3. Cada proceso necesita el mismo tiempo de CPU en cada ráfaga. 4. Los procesos no periódicos, si los hay, no tienen plazos. 5. La expropiación de procesos es instantánea y no requiere procesamiento adicional. Las primeras cuatro condiciones son razonables. La última no lo es, desde luego, pero facilita mucho el modelado. RMS opera asignando a cada proceso una prioridad fija igual a la frecuen cia con que se presenta el suceso que lo dispara. Por ejemplo, a un proceso que debe ejecutar se cada 30 ms (33 veces/s) se le asigna la prioridad 33, a un proceso que debe ejecutarse cada 40 ms (25 veces/s) se le asigna la prioridad 25 y a un proceso que debe ejecutarse cada 50 ms (20 veces/s) se le asigna la prioridad 20. Así pues, las prioridades son lineales respecto a la ta sa (número de veces que se ejecuta el proceso por segundo). Por eso el algoritmo se caracteriza como de tasa monotónica. En el momento de la ejecución, el calendarizador siempre escoge el pro ceso listo que tiene la prioridad más alta, expropiando el proceso que se estaba ejecutando, si es necesario. Liu y Layland demosü-aron que RMS es óptimo dentro de la clase de algoritmos de calendarización estáticos. La figura 7-12 muestra cómo funciona la calendarización de tasa monotónica con el ejem plo de la figura 7-11. Los procesos A , B y C fienen prioridades estáticas de 33, 25 y 20, respec fivamente, lo que implica que, cada vez que A necesite ejecutarse, lo hará, expropiando cualquier otro proceso que esté usando la CPU. El proceso B puede expropiar a C, pero no a A. El proceso C tiene que esperar hasta que la CPU esté inactiva para ejecutarse. Al principio, en la figura 7-12, los tres procesos están listos para ejecutarse. Se escoge el de mayor prioridad, A, y se le permite ejecutarse hasta terminar a los 10 ms, como se indica en la línea RMS. Luego de que A termina, se ejecutan S y C, en ese orden. Juntos, los tres proce-
RkJQdWJsaXNoZXIy MjI4NDcx