Você está na página 1de 10

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
INTRODUCCIN
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.

Qu es un proceso?
Es un conjunto de actividades o eventos (coordinados u organizados) que se realizan o suceden (alternativa o simultneamente) bajo ciertas circunstancias con un fin determinado. Este trmino tiene significados diferentes segn la rama de la ciencia o la tcnica en que en que se utilice. Requisitos Bsicos De un Proceso: Todos los procesos tienen que tener un responsable designado que asegure su cumplimiento y eficacia continuado. Todos los procesos tienen que ser capaces de satisfacer los cubos P, D, C, A del grfico:

Todos los procesos tienen que ser indicadores que permitan visualizar de forma grfica la evolucin de los mismos. Tienen que ser planificados en la fase P, tienen que asegurarse su cumplimiento en la fase D, tienen que servir para realizar el seguimiento en la fase C y tienen que utilizarse en la fase A para ajustar y/o establecer objetivos. 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:
Prof.: AMACHE SANCHEZ, Milton Freddy Pgina 1

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
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.

Modelo de Dos Estados

El modelo de estados ms simple es el de dos estados. En este modelo, un proceso puede estar ejecutndose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecucin. En algn momento el proceso que se est ejecutando pasar al estado No ejecucin y otro proceso se elegir de la lista de procesos listos para ejecutar para ponerlo en estado Ejecucin. De esta explicacin se desprende que es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria . Adems los procesos que no se estn ejecutando deben guardarse en algn tipo de cola mientras esperan su turno para ejecutar.

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 2

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
Los eventos que llevan a un proceso a cambiar de un estado a otro son:

Null --> New: El nuevo proceso es creado para ejecutar un programa. New --> Ready: El S.O. realiza esta transicin cuando est preparado para comenzar a ejecutarse. Ready --> Running: El S.O. hace ste cambio de estado cuando es tiempo de elegir un nuevo proceso a ejecutar. Running --> Exit: Este cambio de estado se produce cuando el proceso actualmente en ejecucin es finalizado o abortado. Running ---> Ready: Esta transicin puede ocurrir cuando se ha alcanzado el lmite mximo de tiempo de ejecucin ininterrumpida (tcnica encontrada comnmente en los S.O. con multiprogramacin o cuando, al trabajar con distintos niveles de prioridad, un proceso es reemplazado por otro de mayor prioridad. Running --> Blocked: Esto ocurre cuando un proceso solicita algo por lo que deba esperar. Este pedido es realizado, por lo general, en la forma de un system call (llamado de un programa en ejecucin a un procedimiento que es parte del cdigo del S.O.). Blocked --> Ready: Este cambio tiene lugar al ocurrir el evento por el que estaba esperando un proceso. Ready --> Exit: Esto ocurre cuando un proceso hijo es finalizado; ya sea por pedido del proceso padre o porque el padre en s fue finalizado. Blocked --> Exit: Idem ready --> exit.
Para la gestin de procesos existen muchos algoritmos. La siguiente lista es una muestra de ello:

Planificacin a Plazo Fijo


En la planificacin de plazo fijo se programan ciertos trabajos para poder terminarse en un tiempo especfico o plazo fijo. Esta tarea pueden tener un gran valor si se entregan a tiempo, y carecer de l si se entregan despus del plazo. Esta planificacin es compleja por varios motivos: El usuario debe informar por adelantado de las necesidades precisas de recursos del proceso. Semejante informacin rara vez est disponible. El sistema debe ejecutar el proceso en un plazo fijo sin degradar demasiado el servicio a los otros usuarios y debe planificar cuidadosamente sus necesidades de recursos dentro del plazo. Esto puede ser difcil por la llegada de nuevos procesos que impongan demandas imprevistas al sistema. Si hay muchas tareas a plazo fijo activas al mismo tiempo, la planificacin puede ser tan compleja que se necesiten mtodos de optimizacin avanzados para cumplir los plazos.

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 3

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
La administracin intensiva de recursos requerida por la planificacin de plazo fijo puede producir un gasto extra substancial.

Planificacin Garantizada
En este modelo de planificacin se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecucin de un nivel siendo n la cantidad total de usuarios, de esa forma el planificador tiene que llevar cuenta del tiempo de ejecucin de los procesos y balancear, el tiempo que estn utilizando el procesador para cumplir con la ecuacin previa.

Planificacin del Primero en Entrar Primero en Salir (FIFO)


Cuando se tiene que elegir a qu proceso asignar la CPU se escoge al que llevara ms tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente. La ventaja de este algoritmo es su fcil implementacin, sin embargo, no es vlido para entornos interactivos ya que un proceso de mucho clculo de CPU hace aumentar el tiempo de espera de los dems procesos. Para implementar el algoritmo slo se necesita mantener una cola con los procesos listos ordenada por tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sita el ltimo de la cola.

Planificacin de Asignacin en Rueda (RR: Round Robn)


Este es uno de los algoritmos ms antiguos, sencillos y equitativos en el reparto de la CPU entre los procesos, muy vlido para entornos de tiempo compartido. Cada proceso tiene asignado un intervalo de tiempo de ejecucin, llamado quantum o cunto. Si el proceso agota su quantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su quantum tambin se alterna el uso de la CPU. El round robn es muy fcil de implementar. Todo lo que necesita el planificador es mantener una lista de los procesos listos.

Tamao del Quanto o Quantum


La determinacin del tamao del quanto es vital para la operacin efectiva de un sistema de cmputo. Debe el cuanto ser pequeo o grande?, fijo o variable?, el mismo para todos los usuarios o debe determinarse por separado para cada uno? Si el quanto de tiempo es muy grande, cada proceso tendr el tiempo necesario para terminar, de manera que el esquema de planificacin por turno rotatorio degenera en uno de primero en entrar primero en salir. Si el quanto es muy pequeo, el gasto extra por cambio de proceso se convierte en el factor dominante y el rendimiento del sistema se degradar hasta el punto en que la mayor parte del tiempo se invierte en la conmutacin del procesador, con muy poco o ningn tiempo para ejecutar los programas de los usuarios.

Planificacin del Trabajo Ms Corto Primero (SJF)


Al igual que en el algoritmo FIFO las rfagas se ejecutan sin interrupcin, por tanto, slo es til para entornos batch. Su caracterstica es que cuando se activa el planificador, ste elige la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre rfagas. Hay que recordar que en los entornos batch se pueden hacer estimaciones del tiempo de ejecucin de los procesos. La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de
Pgina 4

Prof.: AMACHE SANCHEZ, Milton Freddy

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
finalizacin promedio, como puede verse en el siguiente ejemplo: Ej: Supongamos que en un momento dado existen tres rfagas listos R1, R2 y R3, sus tiempos de ejecucin respectivos son 24, 3 y 3 ms. El proceso al que pertenece la rfaga R1 es la que lleva ms tiempo ejecutable, seguido del proceso al que pertenece R2 y del de R3. Veamos el tiempo medio de finalizacin (F) de las rfagas aplicando FIFO y SJF:

Planificacin del Tiempo Restante Ms Corto (SRT)


Es similar al anterior, con la diferencia de que si un nuevo proceso pasa a listo se activa el dispatcher para ver si es ms corto que lo que queda por ejecutar del proceso en ejecucin. Si es as el proceso en ejecucin pasa a listo y su tiempo de estimacin se decremento con el tiempo que ha estado ejecutndose.

Planificacin el Siguiente con Relacin de Respuesta Mxima (HRN)


Corrige algunas de las debilidades del SJF, tales como el exceso de perjuicio hacia los procesos (trabajos) largos y el exceso de favoritismo hacia los nuevos trabajos cortos.

Planificacin por Prioridad


Al igual que en el algoritmo FIFO las rfagas se ejecutan sin interrupcin, por tanto, slo es til para entornos batch. Su caracterstica es que cuando se activa el planificador, ste elige la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre rfagas. Hay que recordar que en los entornos batch se pueden hacer estimaciones del tiempo de ejecucin de los procesos.

La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de finalizacin promedio, como puede verse en el siguiente ejemplo: Ej: Supongamos que en un momento dado existen tres rfagas listos R1, R2 y R3, sus tiempos de ejecucin respectivos son 24, 3 y 3 ms. El proceso al que pertenece la rfaga R1 es la que lleva ms tiempo ejecutable, seguido del proceso al que pertenece R2 y del de R3. Veamos el tiempo medio de finalizacin (F) de las rfagas aplicando FIFO y SJF

Colas de Retroalimentacin de Niveles Mltiples


Cuando un proceso obtiene la CPU, sobre todo cuando todava no ha tenido oportunidad de establecer un patrn de comportamiento, el planificador no tiene idea de la cantidad de tiempo de CPU que necesitar el proceso. Los procesos limitados por la E/S normalmente usan la CPU slo un momento antes de generar una solicitud de E/S; los procesos limitados por la CPU pueden usar el procesador durante horas si est disponible en forma no apropiada.

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 5

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
Poltica Versus Mecanismo de Planificacin
Puede ocurrir que haya procesos con muchos procesos hijos ejecutndose bajo su control, por ejemplo, un proceso en un DBMS con procesos hijos atendiendo funciones especficas, tales como, anlisis de Interrogantes, acceso a discos, etc. Es posible que el proceso principal (padre) pueda identificar la importancia (o criticidad) de sus procesos hijos, pero los planificadores analizados no aceptan datos de los procesos de usuario relativos a decisiones de planificacin. La solucin es separar el mecanismo de planificacin de la poltica de planificacin, para ello se parametriza el algoritmo de planificacin y los parmetros pueden ser determinados por medio de procesos del usuario; as el mecanismo est en el ncleo del Sistema Operativo pero la poltica queda establecida por un proceso del usuario.

Planificacin de Dos Niveles


Los esquemas analizados hasta ahora suponen que todos los procesos ejecutables estn en la memoria principal. Si la memoria principal es insuficiente, ocurrir lo siguiente: Habr procesos ejecutables que se mantengan en disco. Habr importantes implicaciones para la planificacin, tales como las siguientes: El tiempo de alternancia entre procesos para traer y procesar un proceso del disco es considerablemente mayor que el tiempo para un proceso que ya est en la memoria principal. Es ms eficiente el intercambio de los procesos con un planificador de dos niveles

DESCRIPCION DEL PROYECTO


Gestin de Procesos es un software basado en el proceso de Dos estados donde se cargara en memoria fsica todos los procesos que estn siendo ejecutados en el S.O y as verificar la cantidad de rendimiento de disco, memoria y CPU. El software ser desarrollado en la plataforma Visual.NET con el lenguaje de programacin C#, que contendr solo un nico formulario con varias caractersticas de acuerdo al modelo de la Gestin de procesos a desarrollar. El Proyecto consistir en ver que procesos se estn ejecutando actualmente en tiempo real y como tambin ejecutarlos del mismo Sistema Operativo que estar contenido con sus diferentes caractersticas en una tabla como por ejemplo:

1. 2. 3. 4. 5.

PID= identificador nico del proceso Nombre de imagen = El nombre del ejecutable, normalmente un .exe Espacio en memoria = Espacio de memoria utilizado de dicho proceso Tiempo de Inicio = Tiempo en que est siendo ejecutado dicho proceso Tiempo de CPU = Rendimiento Ocupado en CPU

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 6

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________

PROTOTIPO

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 7

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
DESCRIPCION DE OBJETOS DEL PROYECTO

OBJETOS

DESCRIPCIN El identificador de proceso (PID) es un nmero entero positivo que acta a modo de nombre del proceso. El identificador del proceso padre (PPID) es el PID del proceso que ha creado al actual. El PID de un proceso no cambia durante el tiempo de vida de ste; sin embargo, su PPID s puede variar. Esta situacin se da cuando el proceso padre muere, pasando el PPID del proceso hijo a tomar el valor 1. Para conocer los valores de PID y PPID se utilizan las llamadas getpid () y getppid (). Es decir, son llamadas al sistema que devuelven al proceso que las solicita el identificador de l mismo y el identificador del proceso padre respectivamente. Estas llamadas nunca van a fallar.

1. Identificador del Proceso

El objetivo de conocer el identificador de un proceso o el de su padre, estriba en la necesidad que tienen los procesos de conectarse entre s mediante tuberas, semforos, o simplemente mandndose seales. Tarea para la cual es imprescindible conocer ambos valores.

2. Nombre del Archivo del Ejecutable de Proceso

Muestra el nombre de proceso con la extensin .EXE que es el ejecutable de dicho proceso.

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 8

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
3. Espacio de memoria Espacio de Memoria utilizada de dicho proceso

4. Tiempo Inicio

Tiempo en que ha sido iniciado el proceso

5. Tiempo CPU

Porcentaje actual de consumo del CPU por parte del proceso

6. Panel Rendimento Uso de CPU: mostrara una barra de uso de CPU, algn porcentaje del total de CPU.

7. Historial CPU

Mostrar en forma de grilla las tendencias del uso de CPU en el tiempo

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 9

Universidad San Pedro Sede Barranca

Escuela: Ingeniera Informtica y de Sistemas. Curso: Sistemas Operativos Ciclo: VII

_______________________________________
8. Finalizar Proceso

Permite finalizar o terminar un proceso en ejecucin.

9. Guardar Registro Guarda un registro en un bloc de notas los procesos que han sido seleccionados y ejecutados con sus respectivos rendimientos como de memoria y disco.

10. Actualizar Actualiza la lista de procesos que estn siendo ejecutados y mostrados en la tabla.

11. CPU por Proceso Subprocesos activos. Activos: Numero de subprocesos

Prof.: AMACHE SANCHEZ, Milton Freddy

Pgina 10

Você também pode gostar