Top Banner
Sistemas Operativos José David Ortega Pacheco Instituto Politécnico Nacional Escuela Superior de Cómputo Departamento de Ingeniería en Sistemas Computacionales Academia de Sistemas Distribuidos Unidad II Administración de procesos
127

II Procesos

Feb 17, 2016

Download

Documents

Adrian JC

Tema de Procesos para Linux
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: II Procesos

Sistemas Operativos

José David Ortega Pacheco

Instituto Politécnico NacionalEscuela Superior de Cómputo

Departamento de Ingeniería en Sistemas ComputacionalesAcademia de Sistemas Distribuidos

Unidad II

Administración de procesos

Page 2: II Procesos

Orden de la presentación

2.1 Introducción

2.2 Comunicación entre procesos

2.3 Semáforos

2.4 Monitores

2.5 Transferencia de Mensajes

2.6 Problemas clásicos de la comunicación entre procesos

2.7 Planificación de procesos

2.8 Administración de procesos en UNIX

IPN, ESCOM, José David Ortega Pacheco 2

Page 3: II Procesos

2.1 Introducción

IPN, ESCOM, José David Ortega Pacheco 3

Page 4: II Procesos

2.1 Introducción

Definición preliminar de proceso: Programa en ejecución

Una definición más completa incluye en la definición anterior los términos:

Código de programa

Datos

IPN, ESCOM, José David Ortega Pacheco 4

Page 5: II Procesos

2.1 Introducción

Para administrar procesos, el sistema operativo utiliza el Bloque de Control de Proceso, el cual contiene información como la siguiente:

Identificador, estado, prioridad, contador de programa, apuntadores a memoria, datos de contexto, estado de la E/S, información de auditoría

IPN, ESCOM, José David Ortega Pacheco 5

Page 6: II Procesos

2.1 Introducción

El modelo de estados es una descripción del comportamiento de los procesos en un sistema operativo

IPN, ESCOM, José David Ortega Pacheco 6

Modelo de 2 estados: Diagrama de transición

Noejecutado

Ejecutando

Entrada

Activado

Desactivado

Salida

Page 7: II Procesos

2.1 Introducción

Creación de un procesos: Razones

• Trabajo por lotes

• Inicio interactivo

• Proveer un servicio

• Petición de un proceso

IPN, ESCOM, José David Ortega Pacheco 7

Page 8: II Procesos

2.1 Introducción

Culminación de un procesos: Razones

IPN, ESCOM, José David Ortega Pacheco 8

• Finalización normal

• Sobrepasar un límite de tiempo enprocesador

• Memoria no disponible

• Violación de memoria

• Error de protección

• Error aritmético

• Sobrepasar tiempo de espera

• Falla de E/S

• Instrucción inválida

• Instrucción privilegiada

• Error de dato

• A petición del usuario o delsistema operativo

• Culminación del padre

• Petición del padre

Page 9: II Procesos

2.1 Introducción

Modelo de 5 estados: Diagrama de transición

IPN, ESCOM, José David Ortega Pacheco 9

Nuevo

EntradaListo

AdmitidoEjecutando

ActivadoSalida

Culminado

Bloqueado

Tiempo

Esperaevento

Ocurreevento

Page 10: II Procesos

2.1 Introducción

Suspensión

Se utiliza cuando todos los estados descritos anteriormente se cargan en memoriaprincipal, lo cual representa un riesgo.

Se puede extender la memoria principal pero esto implica costos, además de quelos programas demandan de manera individual cada vez más espacio de memoria.

Otra solución es el Swapping.

IPN, ESCOM, José David Ortega Pacheco 10

Page 11: II Procesos

2.1 Introducción

Swapping

Implica mover procesos de memoria principal a disco duro mediante un estadodenominado como suspendido.

Es una operación de E/S que tiene riesgos inherentes a los dispositivos de E/S, sinembargo termina siendo una buena solución debido a que el disco duro es de losdispositivos de E/S más rápidos.

IPN, ESCOM, José David Ortega Pacheco 11

Page 12: II Procesos

2.1 Introducción

Modelo de 6 estados: Diagrama de transición

IPN, ESCOM, José David Ortega Pacheco 12

Nuevo

EntradaListo

AdmitidoEjecutando

ActivadoSalida

Culminado

Bloqueado

Tiempo

Esperaevento

Ocurreevento

SuspendidoSuspensión

Activado

Page 13: II Procesos

2.1 Introducción

Modelo de 7 estados: Diagrama de transición

IPN, ESCOM, José David Ortega Pacheco 13

NuevoEntrada

ListoAdmitido

EjecutandoActivado

SalidaCulminado

Bloqueado

TiempoEsperaevento

Ocurreevento

ListoSuspendido

Suspensión

BloqueadoSuspendido

Activado

Ocurreevento

Suspensión

Page 14: II Procesos

2.1 Introducción

Modelo de 5, 6 y 7 estados

En cualquiera de los modelos anteriores se puede pasar de cualquier estado alestado de salida, aunque no se tenga marcada la relación.

IPN, ESCOM, José David Ortega Pacheco 14

Page 15: II Procesos

2.1 Introducción

Suspensión

Podemos generalizar el que un proceso en suspensión tiene cuatro característicasprincipales:

1. El proceso no está disponible de manera inmediata para su ejecución.

2. El proceso puede o no estar esperando un evento.

3. El proceso se puso en suspensión por medio de un agente externo o por elmismo.

4. El proceso no puede ser removido del estado de suspensión a menos que elagente lo ordene.

IPN, ESCOM, José David Ortega Pacheco 15

Page 16: II Procesos

2.1 Introducción

Suspensión: Razones

• Swapping.

• Decisión del Sistema operativo.

• Requerimiento del usuario.

• Ejecución Periódica de algún proceso.

• Requerimiento del padre.

IPN, ESCOM, José David Ortega Pacheco 16

Page 17: II Procesos

Descripción de procesos

El sistema operativo construye y mantiene tablas de información de cada entidadque debe mantener. Se tienen tablas de memoria, procesos, de E/S y archivos.

Las tablas de proceso son el mecanismo de control de procesos.

IPN, ESCOM, José David Ortega Pacheco 17

2.1 Introducción

Page 18: II Procesos

IPN, ESCOM, José David Ortega Pacheco 18

2.1 Introducción

Memoria

E/S

Archivos

Procesos

Tablas de Memoria

Tablas de E/S

Tablas de Archivos

Proceso 1

Proceso n

Imagen de Proceso 1

Imagen de Proceso n

Tabla de Procesos

Descripción de procesos

Page 19: II Procesos

Estructuras de control de procesos

La imagen de proceso representa la ubicación de física de un proceso:

• Datos

• Programa

• Pila

• Bloque de Control de Proceso

IPN, ESCOM, José David Ortega Pacheco 19

2.1 Introducción

Page 20: II Procesos

Estructuras de control de procesos

• Bloque de Control de Proceso: Estructura más importante, contiene todala información que requiere el sistema operativo.

IPN, ESCOM, José David Ortega Pacheco 20

2.1 Introducción

Page 21: II Procesos

Atributos de un procesos

La información contenida en el BCP, se divide en:

1. Identificación de proceso

2. Estado del procesador

3. Control de proceso

IPN, ESCOM, José David Ortega Pacheco 21

2.1 Introducción

Page 22: II Procesos

Atributos de un procesos

1. Identificación de proceso

• PID

• PPID

• UID

• GID

IPN, ESCOM, José David Ortega Pacheco 22

2.1 Introducción

Page 23: II Procesos

Atributos de un procesos

2. Estado del procesador

• Registros visibles al usuario

• Registros de Estatus y de Control

• Apuntadores a pila

IPN, ESCOM, José David Ortega Pacheco 23

2.1 Introducción

Page 24: II Procesos

Atributos de un procesos

3. Control de proceso

• Planificación e información de estado

• Estructura de dato

• Comunicación entre procesos

• Privilegios

• Manejo de memoria

• Propiedad de recursos y utilizaciónIPN, ESCOM, José David Ortega Pacheco 24

2.1 Introducción

Page 25: II Procesos

Creación de procesos

Pasos:

1. Se asigna un nuevo identificador de proceso

2. Se proporciona memoria de datos y de programa

3. Se inicializa el Bloque de Control de Proceso

4. Se inicializan los enlaces apropiados (Si se manejan listas)

5. Crear o expandir otras estructuras de datos

IPN, ESCOM, José David Ortega Pacheco 25

2.1 Introducción

Page 26: II Procesos

Cambio de proceso en el uso de procesador

Mecanismos de interrupción de un procesos en el uso de procesador

IPN, ESCOM, José David Ortega Pacheco 26

2.1 Introducción

Mecanismo Causa Uso

Interrupción Externa a la ejecución de la instrucción actual

Reacción a un evento asíncrono externo

Trap Asociada con la ejecución de la instrucción actual

Manejo de un error o una condición de excepción

Supervisor de llamada Requerimiento explícito Llamada al sistema

Page 27: II Procesos

Cambio de proceso en el uso de procesador

Algunos ejemplos de interrupción:

1. Interrupción de reloj

2. Interrupción de E/S

3. Error de memoria

IPN, ESCOM, José David Ortega Pacheco 27

2.1 Introducción

Page 28: II Procesos

Cambio de proceso en el uso de procesador

Pasos

1. Guardar contexto de procesador

2. Actualizar el Bloque de Control de Proceso (BCP) del proceso actual

3. Mover el BCP a la cola del estado adecuado

4. Seleccionar otro proceso para ejecución

5. Actualizar el BCP del proceso seleccionado

6. Actualizar manejo de memoria y estructuras de datos

7. Restaurar el contexto de procesador con los datos del proceso a ejecutarIPN, ESCOM, José David Ortega Pacheco 28

2.1 Introducción

Page 29: II Procesos

Cuestionario

1. ¿Qué es un proceso?

2. ¿A quién se le llama proceso padre y a quién proceso hijo?

3. ¿Qué eventos pueden llevar a la creación de un proceso y descríbalos?

4. Mencione 6 eventos que pueden llevar a la culminación de un proceso ydescríbalos.

5. ¿Qué es un modelo de estados de proceso?

6. Describa en qué consiste cada uno de los estados del modelo de 5estados para procesos.

IPN, ESCOM, José David Ortega Pacheco 29

Page 30: II Procesos

Cuestionario

7. Bajo qué condiciones se pasa del estado de NUEVO a LISTO en el modelode 5 estados.

8. Bajo qué condiciones se pasa del estado de LISTO a EJECUTANDO en elmodelo de 5 estados.

9. Bajo qué condiciones se pasa del estado de EJECUTANDO a SALIDA en elmodelo de 5 estados.

10. Bajo qué condiciones se pasa del estado de EJECUTANDO a LISTO en elmodelo de 5 estados.

11. Bajo qué condiciones se pasa del estado de EJECUTANDO a BLOQUEADOen el modelo de 5 estados.

12. Bajo qué condiciones se pasa del estado de BLOQUEADO a LISTO en elmodelo de 5 estados.

IPN, ESCOM, José David Ortega Pacheco 30

Page 31: II Procesos

Cuestionario

13. Bajo qué condiciones se pasa del estado de LISTO a SALIDA en el modelode 5 estados.

14. Bajo qué condiciones se pasa del estado de BLOQUEADO a SALIDA en elmodelo de 5 estados.

15. ¿Qué es un proceso suspendido y mencione sus 4 características?

16. Mencione las 5 razones para suspender procesos.

17. ¿Qué es Swapping?

18. Muestre el esquema del modelo de 7 estados para procesos y describaen qué consisten los estados de BLOQUEADO/SUSPENDIDO yLISTO/SUSPENDENDIDO.

IPN, ESCOM, José David Ortega Pacheco 31

Page 32: II Procesos

Cuestionario

19. Bajo qué condiciones se pasa del estado de BLOQUEADO aBLOQUEADO/SUSPENDIDO en el modelo de 7 estados.

20. Bajo qué condiciones se pasa del estado de BLOQUEADO/SUSPENDIDO aLISTO/SUSPENDIDO en el modelo de 7 estados.

21. Bajo qué condiciones se pasa del estado de LISTO/SUSPENDIDO a LISTOen el modelo de 7 estados.

22. Bajo qué condiciones se pasa del estado de LISTO a LISTO/SUSPENDIDOen el modelo de 7 estados.

23. Bajo qué condiciones se pasa del estado de BLOQUEADO/SUSPENDIDO aBLOQUEADO en el modelo de 7 estados.

24. Bajo qué condiciones se pasa del estado de EJECUTANDO aLISTO/SUSPENDIDO en el modelo de 7 estados.

IPN, ESCOM, José David Ortega Pacheco 32

Page 33: II Procesos

Cuestionario

25. ¿Qué son las tablas de control de procesos?

26. ¿Qué es la imagen de proceso y que información contiene de manerageneral?

27. ¿Cuáles son las tres categorías de información que contiene el Bloque deControl de Proceso y qué información contiene cada una?

28. ¿Cuáles son los pasos generales para la creación de procesos y describaen qué consiste cada uno?

29. Mencione tres mecanismos que interrumpen la ejecución de procesos.

30. ¿Cuál es la diferencia entre una interrupción y un trap?

31. Mencione los 7 pasos generales que se dan cuando un proceso cambiadel estado de ejecución a otro estado.

IPN, ESCOM, José David Ortega Pacheco 33

Page 34: II Procesos

2.2 Comunicación entre procesos

IPN, ESCOM, José David Ortega Pacheco 34

Page 35: II Procesos

Concurrencia

El manejo de procesos por parte del sistema operativo tiene tres temas principales:

1. Multiprogramación: Un procesador.

2. Multiprocesamiento: Esquema de más de un procesador.

3. Procesamiento distribuido: Esquema de más de un procesador en diferentesubicaciones.

IPN, ESCOM, José David Ortega Pacheco 35

2.2 Comunicación entre procesos

Page 36: II Procesos

Concurrencia

La concurrencia surge en tres diferentes contextos:

1. Múltiples aplicaciones

2. Aplicaciones estructuradas

3. Estructura del sistema operativo

IPN, ESCOM, José David Ortega Pacheco 36

2.2 Comunicación entre procesos

Page 37: II Procesos

Concurrencia

Conceptos importantes:

1. Sección crítica

2. Deadlock

3. Livelock

4. Exclusión mutua

5. Condición de carrera

IPN, ESCOM, José David Ortega Pacheco 37

2.2 Comunicación entre procesos

Page 38: II Procesos

Concurrencia

Ejemplo (un sólo procesador):

void imprime() Proceso 1 Proceso 2

{

in = getchar(); in = getchar();

out = in in = getchar();

putchar(out); out = in

} putchar(out); out = in

putchar(out);IPN, ESCOM, José David Ortega Pacheco 38

2.2 Comunicación entre procesos

Page 39: II Procesos

Concurrencia

Ejemplo (dos procesadores):

void imprime() Proceso 1 Proceso 2

{ in = getchar();

in = getchar(); in = getchar();

out = in; out = in; out = in;

putchar(out); putchar(out);

} putchar(out);

IPN, ESCOM, José David Ortega Pacheco 39

2.2 Comunicación entre procesos

Page 40: II Procesos

Condición de carrera

P1 y P2 comparten a. P3 y P4 comparten b=1 y c=2.

P1 -> a=1, P2 -> a=2 P3 -> b=b+c, P4 -> c=b+c

Condición de carrera por escribir en a Si p3 se ejecuta primero: b=3 y c = 5

Si p4 se ejecuta primero: b=4 y c = 3

IPN, ESCOM, José David Ortega Pacheco 40

2.2 Comunicación entre procesos

Page 41: II Procesos

Responsabilidades del sistema operativo

1. Administrar procesos.

2. Administrar el uso de recursos para cada proceso activo en el sistema, entre los quedestacan: Tiempo de procesador, Memoria, Archivos y Dispositivos de E/S.

3. Proteger los datos y recursos físicos de cada proceso ante una amenaza deinterferencia llevada a cabo por otros proceso.

4. El funcionamiento de un proceso, así como la salida que este produce, debe serindependiente de la velocidad con la que su ejecución se realiza con respecto a otroproceso.

IPN, ESCOM, José David Ortega Pacheco 41

2.2 Comunicación entre procesos

Page 42: II Procesos

Interacción entre procesos

Se puede tener:

1. Cada proceso es independiente

2. De manera indirecta se tiene dependencia

3. Directamente se tiene comunicación entre ellos

IPN, ESCOM, José David Ortega Pacheco 42

2.2 Comunicación entre procesos

Page 43: II Procesos

Interacción entre procesos

*Proceso que es subestimado por el planificador indefinidamente; aunque se puedeejecutar, no es seleccionado

IPN, ESCOM, José David Ortega Pacheco 43

2.2 Comunicación entre procesos

Dependencia Relación Influencia de un proceso a otro Problemas en el control

No hay Competencia• Resultados independientes• Tiempo de ejecución afectado

• Exclusión Mutua• Deadlock• Inanición*

IndirectaCooperación(comparten

recursos)

• Los resultados pueden depender de lainformación obtenida de otros

• Tiempo de ejecución afectado

• Exclusión Mutua• Deadlock• Inanición• Coherencia de datos

DirectaCooperación

(Comunicación)

• Los resultados pueden depender de lainformación obtenida de otros

• Tiempo de ejecución afectado

• Inanición• Deadlock

Page 44: II Procesos

Competición por recursos

• Se necesita exclusión mutua

• El recurso compartido es un recurso crítico y el segmento de código que hacereferencia al mismo es una sección crítica

• Deadlock. Ejemplo: P1 y P2 requieren R1 y R2, P1 toma R2 y P2 R1, ambos van a dejarel recurso hasta que aseguren tener el otro recurso que necesitan utilizar.

• Inanición. Ejemplo: P1, P2 y P3 requieren acceso al recurso R, P1 toma el recurso y elsistema operativo garantiza que P1 tome el recurso R en su sección crítica, y cuandoéste sale, P3 toma el uso de R. Por alguna razón, P1 nuevamente pide el recurso R ycuando P3 termina su ejecución de sección crítica, nuevamente P1 usa el recurso.

IPN, ESCOM, José David Ortega Pacheco 44

2.2 Comunicación entre procesos

Page 45: II Procesos

Cooperación entre procesos compartiendo recursos

• Compartir variables, archivos o bases de datos

• Se necesita exclusión mutua, se da nuevamente Deadlock e inanición

• El uso de recursos se da ahora bajo el contexto de dos modos de operación: Lectura yEscritura

• Se necesita coherencia de datos. Suponga que la relación que se busca tener es a = b,suponga se inicia con a=b=1:

P1 utiliza a = a+1 y b = b+1 P2 utiliza a = 2*a y b = 2*b

Se ejecuta a = a+1, b= 2*b, b = b+1 y a = 2*a, el que a = b ya no se cumple para losprocesos, dan a=4 y b=3 al final de las operaciones.

IPN, ESCOM, José David Ortega Pacheco 45

2.2 Comunicación entre procesos

Page 46: II Procesos

Cooperación entre procesos mediante comunicación

• Los procesos tienen un fin en común, y la comunicación proporciona un mecanismode sincronización o coordinación de las actividades a realizar.

• No se necesita exclusión mutua, pero los problemas de Deadlock e Inanición sesiguen presentando.

IPN, ESCOM, José David Ortega Pacheco 46

2.2 Comunicación entre procesos

Page 47: II Procesos

Requerimientos para Exclusión Mutua

1. Debe ser obligatoria.

2. Un proceso que ya no está en la sección crítica y termina, no debe interferir conotro proceso

3. Un proceso no debe esperar de manera indefinida el ingresar a su sección crítica(No debe darse deadlock ni inanición)

4. Cuando no existe proceso en sección crítica, si algún proceso después requiereingresar, debe permitirse el ingreso sin alguna restricción

5. Lo anterior no tiene alguna dependencia sobre el número de procesadores o de lavelocidad de ejecución de los procesos

6. Un proceso debe estar en su sección crítica por un tiempo finito

IPN, ESCOM, José David Ortega Pacheco 47

2.2 Comunicación entre procesos

Page 48: II Procesos

Cuestionario

1. ¿Qué es concurrencia?

2. Defina los conceptos de Multiprogramación, Multiprocesamiento y Procesamiento Distribuido.

3. Explique los tres contextos en los que se da la concurrencia.

4. Defina los siguientes conceptos: sección crítica, exclusión mutua, deadlock, livelock, condición de carrera e inanición.

5. Mencione las 4 responsabilidades del sistema operativo respecto a procesos.

6. Mencione los 3 tipos de interacción entre procesos que se pueden tener de manera general.

IPN, ESCOM, José David Ortega Pacheco 48

Page 49: II Procesos

Cuestionario

7. Complete la siguiente tabla:

8. Mencione los 7 requerimientos generales para Exclusión Mutua..

IPN, ESCOM, José David Ortega Pacheco 49

Dependencia Relación Influencia de un proceso a otro

No hay

Directa

Indirecta

Page 50: II Procesos

2.3 Semáforos

IPN, ESCOM, José David Ortega Pacheco 50

Page 51: II Procesos

Es una estructura (semaphore) que se utiliza para enviar señales y está conformada poruna variable contador (inicializada en un valor no negativo) y una cola:

struct semaphore {

int count;

queue queue;

};

Se utilizan dos funciones básicas: semSignal(semaphore s) para enviar mensajes ysemWait(semaphore s) para recibir mensajes.

IPN, ESCOM, José David Ortega Pacheco 51

2.3 Semáforos

Page 52: II Procesos

• semWait

void semWait(semaphore s) {

s.count --;

if (s.count < 0){

1. El proceso se coloca en la cola del semáforo.

2. El proceso se manda al estado de bloqueado.

}

}

IPN, ESCOM, José David Ortega Pacheco 52

2.3 Semáforos

Page 53: II Procesos

• semSignal

void semSignal(semaphore s) {

s.count ++ ;

if (s.count <= 0) {

1. Se quita un proceso de la cola del semáforo.

2. El proceso que sale de la cola del semáforo se manda al estado de listo.

}

}

IPN, ESCOM, José David Ortega Pacheco 53

2.3 Semáforos

Page 54: II Procesos

Consecuencias del uso de semáforos:

• Una vez que un proceso decrementa un semáforo, no hay manera de saber si elproceso será bloqueado o no.

• Después de que un proceso incrementa un semáforo y otro proceso despierta, los doscontinúan ejecutándose de manera concurrente y no hay manera de saber queproceso se ejecutará primero en un esquema de un solo procesador.

• Cuando se envía una señal a un semáforo, no necesariamente se sabe si otro procesoesta esperando y si el número de procesos no bloqueados puede ser cero o uno.

IPN, ESCOM, José David Ortega Pacheco 54

2.3 Semáforos

Page 55: II Procesos

Semáforos binarios

Sólo pueden tener valores de cero y uno, y se inicializa en cero o en uno.

struct binary_semaphore {

enum{zero, one } value;

queue queue;

};

IPN, ESCOM, José David Ortega Pacheco 55

2.3 Semáforos

Page 56: II Procesos

Semáforos binarios

void semWaitB (binary_semaphore s) {

if (s.value == one) {

s.value = zero;

}

else {

1. El proceso se coloca en la cola del semáforo

2. El proceso se bloquea.

}

}

IPN, ESCOM, José David Ortega Pacheco 56

2.3 Semáforos

Page 57: II Procesos

Semáforos binarios

void semSignalB (binary_semaphore s) {

if ( s.queue is empty() ){

s.value = one;

}

else {

1. Se quita un proceso de la cola del semáforo.

2. El proceso que sale de la cola del semáforo se manda al estado de listo.

}

}

IPN, ESCOM, José David Ortega Pacheco 57

2.3 Semáforos

Page 58: II Procesos

Cola de semáforos

Cuando un semáforo utiliza en su cola un esquema FIFO se denomina semáforo fuerte ysi el esquema que utiliza no define un orden de tipo FIFO se define como semáforodébil.

IPN, ESCOM, José David Ortega Pacheco 58

2.3 Semáforos

Page 59: II Procesos

Ejemplo REVISAR PÁG 238

• Se tienen 4 procesos A, B, C y D. Los procesos A, B y C dependen del valorque proporciona como resultado y ejecutan la ejecución de D para que seejecuten.

• A, B y C ejecutan semWait y D ejecuta semSignal.

• De manera inicial, el valor del semáforo (contador) esta en 1 (D seejecuto primero) y se está ejecutando el proceso A.

IPN, ESCOM, José David Ortega Pacheco 59

2.3 Semáforos

Page 60: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 60

2.3 Semáforos

A

Procesador

Bloqueados

1

Semáforo

Listos

C D B

Page 61: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 61

2.3 Semáforos

B

Procesador

Bloqueados

0

Semáforo

Listos

A C D

Page 62: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 62

2.3 Semáforos

D

Procesador

Bloqueados

-1

Semáforo

B

Listos

A C

Page 63: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 63

2.3 Semáforos

D

Procesador

Bloqueados

0

Semáforo

Listos

B A C

Page 64: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 64

2.3 Semáforos

C

Procesador

Bloqueados

0

Semáforo

Listos

D B A

Page 65: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 65

2.3 Semáforos

A

Procesador

Bloqueados

-1

Semáforo

C

Listos

D B

Page 66: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 66

2.3 Semáforos

B

Procesador

Bloqueados

-2

Semáforo

A C

Listos

D

Page 67: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 67

2.3 Semáforos

D

Procesador

Bloqueados

-3

Semáforo

B A C

Listos

Page 68: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 68

2.3 Semáforos

Procesador

Bloqueados

-2

Semáforo

B A

Listos

D C

Page 69: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 69

2.3 Semáforos

C

Procesador

Bloqueados

-2

Semáforo

B A

Listos

D

Page 70: II Procesos

Ejemplo:

IPN, ESCOM, José David Ortega Pacheco 70

2.3 Semáforos

D

Procesador

Bloqueados

-3

Semáforo

C B A

Listos

Page 71: II Procesos

Exclusión mutua

IPN, ESCOM, José David Ortega Pacheco 71

2.3 Semáforos

Cola de Semáforo s AContador de semáforo s

0

B C

B -1

C B -2

C -1

1

semWait(s)

semSignal(s)

semWait(s)

semWait(s)

Page 72: II Procesos

Exclusión mutua

IPN, ESCOM, José David Ortega Pacheco 72

2.3 Semáforos

Cola de Semáforo s AValor de semáforo s

0

B C

1

semSignal(s)

semSignal(s)

Page 73: II Procesos

Exclusión mutua

Se puede observar como:

• s.count >= 0: s.count es el número de procesos que pueden ejecutar semWait(s) sinsuspensión (si no se ha ejecutado semSignal), dando soporte a sincronización yexclusión mutua. En el caso anterior el valor es 1 (el valor inicial).

• s.count < 0: el valor de s.count indica el número de procesos suspendidos en la coladel semáforo

IPN, ESCOM, José David Ortega Pacheco 73

2.3 Semáforos

Page 74: II Procesos

Cuestionario

1. Defina qué es un semáforo.

2. Mencione 2 consecuencias asociadas al uso de semáforos.

3. ¿Cuál es la función de semWait y de semSignal?

4. ¿Cuál es la operación asociada a semSignal respecto al contador dentro del semáforo?

5. ¿Cuál es la operación asociada a semWait respecto al contador dentro del semáforo?

6. En semWait, ¿qué valores de contador de semáforo provoca la entrada de un proceso a la cola de semáforo?

7. En semSignal, ¿qué valores de contador de semáforo provoca la salida de un proceso de la cola de semáforo?

IPN, ESCOM, José David Ortega Pacheco 74

Page 75: II Procesos

Cuestionario

8. Mencione la diferencia entre un semáforo general y un semáforo binario.

9. ¿Con qué valores puede inicializarse un semáforo binario?

10. Diferencia entre semáforo fuerte y semáforo débil.

IPN, ESCOM, José David Ortega Pacheco 75

Page 76: II Procesos

2.4 Monitores

IPN, ESCOM, José David Ortega Pacheco 76

Page 77: II Procesos

2.5 Transferencia de mensajes

IPN, ESCOM, José David Ortega Pacheco 77

Page 78: II Procesos

2.6 Problemas clásicos de la comunicación entre procesos

IPN, ESCOM, José David Ortega Pacheco 78

Page 79: II Procesos

Deadlock

Bloqueo permanente de un conjunto de procesos que compiten por recursos o por comunicarse entre ellos.

Un conjunto de procesos se encuentra en deadlock si cada uno de los procesos en el conjunto se encuentra esperando un evento que sólo puede ser disparado por otro

proceso del conjunto

IPN, ESCOM, José David Ortega Pacheco 79

2.6 Problemas clásicos de la comunicación entre procesos.

Page 80: II Procesos

Posible Deadlock

IPN, ESCOM, José David Ortega Pacheco 80

2.6 Problemas clásicos de la comunicación entre procesos.

Deadlock

a

bc

d

P1

P3

a

bc

d

P2

P1

P4

P3

P2

P1

P4

Page 81: II Procesos

IPN, ESCOM, José David Ortega Pacheco 81

2.6 Problemas clásicos de la comunicación entre procesos.

Recursos

• Reutilizables: Es aquel que puede ser utilizado por sólo un proceso a la vez y no seacaba con su uso.

• Consumibles: Es aquel que puede ser creado (producido) y destruido (Consumido).

Page 82: II Procesos

IPN, ESCOM, José David Ortega Pacheco 82

2.6 Problemas clásicos de la comunicación entre procesos.

Recursos reutilizables

Ejemplos de recursos reutilizables: Procesador, Dispositivos y canales de Entrada/Salida,Memoria principal y secundaria, Archivos, Bases de datos y estructuras de datos comolos Semáforos.

Page 83: II Procesos

IPN, ESCOM, José David Ortega Pacheco 83

2.6 Problemas clásicos de la comunicación entre procesos.

Recursos reutilizables

Ejemplo de deadlock: Si cada proceso mantiene un recurso y solicita otro.

Paso Acción del proceso A

A0 Solicita (D1)

A1 Bloquea (D1)

A2 Solicita (D2)

A3 Bloquea (D2)

A4 Realiza Acción

A5 Desbloquea (D1)

A6 Desbloquea (D2)

Paso Acción del proceso B

B0 Solicita (D2)

B1 Bloquea (D2)

B2 Solicita (D1)

B3 Bloquea (D1)

B4 Realiza Acción

B5 Desbloquea (D2)

B6 Desbloquea (D1)

• Secuencia: A0 A1 B0 B1 A2 B2.

Page 84: II Procesos

IPN, ESCOM, José David Ortega Pacheco 84

2.6 Problemas clásicos de la comunicación entre procesos.

Recursos reutilizables

Ejemplo de deadlock: Se tienen dos procesos que solicitan memoria principal, sinembargo, sólo se tiene disponible 200 Kbytes de espacio.

Acción del proceso A

. . .

Solicita 80 Kbytes

. . .

Solicita 60 Kbytes

. . .

• Segunda solicitud.Acción del proceso B

. . .

Solicita 70 Kbytes

. . .

Solicita 80 Kbytes

. . .

Page 85: II Procesos

IPN, ESCOM, José David Ortega Pacheco 85

2.6 Problemas clásicos de la comunicación entre procesos.

Recursos Consumibles

• No existe límite con el número de recursos que se pueden crear.

• Un proceso productor de recursos no bloqueado puede producir cualquier cantidadde recursos.

• Cuando un proceso consumidor adquiere un recurso, el recurso deja de existir.

Page 86: II Procesos

IPN, ESCOM, José David Ortega Pacheco 86

2.6 Problemas clásicos de la comunicación entre procesos.

Recursos Consumibles

Ejemplo de recursos consumibles: Se tienen dos procesos (P1 y P2), los cuales buscanenviar y recibir mensajes el uno al otro.

Acción del proceso P1

. . .

Recibir (P2)

. . .

Enviar (P2,M1)

. . .

• Si el receptor está bloqueado.Acción del proceso P2

. . .

Recibir (P1)

. . .

Enviar (P1,M2)

. . .

Page 87: II Procesos

IPN, ESCOM, José David Ortega Pacheco 87

2.6 Problemas clásicos de la comunicación entre procesos.

Grafo de distribución de recursos

Grafo dirigido que representa el estado de uso de un recurso o conjunto de recursos,con cada proceso y recurso representado por un nodo. Se puede indicar la cantidad derecurso disponible mediante puntos.

P1 Ra

P1 Solicita Ra

P1 Ra

Ra es Retenido por P1

Page 88: II Procesos

IPN, ESCOM, José David Ortega Pacheco 88

2.6 Problemas clásicos de la comunicación entre procesos.

Grafo de distribución de recursos

P1

Ra Deadlock

P2

Rb

P1

Ra No Deadlock

P2

Rb

Page 89: II Procesos

IPN, ESCOM, José David Ortega Pacheco 89

2.6 Problemas clásicos de la comunicación entre procesos.

Grafo de distribución de recursos

P1

Deadlock

Ra

P2

Rb

P3

Rc

P4

Rd

a

bc

d

P1

P2

P3

P4

Page 90: II Procesos

IPN, ESCOM, José David Ortega Pacheco 90

2.6 Problemas clásicos de la comunicación entre procesos.

Condiciones para Deadlock

1. Exclusión mutua: Ejecución de un proceso a la vez.

2. Retiene y Espera: Un proceso retiene un recurso mientras espera la asignación deotro.

3. No prioridad: Ningún recurso puede ser separado por la fuerza de un proceso quelo esta reteniendo.

Las tres condiciones anteriores son suficientes, es decir, puede darse una, dos o las tresy eso es un posible deadlock, pero no necesarias para que un deadlock exista.

Page 91: II Procesos

IPN, ESCOM, José David Ortega Pacheco 91

2.6 Problemas clásicos de la comunicación entre procesos.

Condiciones para Deadlock

Para garantizar la existencia de un deadlock, se necesita una cuarta condición:

4. Espera circular: Existe una cadena cerrada de procesos en la cual cada procesoretiene un recurso que necesita el siguiente proceso en la cadena.

Page 92: II Procesos

IPN, ESCOM, José David Ortega Pacheco 92

2.6 Problemas clásicos de la comunicación entre procesos.

Condiciones para Deadlock

P1

Ra

Deadlock

P2

Rb

P1

Deadlock

Ra

P2

Rb

P3

Rc

P4

Rd

Page 93: II Procesos

IPN, ESCOM, José David Ortega Pacheco 93

2.6 Problemas clásicos de la comunicación entre procesos.

Condiciones para Deadlock

Existen 3 enfoques para tratar con un deadlock: Prevención, Evasión y Detección.

Posible Deadlock

1. Exclusión mutua2. Retiene y Espera3. No prioridad

Deadlock

1. Exclusión mutua2. Retiene y Espera3. No prioridad4. Espera circular

Page 94: II Procesos

IPN, ESCOM, José David Ortega Pacheco 94

2.6 Problemas clásicos de la comunicación entre procesos.

Prevención

Se diseña un sistema en donde no cabe la posibilidad de que se presente un deadlock.Se pueden dar dos posibilidades de deadlock:

1. Método directo: Prevenir la ocurrencia de alguna de las 3 condiciones necesariaspara un deadlock (Exclusión Mutua, Retiene y Espera, No Prioridad).

2. Método directo: Prevenir que se presente una Espera Circular.

Se condicionan las peticiones de recursos para prevenir el caer en alguna de las cuatrocondiciones, lo que a la larga lleva a una administración inadecuada de los recursos.

Page 95: II Procesos

IPN, ESCOM, José David Ortega Pacheco 95

2.6 Problemas clásicos de la comunicación entre procesos.

Prevención

Exclusión Mutua.

No se recomienda evitar debido a que la necesidad de que un recurso pueda seraccedido por varios procesos es muy común. Sin embargo, la probabilidad de que setenga la posibilidad de un deadlock radica en una sólo operación: Escritura.

Page 96: II Procesos

IPN, ESCOM, José David Ortega Pacheco 96

2.6 Problemas clásicos de la comunicación entre procesos.

Prevención

Retiene y Espera.

Uno de los enfoques es bloquear al proceso que solicita más de un recurso hasta que segarantice que tendrá los recursos de manera simultánea. Inconvenientes:

• El proceso puede estar esperando por demasiado tiempo los recursos, mientras quepodría trabajar con el/los que se encuentran disponibles.

• Cuando los son tomados por el proceso, los mismos pueden estar sin uso por largotiempo.

Page 97: II Procesos

IPN, ESCOM, José David Ortega Pacheco 97

2.6 Problemas clásicos de la comunicación entre procesos.

Prevención

No prioridad.

• Si a un proceso que tiene ciertos recursos se le niega una nueva solicitud, dichoproceso debe liberar sus recursos actuales, y si es necesario, solicitarlos de nuevojunto con el recurso adicional que requiere.

• Si un proceso solicita un recurso que es utilizado por otro proceso, el sistemaoperativo debe detener al segundo proceso y liberar el recurso, si es que el primerotiene una mayor prioridad que el segundo. Problema: Si los dos procesos tienen lamisma prioridad.

Page 98: II Procesos

IPN, ESCOM, José David Ortega Pacheco 98

2.6 Problemas clásicos de la comunicación entre procesos.

Prevención

Espera Circular.

Definición de un orden lineal de los tipos de recursos: Si a un proceso se le hanasignado recursos del tipo R, podrá requerir recursos del tipo R en el orden establecido.Sin embargo, los problemas que surgen para el caso de Retiene y Espera se presentantambién

Page 99: II Procesos

IPN, ESCOM, José David Ortega Pacheco 99

2.6 Problemas clásicos de la comunicación entre procesos.

Algunas definiciones previas a Evasión y Detección

𝑹 = [𝑅1, 𝑅2, … , 𝑅𝑚

𝑽 = [𝑉1, 𝑉2, … , 𝑉𝑚

Total de recursos de cada tipo de recursos

Total de recursos disponibles de cada tipo de recurso

Necesidad del Proceso isobre el Recurso j

Asignación actual del Recurso j al Proceso i

𝐂 =

𝐶11 𝐶12 𝐶13

𝐶21 𝐶22 𝐶23

𝐶31 𝐶32 𝐶33

𝐀 =

𝐴11 𝐴12 𝐴13

𝐴21 𝐴22 𝐴23

𝐴31 𝐴32 𝐴33

n es el número de procesos

m es el número de tipos de recursos

Page 100: II Procesos

IPN, ESCOM, José David Ortega Pacheco 100

2.6 Problemas clásicos de la comunicación entre procesos.

Algunas definiciones previas a Evasión y Detección

Para lo anterior se mantienen las siguientes relaciones

1.- Total de recursos disponibles:

𝐶𝑖𝑗 ≤ 𝑅𝑗 , ∀ 𝑖, 𝑗 𝐴𝑖𝑗 ≤ 𝐶𝑖𝑗 , ∀ 𝑖, 𝑗

2.- Ningún recurso puede solicitar más recursos (de

cualquier tipo) del total en el sistema:

3.- Ningún proceso tiene más recursos asignados (de

cualquier tipo) de los que solicitó:

𝑅𝑗 = 𝑉𝑗 +

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗

Page 101: II Procesos

IPN, ESCOM, José David Ortega Pacheco 101

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Se permiten las tres condiciones necesarias para deadlock, realizando juicios para laselección adecuada de procesos que asegure el no alcanzar ese estado. La evasiónpermite una mayor concurrencia y tiene dos enfoques:

1. Denegar Inicio de Proceso: No iniciar un proceso si su demanda de recursos llevaráa un deadlock.

2. Denegar Asignación de Recursos: No otorgar un incremento de solicitudes derecurso a un proceso, si ésta asignación puede llevar a un deadlock.

Page 102: II Procesos

IPN, ESCOM, José David Ortega Pacheco 102

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Inicio de Proceso

Política de inicio de un proceso 𝑃𝑛+1

𝑅𝑗 ≥ 𝐶 𝑛+1)𝑗 +

1

𝑛

𝐶𝑖𝑗 , ∀ 𝑗

Un proceso inicia, sólo si el máximo de solicitudes de todos los procesos más las del mismo, es menor

o igual a la cantidad del tipo de recurso que se solicita. Si lo anterior no sucede, se bloquea.

Page 103: II Procesos

IPN, ESCOM, José David Ortega Pacheco 103

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Inicio de Proceso: Ejemplo

𝐂 =3 2 26 1 33 1 4

𝑹 = [9,3,6

Se tiene un nuevo proceso 𝑃3 𝑃𝑛+1=2+1):

𝑅1 ≥ 𝐶31 + 𝐶11 + 𝐶21

𝑅2 ≥ 𝐶32 + 𝐶12 + 𝐶22

𝑅3 ≥ 𝐶33 + 𝐶13 + 𝐶23

9 ≥ 3 + 3 + 6

3 ≥ 1 + 2 + 1

6 ≥ 4 + 2 + 3

9 ≥ 12

3 ≥ 4

6 ≥ 9

No se permite el inicio del proceso

P3, se bloquea

Page 104: II Procesos

IPN, ESCOM, José David Ortega Pacheco 104

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

• Estado: refleja la asignación actual de recursos a procesos.

• Estado Seguro: es aquel estado en el que existe una secuencia de asignación derecursos a procesos que no resulta en un deadlock.

• Estado No Seguro: por obviedad es aquel que no es seguro.

Page 105: II Procesos

IPN, ESCOM, José David Ortega Pacheco 105

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Condición para determinar si un proceso puede ser capas de completar su ejecución con los recursos disponibles:

𝐶𝑖𝑗 − 𝐴𝑖𝑗 ≤ 𝑉𝑗 , ∀𝑗

Page 106: II Procesos

IPN, ESCOM, José David Ortega Pacheco 106

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

𝐂 =3 2 26 1 33 1 4

𝑹 = [9,3,6

V= [0,1,3

𝑉𝑗 = 𝑅𝑗 −

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗

𝐀 =1 0 06 1 22 1 1

n = 3 (tres procesos)

𝑄𝑖𝑗 = 𝐶𝑖𝑗 − 𝐴𝑖𝑗

𝐐 =2 2 20 0 11 0 3

1. Matriz de requerimiento del proceso i sobre el recurso j

ESTA

DO

INIC

IAL

¿Ele

sta

do

esse

gu

ro?

Page 107: II Procesos

IPN, ESCOM, José David Ortega Pacheco 107

2.6 Problemas clásicos de la comunicación entre procesos.

𝑸 =2 2 20 0 11 0 3

Proceso 1

Proceso 2

Proceso 3

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

2 ≤ 1V= [0,1,3

2 ≤ 0

2 ≤ 3

0 ≤ 𝟏

0 ≤ 𝟎

1 ≤ 𝟑

0 ≤ 1

1 ≤ 0

3 ≤ 3

𝑪𝒊𝒋 − 𝑨𝒊𝒋 ≤ 𝑽𝒋, ∀𝒋

2. ¿Algún proceso puedecompletar su ejecución conlos recursos disponibles?

Page 108: II Procesos

IPN, ESCOM, José David Ortega Pacheco 108

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

3. El proceso que puede completar su ejecución lo hace: En éste caso, el Proceso 2es quien toma el recurso faltante y culmina.

𝐂 =3 2 20 0 03 1 4

𝑹 = [9,3,6

V= [6,2,5

𝑉𝑗 = 𝑅𝑗 −

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗𝐀 =

1 0 00 0 02 1 1

Page 109: II Procesos

IPN, ESCOM, José David Ortega Pacheco 109

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

𝐂 =3 2 20 0 03 1 4

V= [6,2,5

𝐀 =1 0 00 0 02 1 1

𝑄𝑖𝑗 = 𝐶𝑖𝑗 − 𝐴𝑖𝑗

𝐐 =2 2 20 0 01 0 3

1. Matriz de requerimiento del proceso i sobre el recurso j

Page 110: II Procesos

IPN, ESCOM, José David Ortega Pacheco 110

2.6 Problemas clásicos de la comunicación entre procesos.

𝑸 =2 2 20 0 01 0 3

Proceso 1

Proceso 3

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

2 ≤ 𝟐

2 ≤ 𝟔

2 ≤ 𝟓

0 ≤ 𝟐

1 ≤ 𝟔

3 ≤ 𝟓

𝑪𝒊𝒋 − 𝑨𝒊𝒋 ≤ 𝑽𝒋, ∀𝒋

2. ¿Algún proceso puede completarsu ejecución con los recursosdisponibles?

V= [6,2,5

Page 111: II Procesos

IPN, ESCOM, José David Ortega Pacheco 111

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

3. El proceso que puede completar su ejecución lo hace: En éste caso son dosprocesos, seleccionamos el Proceso 1, quien toma los recursos que le faltan yculmina.

𝐂 =0 0 00 0 03 1 4

𝑹 = [9,3,6

V= [7,2,5

𝑉𝑗 = 𝑅𝑗 −

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗𝐀 =

0 0 00 0 02 1 1

Page 112: II Procesos

IPN, ESCOM, José David Ortega Pacheco 112

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

𝑄𝑖𝑗 = 𝐶𝑖𝑗 − 𝐴𝑖𝑗

𝐐 =0 0 00 0 01 0 3

1. Matriz de requerimiento del proceso i sobre el recurso j

𝐂 =0 0 00 0 03 1 4

𝐀 =0 0 00 0 02 1 1

V= [7,2,5

Page 113: II Procesos

IPN, ESCOM, José David Ortega Pacheco 113

2.6 Problemas clásicos de la comunicación entre procesos.

𝑸 =0 0 00 0 01 0 3 Proceso 3

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

0 ≤ 𝟐

1 ≤ 𝟕

3 ≤ 𝟓𝑪𝒊𝒋 − 𝑨𝒊𝒋 ≤ 𝑽𝒋, ∀𝒋

2. ¿Algún proceso puede completarsu ejecución con los recursosdisponibles?

V= [7,2,5

Page 114: II Procesos

IPN, ESCOM, José David Ortega Pacheco 114

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

3. El proceso que puede completar su ejecución lo hace: El Proceso 3 toma losrecursos que le faltan y culmina.

𝐂 =0 0 00 0 00 0 0

𝑹 = [9,3,6

V= [9,3,6

𝑉𝑗 = 𝑅𝑗 −

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗𝐀 =

0 0 00 0 00 0 0

Page 115: II Procesos

IPN, ESCOM, José David Ortega Pacheco 115

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 1

Ya no existen más procesos y no se tiene deadlock, por lo tanto el ESTADO INICIAL es un ESTADO SEGURO.

Page 116: II Procesos

IPN, ESCOM, José David Ortega Pacheco 116

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 2

𝐂 =3 2 26 1 33 1 4

𝑹 = [9,3,6

V= [0,1,1

𝑉𝑗 = 𝑅𝑗 −

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗

𝐀 =2 0 15 1 12 1 3

n = 3 (tres procesos)

𝑄𝑖𝑗 = 𝐶𝑖𝑗 − 𝐴𝑖𝑗

𝐐 =1 2 11 0 21 0 1

1. Matriz de requerimiento del proceso i sobre el recurso j

ESTA

DO

INIC

IAL

¿Es

un

esta

do

seg

uro

?

Page 117: II Procesos

IPN, ESCOM, José David Ortega Pacheco 117

2.6 Problemas clásicos de la comunicación entre procesos.

Proceso 1

Proceso 2

Proceso 3

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 2

2 ≤ 1

1 ≤ 𝟎

1 ≤ 1

0 ≤ 1

1 ≤ 𝟎

2 ≤ 1

0 ≤ 1

1 ≤ 𝟎

1 ≤ 1

𝑪𝒊𝒋 − 𝑨𝒊𝒋 ≤ 𝑽𝒋, ∀𝒋

2. ¿Algún proceso puedecompletar su ejecución conlos recursos disponibles?

V= [0,1,1

𝐐 =1 2 11 0 21 0 1

Page 118: II Procesos

IPN, ESCOM, José David Ortega Pacheco 118

2.6 Problemas clásicos de la comunicación entre procesos.

Evasión

Denegar Asignación de Recursos: Algoritmo del Banquero

Ejemplo 2

Ningún proceso cumple con la condición para completarse, por lo que se tiene un posible deadlock, por lo tanto el ESTADO INICIAL

es un ESTADO NO SEGURO.

Page 119: II Procesos

IPN, ESCOM, José David Ortega Pacheco 119

2.6 Problemas clásicos de la comunicación entre procesos.

Detección

• No limita el acceso a los recursos o restringe el inicio de los procesos.

• Se recomienda ejecutar cada vez que se realice una petición de recursos, aunquerevisar frecuentemente ocupa muchos recursos.

Page 120: II Procesos

IPN, ESCOM, José David Ortega Pacheco 120

2.6 Problemas clásicos de la comunicación entre procesos.

Detección

Algoritmo para detección de deadlock

Ejemplo

𝐐 =

0 1 0 0 10 0 1 0 101

00

01

00

11

𝑹 = [2,1,1,2,1

𝑉𝑗 = 𝑅𝑗 −

1

𝑛

𝐴𝑖𝑗 , ∀ 𝑗

A =

1 0 1 1 01 1 0 0 000

00

00

10

00

𝑽 = [0,0,0,0,1

4 procesos, 5 recursos

Page 121: II Procesos

IPN, ESCOM, José David Ortega Pacheco 121

2.6 Problemas clásicos de la comunicación entre procesos.

1. Marcar cada proceso que tieneuna fila en la matriz A con todossus elementos en cero.

2. Inicializar el vector temporal Wigual al vector V.

Detección

Algoritmo para detección de deadlock

Ejemplo

A =

1 0 1 1 01 1 0 0 00𝟎

0𝟎

0𝟎

1𝟎

0𝟎

𝑽 = 0,0,0,0,1 = 𝑾

Page 122: II Procesos

IPN, ESCOM, José David Ortega Pacheco 122

2.6 Problemas clásicos de la comunicación entre procesos.

3. Encontrar un proceso i, tal que esté actualmente desmarcado en la matriz A y sufila correspondiente de la matriz Q cumpla con lo siguiente:

Detección

Algoritmo para detección de deadlock

Ejemplo

𝐐 =

0 1 0 0 10 0 1 0 1𝟎1

𝟎0

𝟎1

𝟎0

𝟏1

A =

1 0 1 1 01 1 0 0 0𝟎𝟎

𝟎𝟎

𝟎𝟎

𝟏𝟎

𝟎𝟎

𝑾 = 0,0,0,0,1

𝑷𝟑 = 0,0,0,0,1

𝑸𝒊𝒌 ≤ 𝑾𝒌

Page 123: II Procesos

IPN, ESCOM, José David Ortega Pacheco 123

2.6 Problemas clásicos de la comunicación entre procesos.

¿Se encontró proceso?

Si: Pasar al paso 4

No: Termina el algoritmo

Detección

Algoritmo para detección de deadlock

Ejemplo

Page 124: II Procesos

IPN, ESCOM, José David Ortega Pacheco 124

2.6 Problemas clásicos de la comunicación entre procesos.

4. Marcar el proceso i en la matriz A y sumar la fila de la matriz A a W y regresar alpaso 3.

Detección

Algoritmo para detección de deadlock

Ejemplo

A =

1 0 1 1 01 1 0 0 0𝟎𝟎

𝟎𝟎

𝟎𝟎

𝟏𝟎

𝟎𝟎

𝑾 = 𝑾 + 𝑷𝟑 = 0,0,0,1,0 + 0,0,0,0,1

𝑾 = 0,0,0,1,1

Page 125: II Procesos

IPN, ESCOM, José David Ortega Pacheco 125

2.6 Problemas clásicos de la comunicación entre procesos.

3. Encontrar un proceso i, tal que esté actualmente desmarcado en la matriz A y sufila correspondiente de la matriz Q cumpla con lo siguiente:

Detección

Algoritmo para detección de deadlock

Ejemplo

𝐐 =

0 𝟏 0 0 10 0 𝟏 0 101

00

01

00

11

A =

1 0 1 1 01 1 0 0 0𝟎𝟎

𝟎𝟎

𝟎𝟎

𝟏𝟎

𝟎𝟎

𝑸𝒊𝒌 ≤ 𝑾𝒌

𝑾 = 0,0,0,1,1

Page 126: II Procesos

IPN, ESCOM, José David Ortega Pacheco 126

2.6 Problemas clásicos de la comunicación entre procesos.

¿Se encontró proceso?

Si: Pasar al paso 4

No: Termina el algoritmo

Los Procesos no marcados son procesos en Deadlock: Proceso 1 y 2

Detección

Algoritmo para detección de deadlock

Ejemplo

Page 127: II Procesos

IPN, ESCOM, José David Ortega Pacheco 127

2.6 Problemas clásicos de la comunicación entre procesos.

1. Abortar todos los procesos en deadlock (lo más común).2. Reiniciar los procesos en deadlock en un punto en donde éste no existía:

Capacidad del sistema para realizar tener un mecanismo de rollback y reinicio.3. Abortar de manera sucesiva un proceso en deadlock hasta evitar el problema.

La selección del proceso a abortar debe realizarse en base al mínimo costo.4. Proporcionar recursos mientras no exista riesgo de deadlock.

Detección

Posibles estrategias de recuperación