Вы находитесь на странице: 1из 25

INGENIERIA EN INFORMATICA Y SISTEMAS

Anlisis del Rendimiento de un Sistema Operativo

ANALISIS DEL RENDIMIENTO DE UN SISTEMA OPERATIVO

CURSO DOCENTE INTEGRANTES

: : :

DINAMICA DE SISTEMAS Ing. William Marchand Nio. Marias Prez, Gastn Ponce Guizabalo, Victor Jara Benavides, Erick Revoredo Meza, Marcos

CICLO

Dinmica de Sistemas Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo

INTRODUCCION Las tcnicas de simulacin permiten modelar y simular sistemas reales, bajo dos condiciones: el primero radica en que la situacin que se desea simular es de inters para el investigador. Luego se puede lograr la simplificacin de la situacin que se desea simular, reduciendo su complejidad matemtica sin perder de vista los aspectos de inters. Modelar una situacin de aspecto real consiste en representar mediante modelos y relaciones matemticas el comportamiento simplificado y de inters de la situacin real, y someter el modelo a diferentes condiciones del medio ambiente que lo rodea para probar el funcionamiento del modelo. En el presente Informe nos ocupamos de modelar y simular el sistema del rendimiento de un sistema operativo, que nos permitir tener una idea clara acerca del funcionamiento interno de los procesos que ejecuta computadora. El sistema operativo es uno de los componentes ms importantes de cualquier sistema de cmputo; la funcin que realiza el sistema operativo est orientada a facilitar la interaccin del usuario con la mquina, tal que no tenga necesidad alguna de conocer caractersticas 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 computacin es alto, decimos que el sistema tiene una buena performance o que el sistema es rpido; este resultado depende de muchos factores: la arquitectura del procesador, su velocidad, los tipos de procesos que debe ejecutar el sistema, las polticas de planificacin del procesador, las polticas de gestin 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 cmputo, la medicin de este parmetro es difcil. una

Dinmica de Sistemas Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo

I. ASPECTOS GENERALES: 1.1. OBJETIVO GENERAL DEL PROYECTO

Diseas un modelo de simulacin dinmica para el Anlisis del Rendimiento de un Sistema Operativo. 1.2. OBJETIVOS ESPECIFICOS DEL PROYECTO

Establecer la relacin de los componentes de un sistema de computacin determinantes en el rendimiento final. Caracterizar la respuesta y comportamiento del sistema Operativo como funcin de la carga de trabajo que soporta. Establecer polticas de explotacin del sistema total que permitan mantener un nivel de performance conveniente. 1.3. JUSTIFICACION DEL PROYECTO El desarrollo del proyecto que presentamos a continuacin nos permitir tener una visin mas clara acerca del rendimiento del sistema operativo y no quedarnos con simples suposiciones y con las dudas de solamente poder imaginar acerca del funcionamiento del mismo. Razn fundamental que nos motivo a investigar de manera profunda y detallada en el tema.

Dinmica de Sistemas Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo

II. CONCEPTUALIZACIN DEL SISTEMA 2.1. DELIMITACION DEL SISTEMA DE ESTUDIO Nuestro sistema en estudio de abocara exclusivamente al Anlisis del Rendimiento de un Sistema Operativo (procesos), dicho en otras palabras el sistema en cuestin estar conformada por un computador. 2.2. OBJETIVOS DEL SISTEMA Optimizar el proceso del Rendimiento de un Sistema Operativo 2.3. IDENTIFICACIN DEL PROBLEMA O NECESIDADES El problema consiste en establecer la performance de un Sistema Operativo en trminos de ejecucin de determinado tipo de aplicaciones. Segn el tipo de procesamiento, hablamos de sistemas operativos monoprocesadores y multiprocesadores 2.4. IDENTIFICAR LAS VARIABLES Y LOS LMITES DEL MODELO 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 sesin. Procesos en Ejecucin: En este nivel se representa el/los proceso(s) que el procesador est ejecutando; esta tarea se realizar Dinmica de Sistemas 4 Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo hasta que el procesos requiera realizar una operacin de entreda/salida o hasta que el quanto de tiempo definido por el sistema termine; tambin puede presentarse una interrupcin desde algn 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 organizacin de los procesadores y de las caractersticas del procesamiento de datos (proceso simtrico o proceso asimtrico). En general, la ejecucin de las rdenes de lo procesos se realiza de forma secuencial. Procesos Bloqueados: Cuando los procesos abandonan el CPU porque requiere realizar alguna operacin de entrada/salida- o dejan de estar en estado de ejecucin pasan a un estado en el que de manera similar a los procesos en ejecucin deben realizar operaciones de gestin 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 fraccin de tiempo. A partir de este dato es posible predecir si el sistema puede o no mantener este rendimiento cuando el nmero 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.

Dinmica de Sistemas Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo Despacho: Es la funcin de asignacin que se realiza en el sistema a fin de que los procesos se ejecuten; en otras palabras, es la labor de asignacin del procesador a algn proceso listo. Peticin de Entrada/Salida: Cuando un proceso requiere realizar una operacin de entrada/salida entonces debe explcitamente 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 algn caso cambiar su estado como proceso concluido. Variables Auxiliares : Se consideraron los siguientes Procesos zombies: Procesos que por alguna razn 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 estarn en un rango de 0-1. Procesos con fallas: Procesos que presentan fallas/errores al realizar operaciones no vlidas o al direccionar recursos del sistema con referencias equivocadas. La variable definir un conjunto de procesos que presenten fallas; su nmero estar entre 0% - 0.1% Frecuencia de Interrupciones: Los procesos generan

interrupciones en el sistema para solicitar la atencin del SO; estas interrupciones hacen que el SO realice diferentes acciones sobre los procesos, entre ellas, est la recuperacin -despojo- del CPU cunado un procesos de mayor prioridad requiere realizar tareas de entrada/salida. La variable definir un promedio de interrupciones Dinmica de Sistemas Ing. William Marchand Nio 6

Anlisis del Rendimiento de un Sistema Operativo durante un determinado rango de tiempo; adems de los tiempos de ocurrencia. Grado de Segmentacin: Se refiere a la tcnica de ejecucin que aplica el procesador; esta variable definir de forma constante determinada forma de procesamiento, v.gr. si el procesador aplica la segmentacin entonces la variable determinar un menor tiempo de ejecucin de los procesos; en caso de que no se aplique la tcnica se supondr un tiempo de ejecucin mayor. Factor de Seleccin: Variable a determinar un tipo de arquitectura de computador. As opciones que se tiene son: arquitectura RISC, CISC, SMP, ASMP, otros Discriminacin: Considerando que los procesos tienen diferentes prioridades y utilizan diferentes recursos del sistema, esta variable permitir definir una funcin que establezca las cantidades de procesos denominados de baja prioridad y de alta prioridad a fin de aplicar alguna de las tcnicas de asignacin del procesador que existe. Baja Prioridad: Son procesos bloqueados y que tienen baja prioridad, cuando concluyen la operacin 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 Ejecucin: Esta definido por un fragmento de tiempo medido en milisegundos u otra medida de tiempos de ejecucin del computador. Este fragmento de tiempo generalmente se conoce como quanto de tiempo y determina el tiempo mximo que el

Dinmica de Sistemas Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo 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 orientacin; en ese sentido pueden tener orientacin a entrada/salida u orientacin a cmputo. La variable definir el tipo de orientacin de los procesos que estarn 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 cmo vara el rendimiento del sistema cuando el nmero de procesos se incrementa. Nmero de usuarios: Es una variable inicial que determinar el nmero de usuarios en el sistema y a partir de ello se considerar que cada uno de ellos sus requerimientos- genera un determinado nmero de procesos que debe atender el sistema. Poltica: Considerando que existe un conjunto de polticas de administracin del procesador, con la variable se pretende elegir de una tabla determinada poltica en funcin del entorno de explotacin del sistema. Calificacin: Definir una tabla que asignar segn la poltica elegida un valor de eficiencia respecto a otras tcnicas y en funcin de ello se podr simular los resultados de sistemas que aplican diferentes tcnicas de administracin del procesador. Prioridad: Variable que pretende definir prioridad para los procesos. CPUs Disponibles: Dependiendo de la arquitectura del computador es posible que el mismo presente uno o ms procesadores centrales (CPUs) . La variable definir un valor constante que represente el nmero de procesadores que podra tener el sistema. Dinmica de Sistemas Ing. William Marchand Nio 8

Anlisis del Rendimiento de un Sistema Operativo

Nivel de Multiprocesadores: Variable que definir un valor que represente el grado de multiprogramacin presenta el sistema. Arquitectura CPU. Define la arquitectura que tiene el CPU del sistema. El valor se elegir de um tabla previamente elaborada.

Dinmica de Sistemas Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo

III.

FORMULACIN Y EVOLUCIN DEL MODELO DEL SISTEMA 3.1. DIAGRAMA DE INFLUENCICAS

Dinmica de Sistemas Ing. William Marchand Nio

10

Anlisis del Rendimiento de un Sistema Operativo

3.2.

DIAGRAMA DE FORRESTER

Dinmica de Sistemas Ing. William Marchand Nio

11

Anlisis del Rendimiento de un Sistema Operativo

3.3.

ECUACIONES MATEMTICAS

Dinmica de Sistemas Ing. William Marchand Nio

12

Anlisis del Rendimiento de un Sistema Operativo

3.4.

GRFICO DE COMPORTAMIENTO
Grafico 1.

Grafico 2.

Dinmica de Sistemas Ing. William Marchand Nio

13

Anlisis del Rendimiento de un Sistema Operativo

Grafico 3.

IV.

INTERPRETACIONES a. Grafico 1. Notamos claramente que en dicho grafico los procesos listos son mayores, estos valores elevados son porque en el nivel de multiprogramacin o multiprocesos, tenemos habilitado u sistema monoproceso. b. Grafico 2. Vemos en este segundo grafico como los procesos listos va disminuyendo por la simple razn que el nivel de procesamiento y multiprogramacin aumentamos en una unidad hablamos de ncleos del sistema operativo que hoy en da las computadoras modernas estn poniendo mayor auge en ese sentido. c. Grafico 3. Por ltimo vemos que al aumentar en otro ncleo al nivel de multiprocesamiento vemos que en la lista de procesos

listos se mantendr cada vez menos procesos en espera, Dinmica de Sistemas 14 Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo lo cual seguir as segn sea la necesidad de seguir aumentando un ncleo mas, pero con criterio porque en la actualidad solo existen hasta 4 ncleos, si mas no tengo conocimiento. 5. CONCLUSIONES Se pudo disear un modelo que a nuestro parecer es el adecuado y en donde acercamos lo mas que se poda al rendimiento original de nuestro sistema, como bien dicen un modelo nunca ser igual a nuestro sistema en estudio, lo que pretendimos fue obtener un modelo lo ms prximo posible al sistema de referencia, y que creemos es el que mostramos anteriormente. 6. RECOMENDACIONES Incentivar a nuestros compaeros estudiantes del curso, a no conformarse con su diseo original, puesto que este mundo es cambiante y por tal razn tambin los sistemas e ir mejorando paulatinamente. Recomendamos a seguir investigando en este amplio mundo de la dinmica de sistemas y si es posible formar grupos o crculos de estudio con relacin al curso, ya hoy en nuestros das la complejidad de los sistemas cada vez aumenta y es necesario representarlas mediante la dinmica de sistemas.

Dinmica de Sistemas Ing. William Marchand Nio

15

Anlisis del Rendimiento de un Sistema Operativo

7. BIBLIOGRAFA DIRECCIONES ELECTRONICAS (WEB-SITES):

http://es.wikipedia.org/wiki/Sistema_operativo http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO
F.htm

http://www.itson.mx/DII/ELAGARDA/APAGINA2001/DINAMICA/dsistem
as.html

http://www.dinamica-de-sistemas.com/
LIBROS UTILIZADOS:

TANENBAUM, Sistemas Operativos Modernos. Abraham Gamarra, Dinmica de Sistemas. Dinmica de Sistemas, Javier Aracil.

Dinmica de Sistemas Ing. William Marchand Nio

16

Anlisis del Rendimiento de un Sistema Operativo

ANEXOS

Dinmica de Sistemas Ing. William Marchand Nio

17

Anlisis del Rendimiento de un Sistema Operativo

La exposicin se realizara en el siguiente interfaz hecho en Stella:

Dinmica de Sistemas Ing. William Marchand Nio

18

Anlisis del Rendimiento de un Sistema Operativo

PROCESO una abstraccin de un programa en ejecucin tambin llamada tarea. No hay un acuerdo universal sobre una definicin de proceso, pero s algunas definiciones : Un programa que se est ejecutando. Una actividad asincrnica. El emplazamiento del control de un procedimiento que est siendo ejecutado. Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso. Aquella entidad a la cual son asignados los procesadores. La unidad despachable.

Dinmica de Sistemas Ing. William Marchand Nio

19

Anlisis del Rendimiento de un Sistema Operativo Estados de procesos Jerarquas de procesos Los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operacin, teniendo adems presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecucin en paralelo. Respecto de los estados del proceso deben efectuarse las siguientes consideraciones: Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos Los procesos pueden bloquearse en su ejecucin porque: Desde el punto de vista lgico no puede continuar porque espera datos que an no estn disponibles. El Sistema Operativo asign la cpu a otro proceso. Los estados que puede tener un proceso son: En ejecucin: utiliza la cpu en el instante dado. Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso. Bloqueado: no se puede ejecutar debido a la ocurrencia de algn evento externo. Son posibles cuatro transiciones entre estos estados.

Dinmica de Sistemas Ing. William Marchand Nio

20

Anlisis del Rendimiento de un Sistema Operativo

Solo un programa esta activo en un momento dado.

Transicin entre los estados: 1.-El proceso se bloquea en espera de datos. 2.-El planificar elige otro proceso. 3.-El planificador elige este proceso. 4.-Los datos estn disponibles. 1.-Bloqueo 2.-Tiempo excedido. 3.-Despacho. 4.-Despertar.

Modelo de tres estados Para poder manejar convenientemente una administracin de procesador es necesario contar con un cierto juego de datos. Ese juego de datos ser una en Dinmica de Sistemas 21 Ing. William Marchand Nio

Anlisis del Rendimiento de un Sistema Operativo la cual se reflejar en qu estado se encuentra el proceso, por ejemplo, si est ejecutando o no. Los procesos, bsicamente, se van a encontrar en este caso, en tres estados: - Ejecutando. - Listos para la ejecucin. - Bloqueados por alguna razn.

Sobre la base de estos estados se construye lo que se denomina Diagrama de Transicin de Estado (DTE). Estar en la cola de Listos significa que el nico recurso que a ese proceso le est haciendo falta es el recurso procesador. O sea, una vez seleccionado de esta cola pasa al estado de Ejecucin. Se tiene una transicin al estado de Bloqueados cada vez que el proceso pida algn recurso. Una vez que ese requerimiento ha sido satisfecho, el proceso pasar al estado de Listo porque ya no necesita otra cosa ms que el recurso procesador. Para manejar esa cola de Listos se requiere de una tabla, y esa tabla debe tener una identificacin de los procesos (Ver figura). Como los listos pueden ser muchos, har falta un puntero al primero de esa cola de listos, y posiblemente un enganche entre los siguientes en el mismo estado. Esta tabla contiene los Bloques de Control de Procesos.

Administracin de tareas Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin y/o interrupcin.

Dinmica de Sistemas Ing. William Marchand Nio

22

Anlisis del Rendimiento de un Sistema Operativo Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Schedullers: Componente del sistema operativo responsable de decidir quien hara uso de la CPU. Algoritmos de Schedulling.FCFS (First Come First Served) Cuando un proceso llega a la cola de ready su PCB es agregado al final de la lista. El uso de la CPU es otorgado al primero de la lista y una vez que un proceso comienza a ejecutar no deja de hacerlo hasta que se termina. El tiempo medio de espera para este algoritmo suele ser bastante alto. SJF (Shortest Job First) Una vez que un proceso ejecuta no deja de hacerlo hasta que voluntariamente cambia de estado (no hay interrupcin por tiempo). Asocia a cada proceso el tiempo de CPU que habr de usar en su prxima vuelta y va a decidir por el ms pequeo. Si hubiera ms de uno utiliza FCFS para desempatar. El mayor problema de este algoritmo radica en el clculo de tiempo de uso de CPU. Este se puede aproximar a: Tn+1=a .tn+(1-a )Tn 0<a <1 Tiempo calculado en la vuelta n Prximo uso de CPU Tiempo usado en la vuelta n

Dinmica de Sistemas Ing. William Marchand Nio

23

Anlisis del Rendimiento de un Sistema Operativo El problema de este algoritmo es que el tiempo de espera para los procesos largos puede ser demasiado largo. Constantemente se estn entregando los procesos mas cortos y el ms grande nunca ser ejecutado. El FJS se puede subdividir en 2 tipos de algoritmos: PREEMPTIVO o NO PREEMPTIVO Preemptivo significa que si mientras un proceso se esta ejecutando, entra a la cola de ready un proceso mas corto, el proceso en la cola de ready se apropia de la CPU y comienza su ejecucin. Priority Schedulling Asocia a cada proceso una prioridad. Luego selecciona el proceso con mas prioridad para desempatar. En caso de que hubieran dos o mas procesos con la misma prioridad, se usa FCFS para desempatar. Hay dos tipo de prioridad en los procesos: la prioridad externa definidas a travs del sistema operativo y la prioridad interna definida por el tiempo de uso de la CPU, el control de E/S, etc. Este algoritmo tambin se puede ejecutar de dos maneras: preemptivo y no preemptivo. El algoritmo soluciona el problema del looping pero el problema es que los procesos con prioridad muy baja tienen chance de no ejecutarse nunca. Para solucionar este problema de espera infinita el envejecimiento de un proceso eleva su prioridad. Round Robin Este es un algoritmo basado en FCFS. Trata la cola de ready como una lista circular. Introduce el concepto de "Quantum" o "Time slice" : mayor tiempo de cpu que podr hacer uso un proceso en cada vuelta. Si el valor del Quantum fuese muy grande, el algoritmo funcionara como un FCFS. Si el Quantum fuera muy chico se produce un overhead por context switch (significa que el Quantum se setea en un tiempo menor al que demora el context switch). Este algoritmo es fuertemente dependiente del Quantum o Time Slice. El Quantum Dinmica de Sistemas Ing. William Marchand Nio 24

Anlisis del Rendimiento de un Sistema Operativo debe ser mayor que el 80% de los tiempos de CPU que hagan uso los procesos, pero no el proceso entero sino por cada burst. MQS (Multilevel Queue Schedulling) Este algoritmo parte la cola de ready en un numero de colas n. Luego existe un criterio para clasificar en que cola ser colocado un proceso cuando que queda en estado de ready. Cada cola puede manejar su propio algoritmo de schedulling

Dinmica de Sistemas Ing. William Marchand Nio

25

Вам также может понравиться