Sunteți pe pagina 1din 5

METODOS Y TECNICAS DE MEDICION DE RENDIMIENTO

El sistema operativo es uno de los componentes más importantes de cualquier sistema de cómputo; la función que realiza el

sistema operativo está orientada a facilitar la interacción del usuario con la máquina, tal que no tenga necesidad alguna de

conocer características particulares del computador; esta tarea, es de vital importancia para el usuario, por lo que el sistema

operativo debe ejecutarlo con eficiencia.

Cuando la cantidad de tareas despachadas por unidad de tiempo que ejecuta un sistema de computación es alto, decimos

que el sistema tiene una buena performance o que “el sistema es rápido”; este resultado depende de muchos factores: la

arquitectura del procesador, su velocidad, los tipos de procesos que debe ejecutar el sistema, las políticas de planificación

del procesador, las políticas de gestión de la memoria, la prioridad de los procesos y otros factores. Debido a la cantidad de

factores que inciden en el rendimiento o performance de los sistemas de cómputo, la medición de este parámetro es difícil.

Existe una serie de técnicas que pueden aplicarse para obtener una medición del performance de un sistema; una de las

técnicas que presenta mejores resultados, es la ofrecida por la ley de Ahmdal; ésta técnica basa su estrategia en la

consideración de que los procesos están limitados por la cantidad de operaciones de entrada/salida que deben realizar y que

ninguna otra estrategia hará posible mejorar el tiempo de retorno final del proceso.

Con fines de aplicar los conceptos de la dinámica de sistemas se propone un modelo que permita simular la performance de

un sistema de computación. La construcción del modelo se ha hecho considerando los factores más importantes que inciden

en la performance.

La relación de los componentes de un sistema de computación determinantes en el rendimiento final. Caracterizar la respuesta

y comportamiento del sistema Operativo como función de la carga de trabajo que soporta. Establecer políticas de explotación

del sistema total que permitan mantener un nivel de performance conveniente.

El problema será resuelto considerando un determinado tipo de sistema informático, caracterizado principalmente por:

• Un sistema operativo multiusuario y caracterizado por determinados parámetros.

• Un computador con una arquitectura definida y caracterizada principalmente por: la forma de procesamiento de datos que

realiza (secuencial, segmentada), la organización de las interfaces de entrada/salida, el nivel de traslape entre tareas

orientadas a CPU y E/S, las características de gestión del procesador central, las características de gestión de la memoria,

las características de gestión de la E/S y las características de gestión de la información. La información relativa a cada uno
de estos aspectos se establecerá a partir de las medidas de eficiencia de las políticas de gestión de recursos del sistema

operativo, la elaboración de tablas de respuesta en función de apreciaciones subjetivas.

• Un nivel de interacción usuario-máquina-aplicación –con parámetros predefinidos.

• Una mejora del sistema total en términos de un incremento del poder de procesamiento (más velocidad en el CPU y/o más

procesadores).

Definiciones Niveles. Se consideran los siguientes:

Procesos Listos. Representa el conjunto de procesos que debe ejecutar el sistema operativo; este estado se alcanza cuando

el sistema operativo determina la validez de los requerimientos del usuario y determina el conjunto de recursos requeridos

exceptuando el CPU; es decir, en ese estado los procesos han sido identificados, tienen asignado una prioridad y pertenecen

a una sesión.

Procesos en Ejecución. En este nivel se representa el/los proceso(s) que el procesador está ejecutando; esta tarea se

realizará hasta que el procesos requiera realizar una operación de entreda/salida o hasta que el quanto de tiempo definido

por el sistema termine; también puede presentarse una interrupción desde algún lugar del sistema o finalmente puede

presentarse un error en el programa que se está ejecutando. En sistemas multiprocesadores, existe una complejidad adicional

debido a la organización de los procesadores y de las características del procesamiento de datos (proceso simétrico o proceso

asimétrico). En general, la ejecución de las órdenes de lo procesos se realiza de forma secuencial.

Procesos Bloqueados. Cuando los procesos abandonan el CPU –porque requiere realizar alguna operación de entrada/salida-

o dejan de estar en estado de ejecución pasan a un estado en el que de manera similar a los procesos en ejecución deben

realizar operaciones de gestión sobre algunos recursos del sistema (exceptuando al CPU); esta labor generalmente está

apoyada por programas auxiliares del sistema operativo, especializados en tareas de entrada/salida.

Flujos se ha considerado los siguientes:

Procesos Terminados. Considera el conjunto de procesos terminados en el sistema y representa la cantidad de procesos que

el sistema atiende en una fracción de tiempo. A partir de este dato es posible “predecir” si el sistema puede o no mantener

este rendimiento cuando el número de procesos se incrementa.

Procesos Admitidos: Considera el conjunto de procesos admitidos que deben ser transportados en el sistema y adoptar un

nuevo estado, el estado de listos.


Despacho: Es la función de asignación que se realiza en el sistema a fin de que los procesos se ejecuten; en otras palabras,

es la labor de asignación del procesador a algún proceso listo. Petición de Entrada/Salida. Cuando un proceso requiere

realizar una operación de entrada/salida entonces debe explícitamente declararlo a fin de el SO realice un cambio de proceso

y de contexto que hará posible que otros procesos se adjudiquen el procesador.

Procesos con entrada/salida concluida: Cuando un proceso termina de ejecutar sus operaciones de entrada/salida, el SO

debe nuevamente planificarlo o en algún caso cambiar su estado como proceso concluído.

Variables Auxiliares

Procesos zombies: Procesos que por alguna razón pierden el control de parte del SO y permanecen en el sistema provocando

acciones inexplicables en el sistema. Esta variable definirá de forma aleatoria un conjunto de procesos zombies que estarán

en un rango de 0-1.

Procesos con fallas: Procesos que presentan fallas/errores al realizar operaciones no válidas o al direccionar recursos del

sistema con referencias equivocadas. La variable definirá un conjunto de procesos que presenten fallas; su número estará

entre 0% - 0.1%

Frecuencia de Interrupciones: Los procesos generan interrupciones en el sistema para solicitar la atención del SO; estas

interrupciones hacen que el SO realice diferentes acciones sobre los procesos, entre ellas, está la recuperación -despojo- del

CPU cunado un procesos de mayor prioridad requiere realizar tareas de entrada/salida. La variable definirá un promedio de

interrupciones durante un determinado rango de tiempo; además de los tiempos de ocurrencia.

Grado de Segmentación: Se refiere a la técnica de ejecución que aplica el procesador; esta variable definirá de forma

constante determinada forma de procesamiento, v.gr. si el procesador aplica la segmentación entonces la variable

determinará un menor tiempo de ejecución de los procesos; en caso de que no se aplique la técnica se supondrá un tiempo

de ejecución mayor.

Factor de Selección: Variable a determinar un tipo de arquitectura de computador. As opciones que se tiene son: arquitectura

RISC, CISC, SMP, ASMP, otros

Discriminación: Considerando que los procesos tienen diferentes prioridades y utilizan diferentes recursos del sistema, esta

variable permitirá definir una función que establezca las cantidades de procesos denominados de baja prioridad y de alta

prioridad a fin de aplicar alguna de las técnicas de asignación del procesador que existe.

Baja Prioridad. Son procesos bloqueados y que tienen baja prioridad, cuando concluyen la operación de entrada/salida deben

alistarse nuevamente, por lo que se presenta una demora para alcanzar nuevamente el estatus de procesos listo.
Alta Prioridad Idem que el anterior excepto que son procesos de mayor importancia para el sistema operativo.

Tiempo Ejecución. Esta definido por un fragmento de tiempo medido en milisegundos u otra medida de tiempos de ejecución

del computador. Este fragmento de tiempo generalmente se conoce como quanto de tiempo y determina el tiempo máximo

que el procesador atenderá al proceso. Durante este lapso de tiempo, es posible que el proceso sea interrumpido, bloqueado

o concluido.

Tipo Proceso. Los procesos pueden tener diferente orientación; en ese sentido pueden tener orientación a entrada/salida u

orientación a cómputo. La variable definirá el tipo de orientación de los procesos que estarán en el sistema.

Tasa de Incremento. Variable que definirá la cantidad de procesos que llegan al sistema para ejecutarse. Tomaremos

incrementos aleatorios a fin de tener una idea acerca de cómo varía el rendimiento del sistema cuando el número de procesos

se incrementa.

Número de usuarios. Es una variable inicial que determinará el número de usuarios en el sistema y a partir de ello se

considerará que cada uno de ellos –sus requerimientos- genera un determinado número de procesos que debe atender el

sistema.

Política. Considerando que existe un conjunto de políticas de administración del procesador, con la variable se pretende elegir

de una tabla determinada política en función del entorno de explotación del sistema.

Calificación. Definirá una tabla que asignará según la política elegida un valor de eficiencia respecto a otras técnicas y en

función de ello se podrá simular los resultados de sistemas que aplican diferentes técnicas de administración del procesador.

Prioridad. Variable que pretende definir prioridad para los procesos.

CPU´s Disponibles. Dependiendo de la arquitectura del computador es posible que el mismo presente uno o más

procesadores centrales (CPU´s) . La variable definirá un valor constante que represente el número de procesadores que

podría tener el sistema.

Nivel de Multiproc. Variable que definirá un valor que represente el grado de multiprogramación presenta el sistema.

Arquitectura CPU. Define la arquitectura que tiene el CPU del sistema. El valor se elegirá de um tabla previamente elaborada.

Para fines de la simulación del modelo se ha elaborado un diagrama de flujo con los niveles, los flujos y las variables. En

principio se elaboró un modelo simple para determinar algunas referencias acerca del modelo “real” asociado al problema. En

base a estas referencias se ha intentado construir un modelo más completo, tal que permita conseguir el objetivo: medir la
performance de los sistemas informáticos. No se ha logrado simular el modelo debido a que falta definir las diferentes

relaciones de datos que debe considerar para mostrar resultados representativos.

Considerando la complejidad de este modelo, se ha elaborado un diagrama causal que ayude a mejorar la comprensión del

proceso de simulación. En base a las características de este diagrama se construyó el diagrama de flujo y se ha procedido

ha establecer las relaciones que harán posible simular el modelo a fin de obtener algunos criterios acerca de las relaciones

de elementos que hacen posible mejorar el performance de los sistemas operativos.

S-ar putea să vă placă și