GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

46
GESTION DE PROCESOS GESTION DE PROCESOS Procesos y tareas Procesos y tareas Uno de los módulos más importantes de un Uno de los módulos más importantes de un sistema operativo es la de administrar los sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. procesos y tareas del sistema de cómputo. El sistema realiza varias actividades El sistema realiza varias actividades simultáneamente que compiten por la simultáneamente que compiten por la utilización de determinados recursos, utilización de determinados recursos, entre los que destaca la CPU, estas entre los que destaca la CPU, estas actividades se actividades se denominan procesos. denominan procesos.

description

PRESENTACION EN POWERPOINT TODO SOBRE GESTION DE PROCESOS

Transcript of GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Page 1: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

GESTION DE PROCESOSGESTION DE PROCESOS

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

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

El sistema realiza varias actividades simultáneamente El sistema realiza varias actividades simultáneamente que compiten por laque compiten por la

utilización de determinados recursos, entre los que utilización de determinados recursos, entre los que destaca la CPU, estas actividades sedestaca la CPU, estas actividades se

denominan procesos.denominan procesos.

Page 2: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

El proceso es una unidad de trabajo del sistema El proceso es una unidad de trabajo del sistema y el sistema operativo es el responsable de y el sistema operativo es el responsable de realizar unrealizar un

seguimiento de todas las actividades del seguimiento de todas las actividades del sistema en conexión con los procesos sistema en conexión con los procesos generados.generados.

Page 3: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

División implícita y explicita de División implícita y explicita de traerástraerás

Dependiendo del SO y del entorno objetivo de Dependiendo del SO y del entorno objetivo de ejecución de programas.ejecución de programas.

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

Page 4: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

En otras palabras lo que constituirá un proceso En otras palabras lo que constituirá un proceso independienteindependiente

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

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

Page 5: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Tipos de procesos y relación entre Tipos de procesos y relación entre procesos concurrentesprocesos concurrentes

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

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

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

Page 6: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

El sistema operativo y los procesosEl sistema operativo y los procesos

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

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

Page 7: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

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

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

Page 8: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Creación y terminación de procesosCreación y terminación de procesos El sistema de operación debe crear un El sistema de operación debe crear un

mecanismo para la creación y terminación de mecanismo para la creación y terminación de procesos.procesos.

1._ 1._ Creación de procesosCreación de procesos

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

Page 9: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Los eventos comunes para la Los eventos comunes para la creación de procesoscreación de procesos

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

- En un ambiente interactivo, un proceso es creado - En un ambiente interactivo, un proceso es creado cuando un nuevo usuario entra al sistema.cuando un nuevo usuario entra al sistema.

- El sistema de operación puede crear un proceso - El sistema de operación puede crear un proceso para que realice una función en respuesta a una para que realice una función en respuesta a una petición de un programa usuario, sin que el usuario petición de un programa usuario, sin que el usuario tenga que esperar.tenga que esperar.

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

Page 10: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

2._ 2._ Terminación de procesosTerminación de procesos

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

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

Page 11: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

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

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

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

Page 12: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

Finalización normalFinalización normal . . Limite de tiempo excedido.Limite de tiempo excedido. Memoria no disponible.Memoria no disponible. Violaciones de fronteraViolaciones de frontera . . Error de protecciónError de protección . .

Page 13: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Limite de tiempo.Limite de tiempo. Fallo de E/S.Fallo de E/S. Instrucción no válida.Instrucción no válida. Instrucción privilegiada.Instrucción privilegiada. Uso inapropiado de datos.Uso inapropiado de datos. Intervención del operador por el sistema Intervención del operador por el sistema

operativo.operativo. Terminación del proceso padre.Terminación del proceso padre. Solicitud del proceso padre.Solicitud del proceso padre.

Page 14: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

ESTADOS DE UN ESTADOS DE UN PROSESOPROSESO

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.

Page 15: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

ESTADOS DE ESTADOS DE UN PROSESOUN PROSESO

Page 16: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

Page 17: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Modelo de dos estadosModelo de dos estados Se trata de la utilización de dos archivos, un objeto Se trata de la utilización de dos archivos, un objeto

ejecutable y una biblioteca del sistema, que después se ejecutable y una biblioteca del sistema, que después se colocan en la imagen del proceso dentro de la memoria colocan en la imagen del proceso dentro de la memoria RAM y posteriormente también se dan de alta dentro de la RAM y posteriormente también se dan de alta dentro de la tabla de procesos, bloqueo de control del proceso.tabla de procesos, bloqueo de control del proceso.

NO EJECUCIONEJECUCION

ENTRAR SALIR

PAUSAR

EXPEDIR

Page 18: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

Page 19: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Modelo de cinco estadosModelo de cinco estados

LISTOESPERA

EJECUCION

NUEVO TERMINADO

Page 20: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

El modelo anterior de 2 estados funcionaríaEl modelo anterior de 2 estados funcionaría bien con una cola FIFO y planificación por bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en turno rotatorio para los procesos que no están en

ejecución, si los procesos estuvieran siempre listos ejecución, si los procesos estuvieran siempre listos para ejecutar, se deba esperar algún suceso para ejecutar, se deba esperar algún suceso antes de continuar. Es por esto que se necesita un antes de continuar. Es por esto que se necesita un estado donde los procesos permanezcan esperando la estado donde los procesos permanezcan esperando la realización de la operación de Entrada Salida por realización de la operación de Entrada Salida por parte del Sistema Operativo hasta que puedan parte del Sistema Operativo hasta que puedan proseguir. Se divide entonces al estado proseguir. Se divide entonces al estado No ejecuciónNo ejecución en dos estados: en dos estados: ListoListo y y EsperaEspera. Se agregan además un . Se agregan además un estado estado NuevoNuevo y otro y otro TerminadoTerminado..

Page 21: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Los cinco estados de este diagramaLos cinco estados de este diagrama

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

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

el planificador de corto plazo así lo disponga. el planificador de corto plazo así lo disponga. Ejecución:Ejecución: Se encuentra el proceso que tiene el control del Se encuentra el proceso que tiene el control del

procesador. Dado que en un instante determinado solo un proceso procesador. Dado que en un instante determinado solo un proceso puede encontrarse en este estado.puede encontrarse en este estado.

Espera:Espera: el proceso no puede ejecutar hasta que no se produzca cierto 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 suceso, como la finalización de una operación de E/S solicitada por una llamada al SO .una llamada al SO .

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

Page 22: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

ESTADOS DE UN PROSESO DE ESTADOS DE UN PROSESO DE SISTEMASSISTEMAS

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

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

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

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

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

Page 23: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Transiciones de estado de los procesosTransiciones de estado de los procesos

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

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

De Listo á en ejecución:De Listo á en ejecución: Cuando lo requiere el planificador de la CPU. Cuando lo requiere el planificador de la CPU. De Bloqueado á Listo:De Bloqueado á Listo: Se dispone del recurso por el que se había Se dispone del recurso por el que se había

bloqueado el proceso. bloqueado el proceso. De Nuevo a Preparado:De Nuevo a Preparado: Es cuando el SO acepta o admite un proceso mas. Es cuando el SO acepta o admite un proceso mas. De Preparado a Terminado:De Preparado a Terminado: Ocurre cuando cuando el proceso padre Ocurre cuando cuando el proceso padre

decide finalizar la ejecución del hijo.decide finalizar la ejecución del hijo. De Bloqueado a Terminado:De Bloqueado a Terminado: Ocurre cuándo el proceso supere el tiempo Ocurre cuándo el proceso supere el tiempo

máximo de espera de un recurso y el SO decida terminarlo.máximo de espera de un recurso y el SO decida terminarlo.

Page 24: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
Page 25: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

PROCESOS SUSPENDIDOSPROCESOS SUSPENDIDOS

Debido a que el procesador es mucho Debido a que el procesador es mucho mas rápido que los dispositivos de E/S mas rápido que los dispositivos de E/S puede ocurrir que en un momento dado puede ocurrir que en un momento dado todos los procesos del sistema se todos los procesos del sistema se encuentran bloqueados a al espera de encuentran bloqueados a al espera de que se complete alguna operación de que se complete alguna operación de E/S.E/S.Para solucionar este problema existe dos Para solucionar este problema existe dos opciones: opciones:

Page 26: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

1. Ampliar la memoria en forma quesea 1. Ampliar la memoria en forma quesea posible y albergar en ella mas procesos y posible y albergar en ella mas procesos y incrementar asi la posibilidad de que incrementar asi la posibilidad de que alguno de ellos haga uso efectivo del alguno de ellos haga uso efectivo del procesador.procesador.

2. La otra solución consiste en ampliar una 2. La otra solución consiste en ampliar una técnica conocida como técnica conocida como INTERCAMBIO INTERCAMBIO SHAPING:SHAPING: esta técnica consiste que en esta técnica consiste que en cuando todos los procesos que se cuando todos los procesos que se encuentran en memoria principal están encuentran en memoria principal están bloqueados.bloqueados.

Page 27: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

En general se considera suspendido a un proceso que presenta las En general se considera suspendido a un proceso que presenta las características siguientescaracterísticas siguientes

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

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

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

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

Page 28: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

LAS TRANSMISIONES QUE INVOLOGRAN A LAS TRANSMISIONES QUE INVOLOGRAN A LOS NUEVOS ESTADOS SON LOS SIGUENTES:LOS NUEVOS ESTADOS SON LOS SIGUENTES:

Transmisión bloqueado y suspendido preparado y Transmisión bloqueado y suspendido preparado y suspendido: suspendido:

Transmisión preparado y suspendido-preparado:Transmisión preparado y suspendido-preparado: Transmisión preparado-preparado y suspendido:Transmisión preparado-preparado y suspendido: Transmisión bloqueado y suspendido – bloqueado:Transmisión bloqueado y suspendido – bloqueado: Transmisión ejecución – preparado y suspendido:Transmisión ejecución – preparado y suspendido:

Page 29: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Entre las razones mas habituales para la Entre las razones mas habituales para la suspensión de procesos podemos podemos suspensión de procesos podemos podemos

citar las siguientes:citar las siguientes:1.1. Intercambio un proceso por otros. El SO nesicita liberar Intercambio un proceso por otros. El SO nesicita liberar

memoria principal para cargar un proceso que esta listo memoria principal para cargar un proceso que esta listo para ejecutarsepara ejecutarse

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

3.3. Solicitud expresa del usuario.Solicitud expresa del usuario.4.4. Un proceso puede ejecutarse periódicamente y puede Un proceso puede ejecutarse periódicamente y puede

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

5.5. Por una petición del proceso padre.Por una petición del proceso padre.

Page 30: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

ESTRUCTURA DE ESTRUCTURA DE CONTROL DEL CONTROL DEL

SISTEMA OPERATIVOSISTEMA OPERATIVOEl s.o. es el controlador de los sucesos que se El s.o. es el controlador de los sucesos que se producen en un sistema informático, producen en un sistema informático, responsable de las solicitudes del usuario, responsable de las solicitudes del usuario, administra los procesos y recursos del administra los procesos y recursos del sistema, mediante elementossistema, mediante elementos

Page 31: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

TABLAS DE MEMORIA DE E/S TABLAS DE MEMORIA DE E/S DE ARCHIVOS Y DE PROCESOSDE ARCHIVOS Y DE PROCESOS

Si el SO para administrar los procesos y Si el SO para administrar los procesos y recursos mantiene tablas de información sobre recursos mantiene tablas de información sobre cada entidad que esta administrando e cada entidad que esta administrando e incluyen lo siguiente.incluyen lo siguiente.

1. Asignación de memoria principal y secundaria 1. Asignación de memoria principal y secundaria a los procesos. a los procesos.

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

Page 32: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

tablas de archivos: tablas de archivos: Sobre su posición y Sobre su posición y distribución en la memoria sec distribución en la memoria sec

Un ejemplo de estructura para la ubicación de Un ejemplo de estructura para la ubicación de archivos es la conocida como FAT (File archivos es la conocida como FAT (File Allocation Table) Allocation Table)

la informacion almacenada para cada la informacion almacenada para cada proceso consiste enproceso consiste en

Page 33: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

1.1. Datos de usuario. Datos de usuario.

2. Programa de usuario.2. Programa de usuario.

3. Pila de sistema.3. Pila de sistema.

4. Bloque de control de proceso.4. Bloque de control de proceso.

Page 34: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

BLOQUE DE CONTROL DE BLOQUE DE CONTROL DE PROCESOS (BCP)PROCESOS (BCP)

Cada vez que se crea un proceso, el SO crea uno Cada vez que se crea un proceso, el SO crea uno

de estos bloques, Cuando el proceso termina, su de estos bloques, Cuando el proceso termina, su

BCP es liberado y devuelto al deposito de celdas BCP es liberado y devuelto al deposito de celdas

libres del cual se extraen nuevos BCPs.libres del cual se extraen nuevos BCPs.

La información del BCP se agrupa generalmente en las siguientes categorías

Page 35: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

1.1. IDENTIFICACIÓN DEL PROCESOIDENTIFICACIÓN DEL PROCESO a) El identificador del proceso (PID): Consiste en a) El identificador del proceso (PID): Consiste en un número entero asignado por el sistema.un número entero asignado por el sistema. b) El identificador del proceso padreb) El identificador del proceso padre c) La Identificacion del usuario: Es una cadena de c) La Identificacion del usuario: Es una cadena de

caracterescaracteres

2. 2. INFORMACIÓN DEL ESTADO DEL INFORMACIÓN DEL ESTADO DEL PROCESADORPROCESADOR

a) Registros visibles para el usuario:a) Registros visibles para el usuario: b) Registros de control y estado.b) Registros de control y estado. c) Puntero a la pila del proceso:c) Puntero a la pila del proceso:

Page 36: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

a) Información de planificacion y estado:a) Información de planificacion y estado: b) Estructuración de datos:b) Estructuración de datos: c) Comunicación entre procesos:c) Comunicación entre procesos: d) Privilegios de los procesos: d) Privilegios de los procesos: e) Gestión de memoria:e) Gestión de memoria: f ) Recursos en propiedad y utilización de los f ) Recursos en propiedad y utilización de los

procesos:procesos:

Page 37: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

ESTADOS DE ESTADOS DE UN PROSESOUN PROSESO

Page 38: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

Page 39: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Modelo de dos estadosModelo de dos estados Se trata de la utilización de dos archivos, un objeto Se trata de la utilización de dos archivos, un objeto

ejecutable y una biblioteca del sistema, que después se ejecutable y una biblioteca del sistema, que después se colocan en la imagen del proceso dentro de la memoria colocan en la imagen del proceso dentro de la memoria RAM y posteriormente también se dan de alta dentro de la RAM y posteriormente también se dan de alta dentro de la tabla de procesos, bloqueo de control del proceso.tabla de procesos, bloqueo de control del proceso.

NO EJECUCIONEJECUCION

ENTRAR SALIR

PAUSAR

EXPEDIR

Page 40: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

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

Page 41: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Modelo de cinco estadosModelo de cinco estados

LISTOESPERA

EJECUCION

NUEVO TERMINADO

Page 42: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

El modelo anterior de 2 estados funcionaríaEl modelo anterior de 2 estados funcionaría bien con una cola FIFO y planificación por bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en turno rotatorio para los procesos que no están en

ejecución, si los procesos estuvieran siempre listos ejecución, si los procesos estuvieran siempre listos para ejecutar, se deba esperar algún suceso para ejecutar, se deba esperar algún suceso antes de continuar. Es por esto que se necesita un antes de continuar. Es por esto que se necesita un estado donde los procesos permanezcan esperando la estado donde los procesos permanezcan esperando la realización de la operación de Entrada Salida por realización de la operación de Entrada Salida por parte del Sistema Operativo hasta que puedan parte del Sistema Operativo hasta que puedan proseguir. Se divide entonces al estado proseguir. Se divide entonces al estado No ejecuciónNo ejecución en dos estados: en dos estados: ListoListo y y EsperaEspera. Se agregan además un . Se agregan además un estado estado NuevoNuevo y otro y otro TerminadoTerminado..

Page 43: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Los cinco estados de este diagramaLos cinco estados de este diagrama

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

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

el planificador de corto plazo así lo disponga. el planificador de corto plazo así lo disponga. Ejecución:Ejecución: Se encuentra el proceso que tiene el control del Se encuentra el proceso que tiene el control del

procesador. Dado que en un instante determinado solo un proceso procesador. Dado que en un instante determinado solo un proceso puede encontrarse en este estado.puede encontrarse en este estado.

Espera:Espera: el proceso no puede ejecutar hasta que no se produzca cierto 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 suceso, como la finalización de una operación de E/S solicitada por una llamada al SO .una llamada al SO .

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

Page 44: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

ESTADOS DE UN PROSESO DE ESTADOS DE UN PROSESO DE SISTEMASSISTEMAS

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

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

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

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

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

Page 45: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS

Transiciones de estado de los procesosTransiciones de estado de los procesos

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

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

De Listo á en ejecución:De Listo á en ejecución: Cuando lo requiere el planificador de la CPU. Cuando lo requiere el planificador de la CPU. De Bloqueado á Listo:De Bloqueado á Listo: Se dispone del recurso por el que se había Se dispone del recurso por el que se había

bloqueado el proceso. bloqueado el proceso. De Nuevo a Preparado:De Nuevo a Preparado: Es cuando el SO acepta o admite un proceso mas. Es cuando el SO acepta o admite un proceso mas. De Preparado a Terminado:De Preparado a Terminado: Ocurre cuando cuando el proceso padre Ocurre cuando cuando el proceso padre

decide finalizar la ejecución del hijo.decide finalizar la ejecución del hijo. De Bloqueado a Terminado:De Bloqueado a Terminado: Ocurre cuándo el proceso supere el tiempo Ocurre cuándo el proceso supere el tiempo

máximo de espera de un recurso y el SO decida terminarlo.máximo de espera de un recurso y el SO decida terminarlo.

Page 46: GESTION DE PROCESOS EN SISTEMAS OPERATIVOS