Sistemas operativos modernos
Lo que importa en realidad es cuántos trabajos salen del sistema por hora (rendimiento) y cuán to tardan en recibirse los resultados de un trabajo (tiempo de retomo). Emplear la utilización de la CPU como métrica es parecido a calificar un automóvil con base en las revoluciones que da el motor cada hora. En los sistemas interactivos, sobre todo los sistemas y servidores de tiempo compartido, los objetivos son distintos. El más importante es reducir al mínimo el tiempo de respuesta; es decir, el tiempo que transcurre entre que se emite un comando y se observa el resultado. En una computadora personal en la que se está ejecutando un proceso en segundo plano (uno que lee y almacena correo electrónico de la red, por ejemplo), la solicitud de un usuario de iniciar un programa o abrir un archivo debe tener precedencia respecto al trabajo de segundo plano. Dar prioridad a todas las solicitudes interactivas dará la impresión de un buen servicio. Un aspecto relacionado en cierto modo con lo anterior es lo que podríamos llamar propor cionalidad. Los usuarios tienen una idea inherente (pero a menudo incorrecta) de cuánto deben tardar las cosas. Si una solicitud que se percibe como compleja tarda mucho, los usuarios lo aceptan; pero si una solicitud que se percibe como sencilla tarda mucho, se molestan. Por ejem plo, si se hace clic en un icono que llama a un proveedor de Internet empleando un módem ana lógico, y el establecimiento de la conexión tarda 45 segundos, es probable que el usuario lo acepte como algo inevitable. En cambio, si cortar la conexión haciendo clic en otro icono tar da 45 segundos, es probable que el usuario esté profiriendo maldiciones a los 30 segundos y que a los 45 le esté saliendo espuma por la boca. Esta conducta se debe a la experiencia del usuario con los teléfonos, donde se supone que hacer una llamada y establecer la conexión tar da mucho más que simplemente colgar el teléfono. En algunos casos (como en éste), nada hay que el calendarizador pueda hacer respecto al dempo de respuesta, pero en otros casos sí, sobre todo si el retraso se debe a una mala decisión en cuanto al orden de los procesos. Los sistemas en tiempo real tienen propiedades distintas de las de los interactivos y, por ende, diferentes objetivos de calendarización. Estos sistemas se caracterizan por tener plazos que deben, o al menos deberían, cumplirse. Por ejemplo, si una computadora está controlando un dispositivo que produce datos a un ritmo constante, no ejecutar a tiempo el proceso que re caba esos datos podría redundar en su pérdida. Así, el requisito primordial en un sistema en tiempo real es cumplir con todos o casi todos los plazos. En algunos sistemas en tiempo real, sobre todo los que manejan multimedia, la predecibi- lidad es importante. Incumplir un plazo de vez en cuando no es fatal, pero si el proceso de au- dio se ejecuta en forma irregular, la calidad del sonido sufrirá un marcado deterioro. En lo que respecta al vídeo, el problema también es importante, pero el oído es mucho más sensible que el ojo a las perturbaciones. A fin de evitar este problema, la calendarización de procesos debe ser altamente predecible y regular. En este capítulo estudiaremos algoritmos de calendarización para sistemas por lotes e interactivos, pero dejaremos casi todo nuestro tratamiento de la calen darización en tiempo real para el capítulo 7, que trata los sistemas operativos multimedia. 2.5.2 Calendarización en sistemas por lotes Ha llegado el momento de pasar de los aspectos generales de la calendarización a algoritmos específicos. En esta sección examinaremos los que se usan en sistemas por lotes; en las que si
RkJQdWJsaXNoZXIy MjI4NDcx