gestion de procesos sistemas operativos

35
GESTION DE PROCESOS Procesos y tareas Uno de los módulos más importantes de un sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. El sistema realiza varias actividades simultáneamente que compiten por la utilización de determinados recursos, entre los que destaca la CPU, estas actividades se denominan procesos. www.miceminfo.com www.aulavirtual.miceminfo.com [email protected] Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com aulavirtual.miceminfo.com Lic. Marvin Romero UGB, San Miguel

Upload: marvin-romero

Post on 01-Jul-2015

2.969 views

Category:

Documents


1 download

DESCRIPTION

Gestion De Procesos sistemas operativos

TRANSCRIPT

Page 1: Gestion De Procesos sistemas operativos

GESTION DE PROCESOS

Procesos y tareas• Uno de los módulos más importantes de un

sistema operativo es la de administrar los procesos y tareas del sistema de cómputo.

• El sistema realiza varias actividades simultáneamente que compiten por la utilización de determinados recursos, entre los que destaca la CPU, estas actividades se denominan procesos.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 2: Gestion De Procesos sistemas operativos

• Un programa, por si solo, es una entidad pasiva mientras que un proceso es una entidad activa ya que compite por los recursos máquina.

• El proceso es una unidad de trabajo del sistema y el sistema operativo es el responsable de realizar un seguimiento de todas las actividades del sistema en conexión con los procesos generados.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 3: Gestion De Procesos sistemas operativos

División implícita y explicita de

traerás• Dependiendo del SO y del entorno objetivo de

ejecución de programas.

• La división de un trabajo en tareas que serán ejecutadas como procesos independientes así como la asignación inicial de los atributos de esos procesos pueden ser efectuadas o bien por el SO o bien por el desarrollador de la aplicación

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 4: Gestion De Procesos sistemas operativos

En otras palabras lo que constituirá un proceso independiente

• 1._ División implícita de tareas definida por el sistema

• 2._ División explicita de tareas definida por el desarrollador

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 5: Gestion De Procesos sistemas operativos

Tipos de procesos y relación entre

procesos concurrentes

• En principio podemos realizar una clasificación muy general de los procesos entre procesos de usuario y procesos de sistema

• Un proceso de usuario es aquel creado por el SO.

• Un proceso de sistema es un proceso que forma parte del propio SO y que desempeña alguna de sus labores características

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 6: Gestion De Procesos sistemas operativos

El sistema operativo y los procesos

• Todos los SO de multiprogramación están construidos entorno al concepto de proceso

• Los requerimientos principales que debe cumplir un SO para con los procesos son los siguientes:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 7: Gestion De Procesos sistemas operativos

• 1._ El SO debe intercalar la ejecución de procesos para optimizar la utilización de l procesador ofreciendo alavés un tiempo de respuesta razonable

• 1._ El SO debe asignar los recursos del sistema a los procesos en conformidad con una política especifica que evite situaciones de ínter bloqueo

• 1._ El SO podría tener que dar soporte ala comunicación entre procesos y ofrecer mecanismos para su creación

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 8: Gestion De Procesos sistemas operativos

Creación y terminación de procesos

• El sistema de operación debe crear un mecanismo para la creación y terminación de procesos.

1._ Creación de procesosCuando un nuevo proceso se agrega el sistema de operación construye las estructuras de datos que son usadas para administrar los procesos y le asigna espacio de direcciones. Estas acciones constituyen la creación de un nuevo proceso.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 9: Gestion De Procesos sistemas operativos

Los eventos comunes para la creación

de procesos• - En un ambiente batch, un proceso es creado en

respuesta al sometimiento a ejecución de un trabajo.• - En un ambiente interactivo, un proceso es creado

cuando un nuevo usuario entra al sistema.• - El sistema de operación puede crear un proceso para

que realice una función en respuesta a una petición de un programa usuario, sin que el usuario tenga que esperar.

• - Creación de procesos hijos por parte de procesos usuarios ya existentes el proceso que crea se llama proceso padre.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 10: Gestion De Procesos sistemas operativos

2._ Terminación de procesos

• Un proceso termina cuando ejecuta su última instrucción y pide al sistema operativo que lo elimine. En este momento, el proceso puede devolver un valor de estado a su proceso padre.

• El sistema operativo libera la asignación de todos los recursos del proceso, incluyendo las memorias física y virtual, los archivos abiertos y los búferes de E\S.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 11: Gestion De Procesos sistemas operativos

• La terminación puede producirse también en otras circunstancias.

• Un proceso puede causar la terminación de otro proceso a través de la adecuada llamada al sistema.

• Dicha llamada al sistema al sistema sólo puede ser invocada por el padre del proceso que va a terminar.

• En caso contrario, los usuarios podrían terminar arbitrariamente los trabajos de otros usuarios.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 12: Gestion De Procesos sistemas operativos

• Adicionalmente, un número de error o una condición de fallo puede llevar a la finalización de un proceso. Las condiciones mas habituales son las siguientes:

▫ Finalización normal .

▫ Limite de tiempo excedido.

▫ Memoria no disponible.

▫ Violaciones de frontera .

▫ Error de protección .

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 13: Gestion De Procesos sistemas operativos

▫ Limite de tiempo.

▫ Fallo de E/S.

▫ Instrucción no válida.

▫ Instrucción privilegiada.

▫ Uso inapropiado de datos.

▫ Intervención del operador por el sistema operativo.

▫ Terminación del proceso padre.

▫ Solicitud del proceso padre.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 14: Gestion De Procesos sistemas operativos

ESTADOS DE

UN PROcESO

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 15: Gestion De Procesos sistemas operativos

El SO gestiona los recursos disponibles (memoria, CPU, etc.) entre los procesos que en ese momento trabajan en el sistema, de tal forma que, para ellos, el sistema se comporte como si fuera monousuario. Así que, en un sistema monoprocesador, la CPU se reparte entre los procesos que se tengan en ese momento.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 16: Gestion De Procesos sistemas operativos

Modelo de dos estados

• Se trata de la utilización de dos archivos, un objeto ejecutable y una biblioteca del sistema, que después se colocan en la imagen del proceso dentro de la memoria RAM y posteriormente también se dan de alta dentro de la tabla de procesos, bloqueo de control del proceso.

NO EJECUCIONEJECUCION

ENTRAR SALIR

PAUSAR

EXPEDIR

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 17: Gestion De Procesos sistemas operativos

En ese modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución. Es necesario q el SO pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria, y procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 18: Gestion De Procesos sistemas operativos

Modelo de cinco estados

LISTOESPERA

EJECUCION

NUEVO TERMINADO

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 19: Gestion De Procesos sistemas operativos

El modelo anterior de 2 estados funcionaríabien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar, se deba esperar algún suceso antes de continuar. Es por esto que se necesita un estado donde los procesos permanezcan esperando la realización de la operación de Entrada Salida por parte del Sistema Operativo hasta que puedan proseguir. Se divide entonces al estado No ejecución en dos estados: Listo y Espera. Se agregan además un estado Nuevo y otro Terminado.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 20: Gestion De Procesos sistemas operativos

Los cinco estados de este diagrama

Nuevo: El proceso recién fue creado y todavía no fue admitido por el SO . En general los procesos que se encuentran en este estado

Todavía no fueron cargados en la memoria principal. Listo: el proceso está listo para ser ejecutado, sólo está

esperando que el planificador de corto plazo así lo disponga.

Ejecución: Se encuentra el proceso que tiene el control del procesador. Dado que en un instante determinado solo un proceso puede encontrarse en este estado.

Espera: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como la finalización de una operación de E/S solicitada por una llamada al SO .

Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 21: Gestion De Procesos sistemas operativos

ESTADOS DE UN PROSESO DE SISTEMAS

• Preparado (R).- Proceso que está listo para ejecutarse • Ejecutando (O).- Sólo uno de los procesos preparados se está

ejecutando en cada momento• Suspendido (S).- Se esta suspendido si no entra en el reparto

de CPU, el proceso pasa a formar parte del conjunto de procesos preparados.

• PARADO (T).- Será cuando pasarán a estar preparadoscuando reciban una señal determinada que les permita continuar.

• Zombie (Z).- Todo proceso al finalizar avisa a su proceso padre . En vaso de que el padre no lo reciba, el proceso hijo queda en estado zombie, no está consumiendo CPU, pero sí continua consumiendo recursos del sistema .

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 22: Gestion De Procesos sistemas operativos

Transiciones de estado de los procesos

• De ejecución á Bloqueado: Se realiza esta transición cuando cuando queda en espera cuando por la concesión de sus recursos o por la determinación de un suceso.

• De ejecución á Listo: Cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose ,el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo.

• De Listo á en ejecución: Cuando lo requiere el planificador de la CPU.

• De Bloqueado á Listo: Se dispone del recurso por el que se había bloqueado el proceso.

• De Nuevo a Preparado: Es cuando el SO acepta o admite un proceso mas.

• De Preparado a Terminado: Ocurre cuando cuando el proceso padre decide finalizar la ejecución del hijo.

• De Bloqueado a Terminado: Ocurre cuándo el proceso supere el tiempo máximo de espera de un recurso y el SO decida terminarlo.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 23: Gestion De Procesos sistemas operativos

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 24: Gestion De Procesos sistemas operativos

PROCESOS SUSPENDIDOS• Debido a que el procesador esmucho mas rápido que losdispositivos de E/S puede ocurrirque en un momento dado todos losprocesos del sistema se encuentranbloqueados a al espera de que secomplete alguna operación de E/S.

Para solucionar este problema existedos opciones:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 25: Gestion De Procesos sistemas operativos

1. Ampliar la memoria en forma quesea posible y albergar en ella masprocesos y incrementar asi laposibilidad de que alguno de elloshaga uso efectivo del procesador.

2. La otra solución consiste en ampliaruna técnica conocida comoINTERCAMBIO SHAPING: estatécnica consiste que en cuando todoslos procesos que se encuentran enmemoria principal están bloqueados.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 26: Gestion De Procesos sistemas operativos

En general se considera suspendido a un proceso que presenta las

características siguientes

1) Un proceso suspendido no esta disponible de inmediato para su ejecución.

2) Un proceso puede estar esperando o no un suceso. Si lo esta la condición de bloqueado es independiente de la condición de suspendido y el acontecimiento del suceso bloqueante no lo habilita para ejecución.

3) El proceso fue situado en estado en estado suspendido por un agente (el SO o el proceso padre) con el fin de impedir la ejecución

4) El proceso no puede apartarse de estado hasta que llegue la orden exprese para ello.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 27: Gestion De Procesos sistemas operativos

LAS TRANSMISIONES QUE INVOLOGRAN A LOS

NUEVOS ESTADOS SON LOS SIGUENTES:

• Transmisión bloqueado y suspendido preparado y suspendido:

• Transmisión preparado y suspendido-preparado:

• Transmisión preparado-preparado y suspendido:

• Transmisión bloqueado y suspendido –bloqueado:

• Transmisión ejecución – preparado y suspendido:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 28: Gestion De Procesos sistemas operativos

Entre las razones mas habituales para la

suspensión de procesos podemos citar las

siguientes:

1. Intercambio un proceso por otros. El SO nesicitaliberar memoria principal para cargar un proceso que esta listo para ejecutarse

2. Suspensión de un proceso por el SO por sospechar que esta causado algún tipo de problemas.

3. Solicitud expresa del usuario.4. Un proceso puede ejecutarse periódicamente y

puede ser suspendido mientras espera el intervalo de tiempo antes de una nueva ejecución.

5. Por una petición del proceso padre.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 29: Gestion De Procesos sistemas operativos

ESTRUCTURA DE CONTROL

DEL SISTEMA OPERATIVO

El S.O. es el controlador de los sucesos que se producenen un sistema informático, responsable de lassolicitudes del usuario, administra los procesos yrecursos del sistema, mediante elementos

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 30: Gestion De Procesos sistemas operativos

TABLAS DE MEMORIA DE E/S DE

ARCHIVOS Y DE PROCESOSEl SO para administrar los procesos y recursosmantiene tablas de información sobre cadaentidad que esta administrando e incluyen losiguiente:

1. Asignación de memoria principal y secundariaa los procesos.

2. Información necesaria para la gestión de lamemoria secundaria.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 31: Gestion De Procesos sistemas operativos

• Las tablas de E/S: administra los dispositivos y canales de E/S puede estar disponible o estar asignado a un proceso particular.

• Tablas de archivos: Sobre su posición ydistribución en la memoria secundaria.

Un ejemplo de estructura para la ubicación dearchivos es la conocida como FAT (FileAllocation Table) la informacion almacenadapara cada proceso consiste en:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 32: Gestion De Procesos sistemas operativos

1. Datos de usuario.

2. Programa de usuario.

3. Pila de sistema.

4. Bloque de control de proceso.

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 33: Gestion De Procesos sistemas operativos

BLOQUE DE CONTROL DE PROCESOS

(BCP)Cada vez que se crea un proceso, el SO crea uno

de estos bloques, Cuando el proceso termina, su

BCP es liberado y devuelto al deposito de celdas

libres del cual se extraen nuevos BCPs.

La información del BCP se agrupageneralmente en las siguientes categorías:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 34: Gestion De Procesos sistemas operativos

1. IDENTIFICACIÓN DEL PROCESO

a) El identificador del proceso (PID): Consiste en un número entero asignado por el sistema.b) El identificador del proceso padrec) La Identificacion del usuario: Es una cadena de caracteres

2. INFORMACIÓN DEL ESTADO DEL PROCESADORa) Registros visibles para el usuario:b) Registros de control y estado.c) Puntero a la pila del proceso:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el

Page 35: Gestion De Procesos sistemas operativos

3. INFORMACIÓN DE CONTROL Y GESTIÓN DEL PROCESO:

a) Información de planificacion y estado:b) Estructuración de datos:

c) Comunicación entre procesos:d) Privilegios de los procesos: e) Gestión de memoria:f ) Recursos en propiedad y utilización de los procesos:

www.miceminfo.com www.aulavirtual.miceminfo.com [email protected]

Lic. Marvin Romero UGB, San Miguel blog.miceminfo.com

aulav

irtua

l.mice

minfo.c

om

Lic. M

arvin

Romero

UGB, San

Migu

el