Sie sind auf Seite 1von 22

GESTION DE PROCESOS

Clase 03
17 Abril 2012

Concepto de un Proceso. Estado de un proceso Planificacin

Operaciones
Comunicaciones Ejemplo IPC Bibliografa

OBJETIVOS
OBJETIVO GENERAL Comprender la gestin de procesos. OBJETIVOS ESPECFICOS Conceptualizar un proceso de trabajo. Identificar los estados de los procesos. Enumerar las operaciones que se realizan con los procesos. Comprender la comunicacin entre procesos.

Concepto de un Proceso
Un proceso es bsicamente un programa en ejecucin. Cada proceso tiene asociado un espacio de direcciones, una lista de posiciones de memoria desde algn mnimo (usualmente O) hasta algn mximo, que el proceso puede leer y escribir. El espacio de direcciones contiene el programa ejecutable, los datos del programa, y su pila. A cada proceso tambin se asocia un conjunto de registros, que incluyen el contador del programa, el apuntador de la pila y otros registros de hardware, as como toda la dems informacin necesaria para ejecutar el programa.

Andrew Tanenbaun

Concepto de un Proceso
Un proceso informalmente es un programa en ejecucin. La ejecucin de un proceso debe proceder de manera secuencial. Es decir, en cualquier instante, cuando mas una instruccin se est ejecutando a nombre del proceso. Un proceso es ms que el cdigo del programa; tambin incluye la actividad actual, representada por el valor del contador de programa y el contenido de los registros del procesador.

Silberschatz Galvin

Concepto de un Proceso
Se entiende por proceso un programa en ejecucin. Hay sin embargo una distincin explicita entre un programa y un proceso. Un programa es una entidad esttica constituida por sentencias del programa que definen la conducta del proceso cuando se ejecutan utilizando algn conjunto de datos. Un proceso es una entidad dinmica que ejecuta un programa sobre un conjunto particular de datos utilizando los recursos que le proporciona el sistema operativo.

Joaqun Aranda

Estado de un Proceso

Estado de un Proceso (Sistemas Windows)

Planificacin de Procesos
La planificacin hace referencia a un conjunto de polticas y mecanismos incorporados al SO que gobiernan el orden en que se ejecutan los trabajos que deben ser completados por el sistema informtico. Un planificador es un mdulo del SO que selecciona el siguiente trabajo a admitir en el sistema y el siguiente proceso que tomar el control sobre el procesador. El objetivo primario de la planificacin es optimizar el rendimiento del sistema de acuerdo con los criterios considerados ms importantes por los diseadores del mismo. Entre las medidas de rendimiento y los criterios de optimizacin ms habituales que los planificadores utilizan para llevar a cabo su labor se encuentran los siguientes:
Utilizacin del procesador Productividad Tiempo de retorno Tiempo de espera Tiempo de respuesta

Tipos de Planificacin
En un SO complejo pueden coexistir tres tipos de planificadores:

Planificador a largo plazo (PLP)


Selecciona los trabajos que deben admitirse en el sistema. Administra todos los recursos del sistema excepto el CPU. Mantiene las colas de procesos bloqueados y suspendidos. Controla la creacin de procesos. Cuando son ejecutables varios procesos, el SO deben decidir cul conviene ejecutar si el CPU se encuentra disponible.

Planificador a corto plazo (PCP)


Determina cules procesos pueden competir por el CPU. Equilibrar la admisin de trabajos en el sistema con la asignacin del CPU a dichos procesos.

Planificador a medio plazo (PMP)


Determina a cul proceso liste se le asignar el CPU cuando ste se encuentra disponible.

Tipos de Planificacin

Operaciones de Procesos
Los procesos del sistema se pueden ejecutar de forma concurrente, y se deben crear y eliminar dinmicamente. Por ello, el sistema operativo debe contar con un mecanismo para crear y terminar proceso.

Creacin de Procesos
Un proceso puede crear varios procesos nuevos, a travs de una llamada al sistema de crear proceso, durante el curso de ejecucin. El proceso creador se denomina procesos padre y los nuevos procesos son los hijos de ese proceso. Cada uno de estos procesos nuevos puede a su vez crear otros procesos, formando un rbol de procesos.

Terminacin de procesos
Un proceso acaba cuando termina de ejecutar su ultimo enunciado y le pide al sistema operativo que lo elimine utilizando la llamada al sistema salir (exit). En ese momento, el proceso podra devolver datos (salidas) a su proceso padre (por medio de la llamada al sistema esperar). El sistema operativo liberara todos los recursos del proceso, incluidos memoria fsica y virtual, archivos abiertos y buffers de E/S.

Operaciones de Procesos

Operaciones de Procesos

Operaciones de Procesos

Comunicacin de Procesos
Los procesos con frecuencia necesitan comunicarse con otros procesos. Por ejemplo, en un conducto de Shell, la salida del primer proceso debe pasarse al segundo proceso, y as sucesiva mente. Por tanto, es necesaria la comunicacin entre procesos, de preferencia en una forma bien estructurada que no utilice interrupciones. En las siguientes secciones examinaremos algunos de los problemas relacionados con esta comunicacin entre procesos o IPC.

Ejemplo IPC
Un problema de IPC clsico ocurre en una peluquera. Esta peluquera tiene un peluquero, una silla de peluquero y n sillas donde pueden sentarse los clientes que esperan, si los hay. Si no hay clientes presentes, el peluquero se sienta en la silla de peluquero y se duerme, como se ilustra al final del ejemplo. Cuando llega un cliente, tiene que despertar al peluquero dormido. Si llegan clientes adicionales mientras el peluquero est cortndole el pelo a un cliente, se sientan (si hay sillas vacas) o bien salen del establecimiento (si todas las sillas estn ocupadas). El problema consiste en programar al peluquero y sus clientes sin entrar en condiciones de competencia.

Ejemplo IPC
Nuestra solucin utiliza tres semforos: customers, que cuenta a los clientes en espera (excluyendo al que est siendo atendido, que no est esperando), barbers, el nmero de peluqueros que estn ociosos, esperando clientes (0 o 1), y mutex, que se usa para la exclusin mutua. Tambin necesitamos una variable, waiting (esperando), que tambin cuenta los clientes que estn esperando, y que en esencia es una copia de customers. Necesitamos esta variable porque no es posible leer el valor actual de un semforo. En esta solucin, un cliente que entra en la peluquera debe contar el nmero de clientes que esperan. Si este nmero es menor que el nmero de sillas, se queda; si no, se va.

Ejemplo IPC

Ejemplo IPC

Bibliografa
Andrew Tanenbaum, Sistemas Operativos, Mexico, Prentice Hall, 1997, 2 Ed. Silberchatz Galvin, Sistemas Operativos, Mexico, Pearson, 1999, 5 Ed. Joaquin Aranda, Sistemas Operativos, Espaa, Sanz y Torres, 2002 Pablo Ruiz Murquiz, Sistemas Operativos, Alqua, 2004, 0.5 Ver.

Gracias!
Ing. Darwin Daz Garrampi
C09071@utp.edu.pe

Das könnte Ihnen auch gefallen