Computing">
Tecnológico Nacional de México Instituto Tecnológico de Nuevo León
Tecnológico Nacional de México Instituto Tecnológico de Nuevo León
Tecnológico Nacional de México Instituto Tecnológico de Nuevo León
SUBDIRECCIÓN ACADÉMICA
DEPARTAMENTO DE EDUCACIÓN A DISTANCIA
INGENIERÍA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS
TEMA 1. INTRODUCCION A LOS SISTEMAS OPERATIVOS
Catedrático.
Orlando Fernández Garza
Presenta:
Francisco Rojas Vázquez 22480168
Detección:
Si los recursos tienen una sola instancia: en este caso, para la detección de interbloqueos, podemos
ejecutar un algoritmo para verificar el ciclo en el gráfico de asignación de recursos. La presencia de
un ciclo en el gráfico es una condición suficiente para el punto muerto.
Si hay varias instancias de recursos: la detección del ciclo es una condición necesaria pero no
suficiente para la detección de interbloqueos; en este caso, el sistema puede o no estar en
interbloqueos y varía según las diferentes situaciones.
Prevención:
La estrategia de prevención del interbloqueo consiste, a grandes rasgos, en diseñar un sistema de
manera que esté excluida la posibilidad de interbloqueo. Los métodos para prevenir el interbloqueo
son de dos tipos. Los métodos indirectos consisten en impedir la aparición de alguna de las tres
condiciones necesarias. Los métodos directos consisten en evitar la aparición del círculo vicioso de
espera
Exclusión Mutua:
la primera de las cuatro condiciones no puede anularse. Si el acceso a un recurso necesita exclusión
mutua, el sistema operativo debe soportar la exclusión mutua. Algunos recursos, como los archivos,
pueden permitir varios accesos para lectura, pero sólo accesos exclusivos para escritura
Retención y espera:
La condición de retención y espera puede prevenirse exigiendo que todos los procesos soliciten
todos los recursos que necesiten a un mismo tiempo y bloqueando el proceso hasta que todos los
recursos puedan concederse simultáneamente. Esta solución resulta ineficiente por dos factores.
En primer lugar, un proceso puede estar suspendido durante mucho tiempo, esperando que se
concedan todas sus solicitudes de recursos, cuando de hecho podría haber avanzado con sólo
algunos de los recursos. Y, en segundo lugar, los recursos asignados a un proceso pueden
permanecer sin usarse durante periodos considerables, tiempo durante el cual se priva del acceso
a otros procesos
No apropiación:
sí a un proceso que retiene ciertos recursos se le deniega una nueva solicitud, dicho proceso deberá
liberar sus recursos anteriores y solicitarlos de nuevo, cuando sea necesario, junto con el recurso
adicional. Por otra parte, si un proceso solicita un recurso que actualmente está retenido por otro
proceso, el sistema operativo puede expulsar al segundo proceso y exigirle que libere sus recursos.
La condición del círculo vicioso de espera puede prevenirse definiendo una ordenación lineal de los
tipos de recursos. Si a un proceso se le han asignado recursos de tipo R, entonces sólo podrá realizar
peticiones posteriores sobre los recursos de los tipos siguientes a R en la ordenación. Para
comprobar el funcionamiento de esta estrategia, se asocia un índice a cada tipo de recurso. En tal
caso, el recurso R, antecede a R, en la ordenación si <j.
Recuperación:
un sistema operativo tradicional como Windows no se ocupa de la recuperación de interbloqueo,
ya que es un proceso que consume tiempo y espacio. Los sistemas operativos en tiempo real utilizan
la recuperación de Deadlock.
Matar el proceso:
Matar todos los procesos involucrados en el interbloqueo. Proceso de matanza uno por uno.
Después de eliminar cada proceso, vuelva a verificar el punto muerto y siga repitiendo el proceso
hasta que el sistema se recupere del punto muerto. Matar todos los procesos uno por uno ayuda a
un sistema a romper la condición de espera circular.
Apropiación de recursos:
los recursos se apropian de los procesos involucrados en el interbloqueo, los recursos apropiados
se asignan a otros procesos para que exista la posibilidad de recuperar el sistema del interbloqueo.
En este caso, el sistema entra en inanición.
https://www.youtube.com/watch?v=aoCK7CNFyl8
Cuando el proceso esta utilizando el recurso la flecha va desde el recurso hacia el proceso, cuando
existe una solicitud de recurso, la flecha va dirigida desde el proceso hacia el recurso, cuando es un
bloqueo, el proceso “A” está solicitando un recuro “B” que está siendo utilizado por otro proceso
“C” que a su vez está solicitando un recurso “D” y hay una espera circular por que todos están
esperando que se liberen los recursos.