La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz

Presentaciones similares


Presentación del tema: "Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz"— Transcripción de la presentación:

1 Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz gabriel.astudillo@elo.utfsm.cl http://www.elo.utfsm.cl/~elo321

2 2 IPC Problema Proceso 1Proceso N SO Recurso Cada proceso pide recursos El SO se encarga de la sincronización Competencia Conceptos Soluciones Boqueo Mutuo

3 3 IPC Problema Competencia Imaginemos que dos procesos leen o escriben ciertas zonas compartidas El resultado final puede depender de lo que cada proceso ejecutó. Conceptos Soluciones Boqueo Mutuo

4 4 IPC Problema Competencia Job 1 Job 2 Job 3 4 5 6 7 In = 7, Out=4 A B Ejemplo Cada Proceso: Lee In carga celda, In Escribe en celda In++ Conceptos Soluciones Boqueo Mutuo

5 5 IPC Problema Competencia Job 1 Job 2 Job 3 4 5 6 7 In = 7, Out=4 A B In=7 Ejemplo Conceptos Soluciones Boqueo Mutuo

6 6 IPC Problema Competencia Job 1 Job 2 Job 3 4 5 6 7 In = 7, Out=4 A (celda=7) B In=7 Ejemplo Conceptos Soluciones Boqueo Mutuo

7 7 IPC Problema Competencia Job 1 Job 2 Job 3 4 5 6 7 In = 7, Out=4 A (celda=7) B In=7 Scheduler interrumpe a A y le da tiempo de CPU a B Ejemplo Conceptos Soluciones Boqueo Mutuo

8 8 IPC Problema Competencia Job 1 Job 2 Job 3 4 5 6 7 In = 7, Out=4 A (celda=7) B In=7 Ejemplo Conceptos Soluciones Boqueo Mutuo

9 9 IPC Problema Competencia Job 1 Job 2 Job 3 4 5 6 7 In = 7, Out=4 A (celda=7) B: celda=7 In=7 Ejemplo Conceptos Soluciones Boqueo Mutuo

10 10 IPC Problema Competencia Job 1 Job 2 Job 3 Job B 4 5 6 7 In = 7, Out=4 A (celda=7) B: Escribe Ejemplo Conceptos Soluciones Boqueo Mutuo

11 11 IPC Problema Competencia Job 1 Job 2 Job 3 Job B 4 5 6 7 In = 8, Out=4 A (celda=7) B: In++ Ejemplo Conceptos Soluciones Boqueo Mutuo

12 12 IPC Problema Competencia Job 1 Job 2 Job 3 Job B 4 5 6 7 In = 8, Out=4 A (celda=7) B: In++ Scheduler interrumpe a B y le da tiempo de CPU a A Ejemplo Conceptos Soluciones Boqueo Mutuo

13 13 IPC Problema Competencia Job 1 Job 2 Job 3 Job B 4 5 6 7 In = 8, Out=4 A: celda=7 B: In++ Ejemplo Conceptos Soluciones Boqueo Mutuo

14 14 IPC Problema Competencia Job 1 Job 2 Job 3 Job A 4 5 6 7 In = 8, Out=4 A: Escribe B: In++ Ejemplo Conceptos Soluciones Boqueo Mutuo

15 15 IPC Problema Competencia Job 1 Job 2 Job 3 Job A 4 5 6 7 In = 8, Out=4 A: In++ B: In++ Ejemplo Conceptos Soluciones Boqueo Mutuo

16 16 IPC Problema Competencia Job 1 Job 2 Job 3 Job A 4 5 6 7 In = 8, Out=4 A: In++ B: In++ El trabajo de B se “perdió” Ejemplo Conceptos Soluciones Boqueo Mutuo

17 17 IPC Problema Competencia Lo anterior se conoce como una “condición de competencia”. Existe la necesidad de eliminar este tipos de condiciones. Conceptos Soluciones Boqueo Mutuo

18 18 IPC Problema Competencia Conceptos  Exclusión Mutua: concepto que garantiza que si un proceso utiliza un recurso compartido, los demás no pueden utilizarlo.  Sección Crítica: Parte del programa en la que tiene acceso al recurso compartido. ==> Para evitar que existan condiciones de competencia, se debe evitar que dos o más procesos accedan al mismo tiempo a la Sección Crítica Soluciones Boqueo Mutuo

19 19 IPC Problema Competencia Conceptos Soluciones Cualquier solución al problema debe cumplir: 1.Dos procesos no deben encontrarse al mismo tiempo dentro de sus secciones críticas. 2.No se deben hacer hipótesis sobre la velocidad o el número de CPU. 3.Ningún proceso que esté en ejecución fuera de su sección crítica puede bloquear a otros procesos. 4.Ningún proceso debe esperar eternamente para entrar a su sección crítica. Boqueo Mutuo

20 20 IPC Problema Competencia Conceptos Soluciones Alternancia estricta: ==> ¿Qué sucede si un proceso quiere entrar dos veces consecutivas a su sección crítica? Boqueo Mutuo

21 21 IPC Problema Competencia Conceptos Soluciones Alternancia estricta: ==> ¿Qué sucede si un proceso es más lento que el otro? Boqueo Mutuo

22 22 IPC Problema Competencia Conceptos Soluciones Solución de Peterson: Boqueo Mutuo

23 23 IPC Problema Competencia Conceptos Soluciones Instrucción TSL: Lee el contenido de una palabra de memoria en un registro para después almacenar un valor distinto de cero en esa dirección Las operaciones de lectura y almacenamiento de la palabra tienen la garantía de ser indivisibles Boqueo Mutuo

24 24 IPC Problema Competencia Conceptos Soluciones Instrucción TSL: Se emplea una variable compartida, flag. Ésta coordina el acceso al recurso compartido. Cuando flag==0, cualquier proceso puede darle el valor 1 mediante la instrucción TSL y después leer o escribir en el recurso compartido. Al terminar, el proceso vuelve a hacer flag=0. Boqueo Mutuo

25 25 IPC Problema Competencia Conceptos Soluciones Instrucción TSL: Boqueo Mutuo

26 26 IPC Problema Competencia Conceptos Soluciones Semáforos: Un semáforo es una variable entera (positiva), cuyo valor sólo puede ser accesado mediante las operaciones wait y signal Boqueo Mutuo

27 27 IPC Problema Competencia Conceptos Soluciones Semáforos: WAIT: verifica si el valor de un semáforo es mayor que cero y en este caso decrementa dicho valor y el proceso continúa. Si es cero, el proceso se va a dormir Las modificaciones al valor del semáforo sólo se ejecutan en forma indivisible, es decir, si un proceso está modificando un semáforo ningún otro proceso puede esta modificando el mismo valor Boqueo Mutuo

28 28 IPC Problema Competencia Conceptos Soluciones Semáforos: SIGNAL: incrementa el valor del semáforo respectivo. Si uno o más procesos dormían y no podían completar una operación DOWN anterior, el SO elige alguno de ellos y se le permite terminar la operación WAIT.  después de un SIGNAL en un semáforo con procesos durmiendo, dicho semáforo seguirá con valor 0, pero habrá un menor número de procesos durmiendo. Boqueo Mutuo

29 29 IPC Problema Competencia Conceptos Soluciones Semáforos: Boqueo Mutuo

30 30 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Se produce cuando un proceso de un sistema multiprogramado espera un evento que nunca va a ocurrir. Un conjunto de procesos está en deadlock cuando cada proceso en el conjunto está esperando por un evento que solo puede ser causado por otro proceso en el conjunto.

31 31 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Ejemplo ¿ Hay Bloqueo Mutuo ?

32 32 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Condiciones para un bloqueo: Cada recurso está asignado a un proceso o está disponible 1.- Condición de exclusión mutua. P1 R1 Asignado

33 33 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Condiciones para un bloqueo: Los procesos que tienen recursos asignados con anterioridad, pueden solicitar nuevos recursos. 2.- Condición de posesión y espera P1 R1 R2 Solicita Asignado

34 34 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Condiciones para un bloqueo: Los recursos asignados no pueden ser forzados a dejar un proceso  El proceso que los posee debe liberarlos en forma explícita. Condición de no apropiación

35 35 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Condiciones para un bloqueo: Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso asignado por el siguiente miembro de la cadena. Condición de espera circular P1 R1 P2 R2 Solicita Asignado Solicita Asignado

36 36 IPC Problema Competencia Conceptos Soluciones Boqueo Mutuo Ejemplo


Descargar ppt "Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz"

Presentaciones similares


Anuncios Google