Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJosé María Salinas García Modificado hace 8 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.