2. administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 sección...
TRANSCRIPT
![Page 1: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/1.jpg)
1
2. Administración de procesos
M. en C. Mario Farias-Elinos
Contenido
n Antecedentesn Sección crítican Problemas de sincronizaciónn Transacciones atómicasn Deadlock
![Page 2: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/2.jpg)
2
Threads
(a) Tres procesos con un thread cada uno(b) Un proceso con 3 threads
Thread
n Items compartidos por todos los threads (proceso)n Items exlusivos para el thread
![Page 3: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/3.jpg)
3
Thread
Cada thread tiene su propio stack
Thread
Ejemplificació de aplicación con threads
![Page 4: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/4.jpg)
4
Thread
Web server con multiples threads
Thread
(a) Thread despachador(b) Thread trabajador
![Page 5: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/5.jpg)
5
Thread
Formas de desarrollar un servidor
Threads en el kernel
Nivel de usuario
![Page 6: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/6.jpg)
6
Threads en el kernel
Administrador de threads en el kernel
Threads en el kernel
multiplexando threads en el user-level y kernel
![Page 7: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/7.jpg)
7
Antecedentes
n Procesos cooperativosu Compartición de códigou Compartición de datos
n Problemáticasu Inconsistecia de la informaciónuMemoria limitadau Sincronización de procesos
Antecedentes
![Page 8: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/8.jpg)
8
Sección crítica
n “n” procesos comparten un segmento de códigouModificación de variablesu Compartición de archivos
n Característica importanteu P0 ejecuta sección crítica, ningún otro proceso
ejecute dicha sección crítica
n Sección crítica es mutuamente excluyente en el tiempo
Sección crítica
n Partes de una sección críticau Sección de ingresou Sección críticau Sección de egresou Sección restante
![Page 9: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/9.jpg)
9
Sección crítica
n La solución debe satisfaceruMutua exclusiónu Progresou Espera limitada
Problema de sincronización
![Page 10: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/10.jpg)
10
Semáforos
n Variable entera accesible poruWaitu Signal
n Desventajau Espera activa -> Desperdicio de ciclos del CPUu Deadlocks
Sincronización
![Page 11: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/11.jpg)
11
Monitores
Transacciones atómicas
n La ejecución en un paso de la sección críticauOperaciones read y writeu Terminación con commit y abort (rollback)
n Tipos de almacenamientou Volátilu No volátilu Estable
![Page 12: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/12.jpg)
12
Transacciones atómicas
n Una forma de asegurar la atomicidad es por medio de bitácorasu Nombre de la transacciónu Nombre del datou Valor antiguou Valor nuevo
Transacciones atómicas concurrentesn Asegurar la ejecución de la sección crítica por un
sólo procesou Serializaciónu Protocolo de cerradura
«Compartido«Exclusivo
u Estampas de tiempo
![Page 13: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/13.jpg)
13
Deadlock
n Cuando dos procesos tienen asignados recursos, pero esperan también el recurso que el otro tienen
n CaracterísticasuMutua exclusiónu Retener y esperaru No expropiaciónu Espera circular
Antecedentes
(a) Deadlock potencial. (b) deadlock.
![Page 14: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/14.jpg)
14
Deadlock
Manejo del deadlock
n Creación de un protocolo para evitar el deadlockn Permitir el deadlock y que el sistema se recuperen Desentendernos del problema
![Page 15: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/15.jpg)
15
Prevención del deadlock
n Asegurar que no se cumplirá una de las condicionesuMutua exclusiónu Retener y esperaru No expropiaciónu Espera circular
Prevención del deadlock
n Un algoritmo que examine el sistema y localice deadlocks
n Un algoritmo para la recuperación
![Page 16: 2. Administración de procesosmario.elinos.org.mx/docencia/sistoper/process2.pdf · 8 Sección crítica n “n” procesos comparten un segmento de código uModificación de variables](https://reader031.vdocuments.mx/reader031/viewer/2022011819/5e9418ea1d2c7f30aa1b8144/html5/thumbnails/16.jpg)
16
Recuperación del deadlock
n Terminación de procesosu Abortar todos los procesosu Abortar un proceso a la vez hasta eliminar el
deadlock
n Expropiación del recursou Selección de la victimau Retrocesou Inanición