Sistemas operativos modernos

tos efectos serán mayores en vez de aminorar con el paso del tiempo, lo que contrarrestará la ga­ nancia lograda por el uso de frecuencias de reloj más rápidas. Los temporizadores de software evitan interrupciones. Cada vez que el kemel se ejecuta por algún otro motivo, justo antes de volver al modo de usuario examina el reloj de tiempo real para ver si ha expirado un temporizador de software. Si es así, se ejecuta el suceso calendarizado (por ejemplo, transmitir un paquete o verificar si está llegando uno) sin necesidad de cambiar al modo de kemel porque el sistema ya está allí. Una vez efectuado el trabajo, el temporizador de softwa­ re se restablece para que vuelva a dispararse. Lo único que hay que hacer es copiar el valor actual del reloj en el temporizador y sumarle el intervalo de tiempo fuera. El funcionamiento de los temporizadores de software depende de la frecuencia con que se ingrese en el kemel por otros motivos, que pueden ser, entre otros: 1. Llamadas al sistema. 2. Fallos de TLB. 3. Fallos de página. 4. Interrupciones de E/S. 5. La CPU se queda sin trabajo. Para determinar qué tan a menudo se presentan estos sucesos, Aron y Druschel efectuaron mediciones con varias cargas de CPU, que incluyeron un servidor Web con carga completa, un servidor Web con un trabajo en segundo plano dedicado a la CPU, reproducción de audio en tiem­ po real bajado de Internet y recompilación del kemel de UNIX. La tasa media de ingreso en el kemel varió entre 2 y 18 |is; cerca de la mitad de esos ingresos eran llamadas al sistema. Así, co­ mo aproximación de primer orden, es factible hacer que un temporizador de software se dispare cada 12 |xs, aunque de vez en cuando el periodo será más largo. En el caso de aplicaciones como el envío de paquetes o la detección de llegada de paquetes, llegar tarde 10 ns en forma ocasional es mejor que perder 35% del tiempo de CPU en procesamiento de interrupciones. Claro que habrá periodos en los que no haya llamadas a! sistema, fallos de TLB o fallos de página, en cuyo caso ningún temporizador de software se activará. A fin de poner una cota su­ perior a tales intervalos, el segundo temporizador de hardware puede ajustarse para que se acti­ ve a intervalos de 1 ms, por ejemplo. Si la aplicación puede sobrevivir con sólo 1000 paquetes/s durante intervalos ocasionales, la combinación de temporizadores en software y un temporiza­ dor en hardware de baja frecuencia podría ser mejor que la E/S controlada por interrupciones pura o el sondeo puro. 5.6 TERMINALES ORIENTADAS A CARACTERES Toda computadora de uso general tiene por lo menos un teclado y una pantalla (monitor o panta­ lla plana) que sirve para comunicarse con ella. Aunque desde el punto de vista técnico el teclado y la pantalla de una computadora personal son dispositivos distintos, operan en estrecha colabo­ ración. En los mainframes, es común que haya muchos usuarios remotos, cada uno con un dis

RkJQdWJsaXNoZXIy MjI4NDcx