7.1 MEDICION DESEMPEÑO PERFORMANCE SISTEMAS OPERATIVOS
Un sistema operativo es en primer lugar un administrador de recursos, por ello es importante poder determinar con qué efectividad administra sus recursos un sistema determinado [7, Deitel].
Generalmente hay un gran potencial de mejora en el uso de los recursos existentes, pero:
• Muchas instalaciones realizan muy poco o ningún control y evaluación.
• Cuando se hacen controles específicos se generan grandes cantidades de datos que muchas veces no se sabe cómo interpretar.
Las instalaciones rara vez cuentan con personal versado en las técnicas de análisis de rendimiento.
Durante los primeros años del desarrollo de las computadoras el hardware representaba el costo dominante de los sistemas y debido a ello los estudios de rendimiento se concentraban en el hardware.
Actualmente y según la tendencia apreciable:
• El software representa una porción cada vez mayor de los presupuestos informáticos.
• El software incluye el S. O. de multiprogramación / multiproceso, sistemas de comunicaciones de datos, sistemas de administración de bases de datos, sistemas de apoyo a varias aplicaciones, etc.
• El software frecuentemente oculta el hardware al usuario creando una máquina virtual, que está definida por las características operativas del software.
Un software deficiente y / o mal utilizado puede ser causa de un rendimiento pobre del hardware, por lo tanto es importante controlar y evaluar el rendimiento del hardware y del software.
Tendencias Importantes que Afectan a los Aspectos del Rendimiento
Con los avances en la tecnología de hardware los costos del mismo han decrecido drásticamente y todo hace suponer que esta tendencia continuará [7, Deitel].
Los costos de trabajo (personal) han ido aumentando:
• Significan un porcentaje importante del costo de los sistemas informáticos.
• Se debe reformular el aspecto del rendimiento del hardware base y medirlo de manera más adaptada a la productividad humana.
El advenimiento del microprocesador en la década de 1.970:
• Ha permitido bajar considerablemente el costo de los ciclos de cpu.
• Ha desplazado el foco de atención de la evaluación del rendimiento a otras áreas donde los costos no disminuyeron proporcionalmente; ej.: utilización de dispositivos de entrada / salida.
Mediciones del Rendimiento
El rendimiento expresa la manera o la eficiencia con que un sistema de computación cumple sus metas [7, Deitel].
El rendimiento es una cantidad relativa más que absoluta pero suele hablarse de medidas absolutas de rendimiento, ej.: número de trabajos atendidos por unidad de tiempo.
Algunas mediciones son difíciles de cuantificar, ej.: facilidad de uso.
Técnicas de Evaluación del Rendimiento
Tiempos
Los tiempos proporcionan los medios para realizar comparaciones rápidas del hardware [7, Deitel].
Una posible unidad de medida es el “mips”: millón de instrucciones por segundo.
Los tiempos se usan para comparaciones rápidas; se utilizan operaciones básicas de hardware.
Mezclas de instrucciones
Se usa un promedio ponderado de varios tiempos de las instrucciones más apropiadas para una aplicación determinada; los equipos pueden ser comparados con mayor certeza de la que proporcionan los tiempos por sí solos.
Son útiles para comparaciones rápidas del hardware.
Programas del núcleo
Un programa núcleo es un programa típico que puede ser ejecutado en una instalación.
Se utilizan los tiempos estimados que suministran los fabricantes para cada máquina para calcular su tiempo de ejecución.
Se corre el programa típico en las distintas máquinas para obtener su tiempo de ejecución.
Pueden ser útiles para la evaluación de ciertos componentes del software, por ej. compiladores; pueden ayudar a determinar qué compilador genera el código más eficiente.
Modelos analíticos
Son representaciones matemáticas de sistemas de computación o de componentes de sistemas de computación.
Generalmente se utilizan los modelos de:
• Teoría de colas.
• Procesos de Markov.
Requieren un gran nivel matemático del evaluador y son confiables solo en sistemas sencillos, ya que en sistemas complejos los supuestos simplificadores pueden invalidar su utilidad y aplicabilidad.
Embotellamientos y Saturación
Los recursos administrados por los S. O. se acoplan e interactúan de maneras complejas para afectar al total de la operación del sistema [7, Deitel].
Ciertos recursos pueden sufrir embotellamientos que limitan el rendimiento del sistema:
• No pueden realizar su parte del trabajo.
• Otros recursos pueden estar con exceso de capacidad.
Un embotellamiento tiende a producirse en un recurso cuando el tráfico de trabajos o procesos de ese recurso comienza a alcanzar su capacidad límite:
• El recurso se encuentra saturado.
• Los procesos que compiten por el recurso comienzan a interferirse unos a otros.
• Ej.: problema de la hiperpaginación:
o Ocurre cuando el almacenamiento principal está lleno.
o Los conjuntos de trabajo de los distintos procesos activos no pueden ser mantenidos simultáneamente en el almacenamiento principal.
Para detectar los embotellamientos se debe controlar cada cola de peticiones de los recursos; cuando una cola crece rápidamente significa que la tasa de llegadas de peticiones debe superar a su tasa de servicio.