Sistemas operativos modernos

Momento de inicio deA1,B1,C1 Plazo para Al Plazo para B1 / Plazo para C1 / Al A2 A3 A4 m A5 t; 1 10 20 30 40 50 60 70 80 Tiempo (ms) — * 90 100 110 120 130 140 Figura 7-11. Tres procesos periódicos, cada uno de los cuales exfiibe una película. Las tasas de cuadros y las necesidades de procesamiento son diferentes para cada película. Ahora la pregunta en materia de calendarización es cómo deben calendarizarse A, 5 y C de modo que siempre cumplan con sus respectivos plazos. Antes de buscar un algoritmo de calen­ darización, debemos ver si este conjunto de procesos es siquiera calendarizable. Recordemos (sección 2.5.4) que si cada proceso i tiene un periodo de P¡ ms y requiere C, ms de tiempo de CPU por cuadro, el sistema será calendarizable si y sólo si m 1 = 1 í donde m es el número de procesos, en este caso 3. Cabe señalar que P,/C, tan sólo es la frac­ ción de la CPU que está siendo utilizada por el proceso i. En el ejemplo de la figura 7-11, A está consumiendo 10/30 de la CPU, B está consumiendo 15/40 de la CPU y C está consumien­ do 5/50 de la CPU. La suma de estas fracciones es 0.808 de la CPU, así que el sistema de pro­ cesos es calendarizable. Hasta aquí hemos supuesto que hay un proceso por flujo. En realidad podría haber dos (o más) procesos por flujo: por ejemplo, uno para audio y uno para vídeo. Esos procesos podrían ejecutarse a diferente ritmo y podrían consumir cantidades distintas de tiempo de CPU en cada ráfaga. No obstante, la adición de procesos de audio a la mezcla no altera el modelo general, por­ que lo único que estamos suponiendo es que hay m procesos, cada uno de los cuales se ejecuta con una frecuencia fija y debe realizar una canfidad fija de trabajo en cada ráfaga de CPU. En algunos sistemas de tiempo real los procesos son expropiables, y en otros no. En los siste­ mas multimedia los procesos por lo general son expropiables, lo que significa que un proceso que está en peligro de no cumplir con su plazo podría interrumpir el proceso que se está ejecutando antes de que éste termine con su cuadro. Cuando termine el proceso que interrumpió, podrá con­ tinuar el proceso anterior. Este comportamiento no es sino muitiprogramación, que ya hemos vis­ to. Estudiaremos los algoritmos de calendarización en tiempo real expropiables porque no hay

RkJQdWJsaXNoZXIy MjI4NDcx