Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
El problema será resuelto considerando un determinado tipo de sistema informático, caracterizado principalmente por:
• 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
• 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).
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
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.
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
Procesos Admitidos: Considera el conjunto de procesos admitidos que deben ser transportados en el sistema y adoptar un
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
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
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
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.
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
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
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