SlideShare una empresa de Scribd logo
1 de 103
SISTEMAS OPERATIVOS Administración de los procesos
Introducción ,[object Object],[object Object],[object Object],[object Object]
Llamadas al sistema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Expropiables .-  aquel que se puede tomar  del Proceso  que lo posee sin efectos dañinos No expropiables .-  aquel que no se puede Tomar de su poseedor  sin provocar un fallo de calculo - Físicos - Lógicos Recursos Objetos conocidos, cualquier cosa que solo puede ser usada por un único proceso. Un sistema se compone de un numero finito de Recursos que se distribuyen entre varios procesos que compiten entre ellos RECURSOS Pasos para usar un recurso :
El sistema operativo como administrador de recursos
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BLOQUEOS
Definición de “BLOQUEO” ,[object Object],•  Deadlock •  Abrazo mortal •  Bloqueo mutuo Interbloqueo ,[object Object]
[object Object],[object Object],[object Object],[object Object],Un conjunto de procesos se encuentra en estado de interbloqueo  cuando cada  uno  de ellos espera  un suceso  que  sólo  puede  originar  otro  proceso  del mismo conjunto.   DEFINICIONES DE  “BLOQUEO”
Ejemplo de una situación de interbloqueo
Principios de interbloqueo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Compras   P1  -    Ventas    P2 Ambos activos al mismo tiempo Para actualizar las transacciones cotidianas c/u necesita tener acceso  a 2 archivos Inventarios  F1 Proveedores  F2 Un día el sistema se bloquea mutuamente, cuando ocurre lo siguiente : 1.- Compras (P1) accede al archivo de proveedores (F2), para colocar un pedido para mas madera 2.- Ventas accede al archivo de inventarios (F1)para reservar los componentes que Se requerirán a fin de construir la casa-habitación pedida ese día 3.- Compras (P1) no libera el archivo de proveedores (F2), pero solicita el archivo de Inventarios (F1) para comprobar la cantidad de madera a mano, antes de colocar su perdido por mas, pero P1 esta bloqueado por que P2 tiene a F1 4.- Mientras tanto (P2) no libera el archivo de inventarios (F1), pero solicita el archivo  de proveedores (F1) para verificar el programa de un subcontratista. Al llegar a este  punto P2 también queda bloqueado por que F2 esta es manos de F1. CASO 1  .- Bloqueo mutuo en solicitudes de archivo
 
CASO2  .- Bloqueo mutuo en Bases de Datos Jones GPA=2.5 Direcc: Av. Sn Felipe Jones GPA=2.5 Direcc: Av.Salaverry P2 Proceso de actualización De Dirección lee Dato P1 Proceso de   actualización De Grado lee Dato Jones GPA=3.0 Direcc: Av. Sn Felipe Jones GPA=2.5 Direcc: Av.Salaverry Jones GPA=3.0 Direcc: Av. Sn Felipe Área de Trabajo P1 sobreescribe el Registro a la base De datos con la nueva Dirección Registro Final P1 sobreescribe el Registro a la base de  Datos con el nuevo grado Grado  actualizado Caso 2: Si P1 termina Primero ganará La carrera , pero Su versión del Registro pronto Será sobreescrita Por P2. Sea cual  sea el proceso ganador. La versión final de los Datos sera incorrecta Dirección Actualizada Bloqueos
[object Object],[object Object],[object Object],CASO3 .- Bloqueos en la asignación de dispositivos dedicados ( Dos procesos desean imprimir grandes archivos en cinta ) Solicita (escáner) Solicita (impresora) Usa impresora y escáner Libera (impresora) Libera (escáner) Solicita (impresora) Solicita (escáner) Usa impresora y escáner Libera (escáner) Libera (impresora) Proceso B Proceso A
CASO 4 .-  Bloqueos en la asignación de Múltiples Dispositivos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Impresora Dispositivo de  cinta Graficador P1 P2 P3 Caso 4 Tres procesos  Mostrados como Círculos, esperan un dispositivo asignado a otro proceso, con lo que se genera un Bloqueo mutuo Bloqueos
CASO 5  .- Bloqueos mutuos en operaciones periféricas simultaneas  en línea Digamos que falta una hora antes de que se necesite el gran proyecto para la clase de  Computación. Veintiséis programadores acelerados, teclean sus cambios finales Y, con unos cuantos minutos disponibles emiten unos comandos de impresión El manejador de spool recibe las paginas de cada estudiante una por una, pero le  llegan por separado varias paginas uno, dos, etc.. La impresora esta listo  para  imprimir el primer programa completo que obtiene, pero conforme el manejador de  Spool ( esto es el operador periférico simultaneo en línea ) recorre sus archivos, Obtiene la primera pagina de muchos programa, pero no tiene la ultima de ninguno.  Por desgracia el  spool  esta lleno de salidas incompletadas, por lo que no puede  aceptar otra página; pero ninguno de los trabajos se puede imprimir (lo que liberaria Su espacio en disco), por que la impresora solo acepta archivos de salidas completos.  Una situación desafortunada. Este escenario no se limita a impresoras. Cualquier parte del sistema  que se base  en spooling, como el que maneja los trabajos de entrada o transfiere archivos en  una red, es vulnerable ante un bloqueo mutuo
CASO 6  .-Bloqueos al compartir Discos 1.-El proceso P1 desea mostrar un pago, por lo que un comando para leer  el saldo, que esta almacenado en el cilindro 20 de un paquete de discos. 2.-Mientras la unidad de control esta moviendo el brazo hacia el cilindro 20, P1 se pone en espera y el canal de entradas/salidas queda libre para procesar la siguiente solicitud de entrada/salida 3.-P2 obtiene el control de entrada/salida y emite el comando para emitir el pago de otra persona, en un registro almacenado en el cilindro 310. “Si el comando no esta bloqueado” P2 quedara en espera, mientras la unidad de control mueve el brazo hasta el cilindro 310 Bloqueos
4.-Puesto que P2 “esta en espera” el canal esta libre y P1 puede capturarlo de nuevo, lo que vuelve a confirmar su comando de”leer del cilindro 20”. 5.- dado que el ultimo comando de P2 ha obligado al mecanismo del brazo hasta el cilindro 310, la unidad de control de disco empieza a reubicarlo para el cilindro 20 a fin de satisfacer a P1. el canal de entradas/salidas, será liberado, por que P1 ha quedado de nuevo en espera, por lo que P2 puede de nuevo capturarlo. Este emite un comando  write y descubre que hay necesidad  de reubicar el mecanismo del brazo
CASO 6  .-Bloqueos al compartir Discos Cilindro 310 Cilindro 20 Unidad  de control de disco Canal de E / S P1 P2 Lee Registros del Cilindro  20 Escribe a un archivo colocado en el Cilindro  310 Disco Caso 6 .  Dos procesos Esperan una solicitud de E/S para llenarse: Uno en el cilindro 20 y el otro en el cilindro 310. Ninguna de estas puede satisfacerse, por que el dispositivo pone cada solicitud en espera cuando intenta llenar a la otra
CASO 7  .-Bloqueos Mutuos en una Red Un centro de procesamiento de palabras de tamaño medio tiene siete computadoras en red, c/u con dos nodos diferentes. C1 recibe mensaje de los nodos C2,C6 y C7 y solo envía mensajes a uno : C2 C2 recibe los mensajes de los nodos C1,C3 y C4 y nada mas manda mensajes a C1 y c3. La dirección de las flechas de la figura señala el flujo de los mensajes. Los mensajes recibidos por c1 desde C6 y C7 y destinados a C2 se almacenan en una cola de salida. Los mensajes recibido por C2 de C3  y de C4 destinados a C1 se almacenan en una cola de salida. Conforme se incrementa el trafico, aumenta la longitud de cada cola de salida, hasta que se llena el espacio disponible para las colas.  En este punto C1 ya no puede aceptar mas mensajes (de C2 o de cualquier otra computadora) por que no existe mas espacio disponible para almacenarlas. Por la misma razón, C2 no puedec aceptar mas mensajes de C1 para ninguna otra computadora, ni siquiera una solicitud para enviar. La trayectoria de comunicación entre C1 y C2 se bloquea y en vista  de que C1 solo puede recibir mensajes de C6 y C7, estos caminos también se han bloqueado. C1 no puede enviar palabras hasta C2 respecto al problema, por lo que el bloqueo mutuo no se puede resolver sin intervención del exterior Bloqueos
CASO 7  .-Bloqueos Mutuos en una Red C6 C7 C3 C5 C4 C2 C1 Caso 7 .  Flujo de red  Bloqueado  totalmente. Cada circulo representa Un nodo, y  cada línea,  una línea de  comunicación.  Las flechas  Indican la  dirección del flujo del  trafico Bloqueos
Ejemplo 1  ( Cruce en un puente ) . ,[object Object]
Aquí cada proceso está esperando por el otro para liberar uno de los recursos. El recurso retenido no será liberado hasta que el otro proceso usuario libere su recurso. Pero este último proceso usuario no liberará su recurso retenido hasta que el primer proceso usuario libere su recurso retenido. Entonces se produce una  espera circular  (Ver figura 31).   ( Interbloqueo de un recurso simple ) Ejemplo 2
Ejemplo 3  ( bloqueo de tráfico ) N S O E Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes: -         El coche que va hacia el norte necesita los cuadrantes 1 y 2. -         El coche que va hacia el oeste necesita los cuadrantes 2 y 3. -         El coche que va hacia el sur necesita los cuadrantes 3 y 4. -         El coche que va hacia el este necesita los cuadrantes 4 y 1. Bloqueos
Condiciones necesarias para el Bloqueo mutuo
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Condiciones necesarias para el bloqueo mutuo
[object Object],[object Object],[object Object],Condición de No Apropiación :  Esta condición no resulta precisamente de la concurrencia, pero juega un papel importante en este ambiente. Esta condición especifica que si un proceso tiene asignado un recurso, dicho recurso no puede arrebatársele por ningún motivo, y estará disponible hasta que el proceso lo 'suelte'  por su voluntad.  (los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explicita)
Condición de Espera Circular:   (o círculo vicioso de espera) : Esto ocurre cuando dos o más procesos forman una  cadena de espera  que los involucra a todos. Por ejemplo, suponga que el proceso A tiene asignado el recurso 'cinta' y el proceso B tiene asignado el recurso 'disco'. En ese momento al proceso A se le ocurre pedir el recurso 'disco' y al proceso B el recurso 'cinta'. Ahí se forma una  espera circular  entre esos dos procesos que se puede evitar quitándole a la fuerza un recurso a cualquiera de los dos procesos.  (Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena).
[object Object],[object Object],Recurso A Recurso B Solicitado Retenido por Solicitado Proceso P1 Proceso P2 ,[object Object],Retenido por Circulo Vicioso Condiciones necesarias para el bloqueo mutuo
El deadlock es una condición que ningún sistema o conjunto de procesos quisiera exhibir, ya que consiste en que se presentan  al mismo tiempo  cuatro condiciones necesarias  Condiciones necesarias para el bloqueo mutuo Exclusión mutua No apropiación Ocupar y esperar Espera circular Simultáneamente Abrazo mortal ( deadlock )
Modelado de Bloqueos Mutuos
Modelado de Bloqueos
No se produce interbloqueo porque habrá un momento en el que acabe P2  porque tiene todo para ejecutarse, y el recurso que ocupa se lo asignará a P1. P4 como también tienen todo para acabar , cuando termine liberará el recurso y se lo asignaremos a P3.
Modelado de Bloqueos P2 P1 P3 R1 R2 R3 R4 Grafo de Asignación de Recursos
Modelado de Bloqueos En la grafica dirigida hay bloqueo mutuo porque todos los procesos esperan un recurso que esta detenido por otro proceso, pero ninguno quedara liberado sin la intervención del operador
Modelado de Bloqueos
Modelado de Bloqueos
[object Object],[object Object],[object Object],[object Object],Modelado de Bloqueos
P1 P2 P3 3 4 5 1 6 1 R1 R2 R3 Modelado de Bloqueos Modelado de Bloqueos
R1 R2 R3 P1 P2 P3 P4 1 6 3 2 4 5 Modelado de Bloqueos
Reducción   de gráficas
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sincronización Mensajes Semáforos Monitores Figura 36   recibir  = espera enviar = señal En procesos  distintos
Reducción de Gráficas
Los procesos P1, P2 y P3 están en bloqueo mutuo.   Consideraciones: *   Si un grafo no contiene ciclos no esta en bloqueo mutuo.   *   Si el grafo esta en bloqueo mutuo entonces existe a lo menos un  ciclo en el grafo.   *  Si existe un ciclo en un grafo, no es condición suficiente para que exista bloqueo mutuo. Reducción de Graficas Reducción de Gráficas
ESTRATEGIAS PARA EL MANEJO DE BLOQUEOS
Estrateg. Para manejo de Bloqueos Para prevenir que se presente el interbloqueo  debemos asegurar que por lo menos una de la condiciones  necesarias no se cumpla. Entonces se debe plantear las siguientes políticas, independientes una de otra. Objetivo :  conseguir que sea imposible la aparición   de situaciones de interbloqueo Exclusión mutua Retención y espera No expropiación Espera circular Impedir que se produzca una  de las cuatro condiciones  necesarias para el  interbloqueo
Estrateg. Para manejo de Bloqueos
Se plantea cuatro áreas de interés para solucionar el problema del bloqueo mutuo.   Estrateg. Para manejo de Bloqueos
Exclusión mutua   Si no hay asignación exclusiva, no hay bloqueo mutuo. Dado que esta es una condición indispensable para un acceso seguro a recursos no compartibles, ningún sistema real la elimina Estrateg. Para manejo de Bloqueos Prevención – Exclusión Mutua Existen recursos para los que no es posible negar la condición de exclusión mutua.  Se la debe de conservar para los recursos no compartibles.   Ficheros :  permiten múltiples accesos de lectura, pero únicamente   un proceso puede escribir a la vez. Es posible eliminar la condición de exclusión mutua en Algunos recursos Impresora Spooler
¿Cuál es el problema planteado? ,[object Object],[object Object],[object Object],[object Object],[object Object],Estrateg. Para manejo de Bloqueos Prevención – Exclusión mutua
Sincronización ,[object Object],[object Object],3:00 Mira en la nevera. No hay leche 3:05 Va a la tienda 3:10 Llega a la tienda 3:15 Deja la tienda 3:20 Llega a casa y guarda la leche 3:25 3:30 Mira en la nevera. No hay leche Va a la tienda Llega a la tienda Deja la tienda Llega a casa y ... Estrateg. Para manejo de Bloqueos Prevención  -  Exclusión   mutua
Retención y Espera   Cada proceso deberá pedir todos los recursos que necesita al mismo tiempo y no podrá seguir hasta obtenerlos todos.   Estrateg. Para manejo de Bloqueos Prevención – Retención y espera
Estrateg. Para manejo de Bloqueos Prevención  –  Retención y espera El proceso solicita los recursos de forma Incremental  a lo largo de su ejecución, Pero libera todos los recursos retenidos Si se encuentra con una negativa POSIBILIDAD 2 Los cambios hechos sobre la  memoria  o sobre  ficheros Pueden corromper el sistema si no se llevan a termino Pueden conducir a la postergación indefinida (ó  inanición  ) de algunos procesos que Solicitan recursos muy utilizados ,[object Object],[object Object],Menos exigente
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Estrateg. Para manejo de Bloqueos Prevención  –  Retención y espera
B) Los recursos se piden y otorgan escalonadamente y caso de que un proceso realice una petición de un recurso no disponible, deberán liberarse todos los recursos asignados hasta el momento, y pedirlos otra vez, junto con los nuevos. Problemas :  Existen recursos que no se pueden devolver, ejemplo una impresora que está imprimiendo, se podrá devolver cuanto termine la impresión. Este método también presenta la posibilidad de aplazamiento indefinido, además de una sobrecarga para el sistema si un proceso solicita y libera recursos repetidamente, pudiendo llegar a degradar el sistema. Estrateg. Para manejo de Bloqueos Prevención  –  Retención y espera
No Apropiación.   Si a un proceso le falta algún recurso, deberá liberar los recursos ya asignados. El S.O. está autorizado para quitar un recurso asignado a un proceso para dárselo a otro que lo necesita. Problemas : Los mismo que para  a supresión de retención y espera, cuando los recursos se piden y otorgan escalonadamente, pues habrá recursos que no se pueden devolver. Estrateg. Para manejo de Bloqueos Prevención  –  No apropiación
Estrateg. Para manejo de Bloqueos Prevención Espera Circular   A los recursos se les asigna un  ordenamiento lineal  (numeración única ascendente). Los números asignados a los recursos deben reflejar el orden natural en que son solicitados. Si a un proceso se le ha asignado un recurso en lo sucesivo solo podrá pedir los recursos que siguen en el ordenamiento. Prevención – Espera Circular
Estrateg. Para manejo de Bloqueos Prevención  –  Espera Circular
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Estrateg. Para manejo de Bloqueos Prevención  –  Espera Circular
PROBLEMAS: Los recursos deben ser adquiridos en el orden previsto y no en el orden en el que realmente se necesitan. El rendimiento cae por lo mismo de antes, ya que los procesos toman recursos que igual no los utilizan hasta el final y les tienen retenidos. Estrateg. Para manejo de Bloqueos Prevención  –  Espera Circular Podemos evitar la espera circular si imponemos un orden total a los recursos (o sea, asignamos a cada recurso  R  un número único  F(R) ), y obligamos a los procesos a que soliciten recursos en orden: un proceso no puede solicitar  Q  y después  R  si  F(Q)>F(R) . Por ejemplo:  F(CD-ROM)=1  F(impresora)=2  F(plotter)=3  F(Cinta)=4
Incluso si el sistema operativo no puede eliminar una de las condiciones del bloqueo mutuo, puede evitar uno, si conoce por anticipado la secuencia de solicitudes asociadas con cada proceso activo. Dijkstra( 1965)  propuso uno de esos algoritmos para regular la asignación de recursos a fin de evitar bloqueos, ese algoritmo fue conocido como : ,[object Object],[object Object],[object Object],EL ALGORITMO DEL BANQUERO Estrateg. Para manejo de Bloqueos Evitación
Estrateg. Para manejo de Bloqueos Evitación Palabras Clave Los métodos de prevención adolecen de que son muy costosos. (bajo uso de los recursos, reducción de la productividad del sistema). Existe al menos una  forma de que terminen todos los procesos. No se puede garantizar que los procesos terminen, pues algunos de ellos podría pedir un recurso más que no puede ser satisfecho. Pero este no es un estado de bloqueado, sino que no puede garantizarse que termine
Evitación Estrateg. Para manejo de Bloqueos Ejemplos de transición de un estado seguro a uno inseguro.
[object Object],[object Object],[object Object],[object Object],Estrateg. Para manejo de Bloqueos Evitación
Estrateg. Para manejo de Bloqueos Evitación
Estrateg. Para manejo de Bloqueos Evitación
¿ Cómo detectar un Deadlock ?.   Para detectar un deadlock, se puede usar el mismo algoritmo del banquero, que aunque no dice que hay un deadlock, sí dice cuándo se está en  estado inseguro  que es la antesala del deadlock. Sin embargo, para detectar realmente el deadlock se pueden usar las  'gráficas de recursos' . Como se dijo en punto anteriores en ellas se pueden usar cuadrados para indicar procesos y círculos para los recursos, y flechas para indicar si un recurso ya está asignado a un proceso o si un proceso está esperando un recurso. De esta forma el deadlock es detectado cuando se puede hacer un viaje de ida y vuelta desde un proceso o recurso.  Estrateg. Para manejo de Bloqueos Detección
Estrateg. Para manejo de Bloqueos Detección
Estrateg. Para manejo de Bloqueos Detección
En la figura anterior se observa como la gráfica de recursos fue evolucionando hasta que se presentó el deadlock, lo cual significa que se puede viajar por las flechas desde un proceso o recurso hasta regresar al punto de partida. En el deadlock están involucrados los procesos A, B y C.  Una vez que un deadlock se detecta, es obvio que el sistema está en problemas y lo único que resta por hacer es una de dos cosas: tener algún mecanismo de suspensión o reanudación que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los periféricos que esté usando para reanudarlo otro día, o simplemente eliminar un proceso o arrebatarle el recurso, causando para ese proceso la pérdida de datos y tiempo.  Evento  1 :  Proceso A pide recurso 1 y se le asigna .   Evento  2 :  Proceso A termina su quantum.   Evento  3 :  Proceso B pide recurso 2 y se le asigna.   Evento  4 :  Proceso B termina su quantum.   Evento  5 :  Proceso C pide recurso 3 y se le asigna.  Evento  6 :  Proceso C pide recurso 1 y como lo está ocupando el  proceso A, espera.   Evento  7 :  Proceso B pide recurso 3 y se bloquea porque lo ocupa el  proceso C.  E vento  8 :  Proceso A pide recurso 2 y se bloquea porque lo ocupa el proceso B.   Estrateg. Para manejo de Bloqueos Detección
[object Object],[object Object],[object Object],Estrateg. Para manejo de Bloqueos Detección
Técnicas una vez detectado el interbloqueo ,[object Object],[object Object],[object Object],[object Object],[object Object],La menor cantidad de tiempo de procesador consumido hasta ahora. El menor número de líneas de salida producidas hasta ahora. El mayor tiempo restante estimado. El menor número total de recursos asignados hasta ahora. La prioridad más baja. Criterio de selección de los procesos interbloqueados
Estrateg. Para manejo de Bloqueos Recuperación
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Cuando el algoritmo de detección determina que existe el interbloqueo, existen las siguientes alternativas: 1. Abortar uno o mas procesos para romper la espera circular 2. Quitar uno o mas recursos a los procesos bloqueados. Estrateg. Para manejo de Bloqueos Recuperación
Estrateg. Para manejo de Bloqueos Recuperación
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Estrateg. Para manejo de Bloqueos Recuperación
 
 
 
EL ALGORITMO DEL BANQUERO
Si el banquero tuviese fondos suficientes para prestar el máximo a cada cliente, es decir, tanto como la suma de los máximos, no habría problemas. Sin embargo, no ocurre así: los recursos del banquero están limitados, por lo que si todos piden el máximo, no podrá satisfacerlos simultáneamente. Por tanto, el banquero debe gestionar sus fondos de manera que todos los clientes puedan llegar al máximo, pero uno tras otro, sin que se produzca interbloqueo. Partiendo de una situación inicial, se dice que un estado es  seguro  si, partiendo de él, existe alguna secuencia de estados en la que todos los procesos alcancen el número máximo de recursos en algún momento, De lo contrario, el estado es  inseguro . Algoritmo del banquero
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1)  Estructuras de datos : que representan internamente el grafo general de recursos. A signados :  ARRAY  1..NumProcesos, 1..NumTipoRecursos OF INTEGER. Indica cuantos recursos de cada tipo tiene asignados cada proceso. Inicialmente está a 0. Reclamables :  ARRAY  1..NumProcesos, 1..NumTipoRecursos OF INTEGER. Indica cuantos recursos de cada tipo pueden aún solicitar cada proceso. Inicialmente contiene el valor de necesidades máximas de cada proceso. Conforme se vayan asignando recursos los componentes del array se irán decrementando. Disponibles :  ARRAY  1..NumTipoRecursos OF INTEGER. Indica el número de recursos de cada tipo que aún no han sido asignados. Inicialmente contiene el valor de recursos en el sistema y conforme se otorguen y se devuelvan se irá decrementando o incrementando ese valor. EJEMPLO: IMPLEMENTACIÓN DEL ALGORITMO.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
C1 C2 C3 0 2,000 4,000 4,000 5,000 8,000 4,000 3,000 4,000 Cliente Cantidad de Préstamo Crédito máximo Crédito restante C1 C2 C3 2,000 3,000 4,000 4,000 5,000 8,000 2,000 2,000 4,000 Cliente Cantidad de Préstamo Crédito máximo Crédito restante El banco arranco con 10000 dólares y después de estos prestamos, tiene un capital restante de 4000. Por lo tanto, se encuentra en un “estado seguro” El banco ahora solo tiene capital restante de 1000 dólares después de estos prestamos, de modo que esta en un “estado inseguro” Total prestado : 6,000 Fondo Total de capital :10,000 Total prestado : 9,000 Fondo Total de capital :10,000
 
 
Inanición
[object Object],[object Object],[object Object],Definición de Inanición
Inanición Para los dos casos de intento de recuperación del  Interbloqueo (terminación de procesos o expropiación de recursos) hay que tener cuidado de no provocar La inanición de procesos. Que es la inanición ? Supón tres procesos que acceden periodicamente a un recurso. Considera P1 posee el recurso y que P2 y P3 están Esperando. Cuando P1 haya ejecutado su sección crítica, P1 Solicita acceso de nuevo y así sucesivamente,  se puede llegar a Una situación en la que P2 nunca accede al recurso
El  problema de los filósofos cenando  es un problema clásico de las ciencias de la computación propuesto por Edsger Dijkstra (1965 ) para representar el problema de la sincronización de procesos en un sistema operativo. Cabe aclarar que la interpretación está basada en pensadores chinos, quienes comían con dos palillos, donde es más lógico que se necesite el del comensal que se siente al lado para poder comer t1 t2 t3 t4 t5
G r a c i a s  . . .
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Palabras Clare
 
 
 
 
 
 
 
 
 

Más contenido relacionado

La actualidad más candente

Lean supply chain
Lean supply chainLean supply chain
Lean supply chaingioskinny
 
Investigacion de Operaciones - CPM - PERT
Investigacion de Operaciones - CPM - PERTInvestigacion de Operaciones - CPM - PERT
Investigacion de Operaciones - CPM - PERTAna Chen Rebaza
 
Modelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en CascadaModelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en CascadaMildred Iribe
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Reglas para la construcción de redes pert cpm
Reglas para la construcción de redes pert cpmReglas para la construcción de redes pert cpm
Reglas para la construcción de redes pert cpm1804476115
 
Reflection in C Sharp
Reflection in C SharpReflection in C Sharp
Reflection in C SharpHarman Bajwa
 
Automata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No DeterministasAutomata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No DeterministasPedro Roman
 
Niveles para la aplicacion de la manufactura esbelta
Niveles para la aplicacion de la manufactura esbeltaNiveles para la aplicacion de la manufactura esbelta
Niveles para la aplicacion de la manufactura esbeltaAdriana Vazquez
 
El método-de-la-ruta-crítica
El método-de-la-ruta-críticaEl método-de-la-ruta-crítica
El método-de-la-ruta-críticaalo28lucero04var
 
Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.Roberto Dominguez
 
Metodo Justo a Tiempo JIT y MRP
Metodo Justo a Tiempo JIT y MRPMetodo Justo a Tiempo JIT y MRP
Metodo Justo a Tiempo JIT y MRPJavis Cabrera
 
Taller kanban[1]
Taller kanban[1]Taller kanban[1]
Taller kanban[1]carano
 
Capitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaCapitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaJonnathan Cuvi
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosECCI
 

La actualidad más candente (20)

Lean supply chain
Lean supply chainLean supply chain
Lean supply chain
 
Investigacion de Operaciones - CPM - PERT
Investigacion de Operaciones - CPM - PERTInvestigacion de Operaciones - CPM - PERT
Investigacion de Operaciones - CPM - PERT
 
Modelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en CascadaModelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en Cascada
 
metodo pert-cpm
metodo pert-cpmmetodo pert-cpm
metodo pert-cpm
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Reglas para la construcción de redes pert cpm
Reglas para la construcción de redes pert cpmReglas para la construcción de redes pert cpm
Reglas para la construcción de redes pert cpm
 
Reflection in C Sharp
Reflection in C SharpReflection in C Sharp
Reflection in C Sharp
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Tipos De Datos Abstractos Colas
Tipos De Datos Abstractos ColasTipos De Datos Abstractos Colas
Tipos De Datos Abstractos Colas
 
Justo a tiempo
 Justo a tiempo Justo a tiempo
Justo a tiempo
 
Sistema De Jalar & Kanban
Sistema De Jalar & KanbanSistema De Jalar & Kanban
Sistema De Jalar & Kanban
 
Automata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No DeterministasAutomata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No Deterministas
 
Niveles para la aplicacion de la manufactura esbelta
Niveles para la aplicacion de la manufactura esbeltaNiveles para la aplicacion de la manufactura esbelta
Niveles para la aplicacion de la manufactura esbelta
 
Slam Ii
Slam IiSlam Ii
Slam Ii
 
El método-de-la-ruta-crítica
El método-de-la-ruta-críticaEl método-de-la-ruta-crítica
El método-de-la-ruta-crítica
 
Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.
 
Metodo Justo a Tiempo JIT y MRP
Metodo Justo a Tiempo JIT y MRPMetodo Justo a Tiempo JIT y MRP
Metodo Justo a Tiempo JIT y MRP
 
Taller kanban[1]
Taller kanban[1]Taller kanban[1]
Taller kanban[1]
 
Capitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaCapitulo 16- Excepciones en Java
Capitulo 16- Excepciones en Java
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 

Destacado

Présentation aux participants de l'Accélérateur Banque Nationale
Présentation aux participants de l'Accélérateur Banque NationalePrésentation aux participants de l'Accélérateur Banque Nationale
Présentation aux participants de l'Accélérateur Banque NationalePierre-Majorique Léger
 
Charte qualité PriceMinister - Rakuten | Code-barre
Charte qualité PriceMinister - Rakuten | Code-barreCharte qualité PriceMinister - Rakuten | Code-barre
Charte qualité PriceMinister - Rakuten | Code-barreNicolasPrice
 
Bilan cdi 2014 2015
Bilan cdi 2014 2015Bilan cdi 2014 2015
Bilan cdi 2014 2015cdi_coeffin
 
Gureen Bila Programa E S
Gureen Bila Programa E SGureen Bila Programa E S
Gureen Bila Programa E Sorigenvasco
 
Government system in France
Government system in FranceGovernment system in France
Government system in Francealice ayel
 
Webinar - Relation client : bonnes pratiques 2016
Webinar - Relation client : bonnes pratiques 2016Webinar - Relation client : bonnes pratiques 2016
Webinar - Relation client : bonnes pratiques 2016appvizer.fr
 
Les actualités de la Roumanie pour le Mois de Novembre 2015
Les actualités de la Roumanie pour le Mois de Novembre 2015Les actualités de la Roumanie pour le Mois de Novembre 2015
Les actualités de la Roumanie pour le Mois de Novembre 2015Marc Pasal Huot
 
Mesa de pingpong cornilleau,mesa 250 indoor
Mesa de pingpong cornilleau,mesa 250 indoorMesa de pingpong cornilleau,mesa 250 indoor
Mesa de pingpong cornilleau,mesa 250 indoorCornilleau España
 
Plan de cours - hiver 2012
Plan de cours - hiver 2012Plan de cours - hiver 2012
Plan de cours - hiver 2012leclercconseil
 
C R Mademanda
C R MademandaC R Mademanda
C R Mademandamanagit
 
presentacion de Gabriel B
presentacion de Gabriel Bpresentacion de Gabriel B
presentacion de Gabriel Brurbyr
 
Les points d'Audit pour un site SEO Friendly
Les points d'Audit pour un site SEO FriendlyLes points d'Audit pour un site SEO Friendly
Les points d'Audit pour un site SEO FriendlyBrioude Internet
 

Destacado (20)

Présentation aux participants de l'Accélérateur Banque Nationale
Présentation aux participants de l'Accélérateur Banque NationalePrésentation aux participants de l'Accélérateur Banque Nationale
Présentation aux participants de l'Accélérateur Banque Nationale
 
Proc titulacion
Proc titulacionProc titulacion
Proc titulacion
 
Duro
DuroDuro
Duro
 
Présentation du College des Producteurs
Présentation du College des Producteurs Présentation du College des Producteurs
Présentation du College des Producteurs
 
L' univers
L' universL' univers
L' univers
 
Charte qualité PriceMinister - Rakuten | Code-barre
Charte qualité PriceMinister - Rakuten | Code-barreCharte qualité PriceMinister - Rakuten | Code-barre
Charte qualité PriceMinister - Rakuten | Code-barre
 
Bilan cdi 2014 2015
Bilan cdi 2014 2015Bilan cdi 2014 2015
Bilan cdi 2014 2015
 
Share your ideas
Share your ideasShare your ideas
Share your ideas
 
Gureen Bila Programa E S
Gureen Bila Programa E SGureen Bila Programa E S
Gureen Bila Programa E S
 
Government system in France
Government system in FranceGovernment system in France
Government system in France
 
Webinar - Relation client : bonnes pratiques 2016
Webinar - Relation client : bonnes pratiques 2016Webinar - Relation client : bonnes pratiques 2016
Webinar - Relation client : bonnes pratiques 2016
 
Les actualités de la Roumanie pour le Mois de Novembre 2015
Les actualités de la Roumanie pour le Mois de Novembre 2015Les actualités de la Roumanie pour le Mois de Novembre 2015
Les actualités de la Roumanie pour le Mois de Novembre 2015
 
Bitcuners porque bitcoins
Bitcuners porque bitcoinsBitcuners porque bitcoins
Bitcuners porque bitcoins
 
Reporte3
Reporte3Reporte3
Reporte3
 
Mesa de pingpong cornilleau,mesa 250 indoor
Mesa de pingpong cornilleau,mesa 250 indoorMesa de pingpong cornilleau,mesa 250 indoor
Mesa de pingpong cornilleau,mesa 250 indoor
 
Plan de cours - hiver 2012
Plan de cours - hiver 2012Plan de cours - hiver 2012
Plan de cours - hiver 2012
 
C R Mademanda
C R MademandaC R Mademanda
C R Mademanda
 
SFK 2007 Antoon Ven
SFK 2007 Antoon VenSFK 2007 Antoon Ven
SFK 2007 Antoon Ven
 
presentacion de Gabriel B
presentacion de Gabriel Bpresentacion de Gabriel B
presentacion de Gabriel B
 
Les points d'Audit pour un site SEO Friendly
Les points d'Audit pour un site SEO FriendlyLes points d'Audit pour un site SEO Friendly
Les points d'Audit pour un site SEO Friendly
 

Similar a Capitulo5

Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Gabriel Loría Solís
 
Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrenciapuracastillo
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESOFiorelaL.V
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESOFiorelaL.V
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSomarhcc
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESOFiorelaL.V
 
Apuntes02ele
Apuntes02eleApuntes02ele
Apuntes02eleparrau
 
Tarea 3 actividad individual
Tarea 3 actividad individualTarea 3 actividad individual
Tarea 3 actividad individualAngelicaMaria99
 
Exposicion sistemas opertivos1
Exposicion sistemas opertivos1Exposicion sistemas opertivos1
Exposicion sistemas opertivos1Fiorela VG
 
Introduccion A Los Procesos
Introduccion A Los ProcesosIntroduccion A Los Procesos
Introduccion A Los Procesospainni
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosPablo Macon
 
Corrección parcial 1er corte
Corrección parcial 1er corteCorrección parcial 1er corte
Corrección parcial 1er corteFacebook
 

Similar a Capitulo5 (20)

Bloqueo mutuo
Bloqueo mutuoBloqueo mutuo
Bloqueo mutuo
 
Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos
 
Proceso
ProcesoProceso
Proceso
 
Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrencia
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
Apuntes02ele
Apuntes02eleApuntes02ele
Apuntes02ele
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
prueba
pruebaprueba
prueba
 
Tarea 3 actividad individual
Tarea 3 actividad individualTarea 3 actividad individual
Tarea 3 actividad individual
 
Exposicion sistemas opertivos1
Exposicion sistemas opertivos1Exposicion sistemas opertivos1
Exposicion sistemas opertivos1
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 
Introduccion A Los Procesos
Introduccion A Los ProcesosIntroduccion A Los Procesos
Introduccion A Los Procesos
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
Corrección parcial 1er corte
Corrección parcial 1er corteCorrección parcial 1er corte
Corrección parcial 1er corte
 
Sistemas operativos; procesos
Sistemas operativos; procesosSistemas operativos; procesos
Sistemas operativos; procesos
 

Más de darkslayer

Más de darkslayer (10)

Capitulo11
Capitulo11Capitulo11
Capitulo11
 
Capitulo10
Capitulo10Capitulo10
Capitulo10
 
CapíTulo 8
CapíTulo 8CapíTulo 8
CapíTulo 8
 
Capitulo5
Capitulo5Capitulo5
Capitulo5
 
Capitulo7
Capitulo7Capitulo7
Capitulo7
 
Capitulo6
Capitulo6Capitulo6
Capitulo6
 
Capitulo5
Capitulo5Capitulo5
Capitulo5
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (10)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Capitulo5

  • 2.
  • 3.
  • 4. El sistema operativo como administrador de recursos
  • 5.
  • 7.
  • 8.
  • 9. Ejemplo de una situación de interbloqueo
  • 10.
  • 11. Compras P1 - Ventas P2 Ambos activos al mismo tiempo Para actualizar las transacciones cotidianas c/u necesita tener acceso a 2 archivos Inventarios F1 Proveedores F2 Un día el sistema se bloquea mutuamente, cuando ocurre lo siguiente : 1.- Compras (P1) accede al archivo de proveedores (F2), para colocar un pedido para mas madera 2.- Ventas accede al archivo de inventarios (F1)para reservar los componentes que Se requerirán a fin de construir la casa-habitación pedida ese día 3.- Compras (P1) no libera el archivo de proveedores (F2), pero solicita el archivo de Inventarios (F1) para comprobar la cantidad de madera a mano, antes de colocar su perdido por mas, pero P1 esta bloqueado por que P2 tiene a F1 4.- Mientras tanto (P2) no libera el archivo de inventarios (F1), pero solicita el archivo de proveedores (F1) para verificar el programa de un subcontratista. Al llegar a este punto P2 también queda bloqueado por que F2 esta es manos de F1. CASO 1 .- Bloqueo mutuo en solicitudes de archivo
  • 12.  
  • 13. CASO2 .- Bloqueo mutuo en Bases de Datos Jones GPA=2.5 Direcc: Av. Sn Felipe Jones GPA=2.5 Direcc: Av.Salaverry P2 Proceso de actualización De Dirección lee Dato P1 Proceso de actualización De Grado lee Dato Jones GPA=3.0 Direcc: Av. Sn Felipe Jones GPA=2.5 Direcc: Av.Salaverry Jones GPA=3.0 Direcc: Av. Sn Felipe Área de Trabajo P1 sobreescribe el Registro a la base De datos con la nueva Dirección Registro Final P1 sobreescribe el Registro a la base de Datos con el nuevo grado Grado actualizado Caso 2: Si P1 termina Primero ganará La carrera , pero Su versión del Registro pronto Será sobreescrita Por P2. Sea cual sea el proceso ganador. La versión final de los Datos sera incorrecta Dirección Actualizada Bloqueos
  • 14.
  • 15.
  • 16. CASO 5 .- Bloqueos mutuos en operaciones periféricas simultaneas en línea Digamos que falta una hora antes de que se necesite el gran proyecto para la clase de Computación. Veintiséis programadores acelerados, teclean sus cambios finales Y, con unos cuantos minutos disponibles emiten unos comandos de impresión El manejador de spool recibe las paginas de cada estudiante una por una, pero le llegan por separado varias paginas uno, dos, etc.. La impresora esta listo para imprimir el primer programa completo que obtiene, pero conforme el manejador de Spool ( esto es el operador periférico simultaneo en línea ) recorre sus archivos, Obtiene la primera pagina de muchos programa, pero no tiene la ultima de ninguno. Por desgracia el spool esta lleno de salidas incompletadas, por lo que no puede aceptar otra página; pero ninguno de los trabajos se puede imprimir (lo que liberaria Su espacio en disco), por que la impresora solo acepta archivos de salidas completos. Una situación desafortunada. Este escenario no se limita a impresoras. Cualquier parte del sistema que se base en spooling, como el que maneja los trabajos de entrada o transfiere archivos en una red, es vulnerable ante un bloqueo mutuo
  • 17. CASO 6 .-Bloqueos al compartir Discos 1.-El proceso P1 desea mostrar un pago, por lo que un comando para leer el saldo, que esta almacenado en el cilindro 20 de un paquete de discos. 2.-Mientras la unidad de control esta moviendo el brazo hacia el cilindro 20, P1 se pone en espera y el canal de entradas/salidas queda libre para procesar la siguiente solicitud de entrada/salida 3.-P2 obtiene el control de entrada/salida y emite el comando para emitir el pago de otra persona, en un registro almacenado en el cilindro 310. “Si el comando no esta bloqueado” P2 quedara en espera, mientras la unidad de control mueve el brazo hasta el cilindro 310 Bloqueos
  • 18. 4.-Puesto que P2 “esta en espera” el canal esta libre y P1 puede capturarlo de nuevo, lo que vuelve a confirmar su comando de”leer del cilindro 20”. 5.- dado que el ultimo comando de P2 ha obligado al mecanismo del brazo hasta el cilindro 310, la unidad de control de disco empieza a reubicarlo para el cilindro 20 a fin de satisfacer a P1. el canal de entradas/salidas, será liberado, por que P1 ha quedado de nuevo en espera, por lo que P2 puede de nuevo capturarlo. Este emite un comando write y descubre que hay necesidad de reubicar el mecanismo del brazo
  • 19. CASO 6 .-Bloqueos al compartir Discos Cilindro 310 Cilindro 20 Unidad de control de disco Canal de E / S P1 P2 Lee Registros del Cilindro 20 Escribe a un archivo colocado en el Cilindro 310 Disco Caso 6 . Dos procesos Esperan una solicitud de E/S para llenarse: Uno en el cilindro 20 y el otro en el cilindro 310. Ninguna de estas puede satisfacerse, por que el dispositivo pone cada solicitud en espera cuando intenta llenar a la otra
  • 20. CASO 7 .-Bloqueos Mutuos en una Red Un centro de procesamiento de palabras de tamaño medio tiene siete computadoras en red, c/u con dos nodos diferentes. C1 recibe mensaje de los nodos C2,C6 y C7 y solo envía mensajes a uno : C2 C2 recibe los mensajes de los nodos C1,C3 y C4 y nada mas manda mensajes a C1 y c3. La dirección de las flechas de la figura señala el flujo de los mensajes. Los mensajes recibidos por c1 desde C6 y C7 y destinados a C2 se almacenan en una cola de salida. Los mensajes recibido por C2 de C3 y de C4 destinados a C1 se almacenan en una cola de salida. Conforme se incrementa el trafico, aumenta la longitud de cada cola de salida, hasta que se llena el espacio disponible para las colas. En este punto C1 ya no puede aceptar mas mensajes (de C2 o de cualquier otra computadora) por que no existe mas espacio disponible para almacenarlas. Por la misma razón, C2 no puedec aceptar mas mensajes de C1 para ninguna otra computadora, ni siquiera una solicitud para enviar. La trayectoria de comunicación entre C1 y C2 se bloquea y en vista de que C1 solo puede recibir mensajes de C6 y C7, estos caminos también se han bloqueado. C1 no puede enviar palabras hasta C2 respecto al problema, por lo que el bloqueo mutuo no se puede resolver sin intervención del exterior Bloqueos
  • 21. CASO 7 .-Bloqueos Mutuos en una Red C6 C7 C3 C5 C4 C2 C1 Caso 7 . Flujo de red Bloqueado totalmente. Cada circulo representa Un nodo, y cada línea, una línea de comunicación. Las flechas Indican la dirección del flujo del trafico Bloqueos
  • 22.
  • 23. Aquí cada proceso está esperando por el otro para liberar uno de los recursos. El recurso retenido no será liberado hasta que el otro proceso usuario libere su recurso. Pero este último proceso usuario no liberará su recurso retenido hasta que el primer proceso usuario libere su recurso retenido. Entonces se produce una espera circular (Ver figura 31). ( Interbloqueo de un recurso simple ) Ejemplo 2
  • 24. Ejemplo 3 ( bloqueo de tráfico ) N S O E Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes: -         El coche que va hacia el norte necesita los cuadrantes 1 y 2. -         El coche que va hacia el oeste necesita los cuadrantes 2 y 3. -         El coche que va hacia el sur necesita los cuadrantes 3 y 4. -         El coche que va hacia el este necesita los cuadrantes 4 y 1. Bloqueos
  • 25. Condiciones necesarias para el Bloqueo mutuo
  • 26.
  • 27.
  • 28. Condición de Espera Circular: (o círculo vicioso de espera) : Esto ocurre cuando dos o más procesos forman una cadena de espera que los involucra a todos. Por ejemplo, suponga que el proceso A tiene asignado el recurso 'cinta' y el proceso B tiene asignado el recurso 'disco'. En ese momento al proceso A se le ocurre pedir el recurso 'disco' y al proceso B el recurso 'cinta'. Ahí se forma una espera circular entre esos dos procesos que se puede evitar quitándole a la fuerza un recurso a cualquiera de los dos procesos. (Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena).
  • 29.
  • 30. El deadlock es una condición que ningún sistema o conjunto de procesos quisiera exhibir, ya que consiste en que se presentan al mismo tiempo cuatro condiciones necesarias Condiciones necesarias para el bloqueo mutuo Exclusión mutua No apropiación Ocupar y esperar Espera circular Simultáneamente Abrazo mortal ( deadlock )
  • 33. No se produce interbloqueo porque habrá un momento en el que acabe P2 porque tiene todo para ejecutarse, y el recurso que ocupa se lo asignará a P1. P4 como también tienen todo para acabar , cuando termine liberará el recurso y se lo asignaremos a P3.
  • 34. Modelado de Bloqueos P2 P1 P3 R1 R2 R3 R4 Grafo de Asignación de Recursos
  • 35. Modelado de Bloqueos En la grafica dirigida hay bloqueo mutuo porque todos los procesos esperan un recurso que esta detenido por otro proceso, pero ninguno quedara liberado sin la intervención del operador
  • 38.
  • 39. P1 P2 P3 3 4 5 1 6 1 R1 R2 R3 Modelado de Bloqueos Modelado de Bloqueos
  • 40. R1 R2 R3 P1 P2 P3 P4 1 6 3 2 4 5 Modelado de Bloqueos
  • 41. Reducción de gráficas
  • 42.
  • 44. Los procesos P1, P2 y P3 están en bloqueo mutuo. Consideraciones: * Si un grafo no contiene ciclos no esta en bloqueo mutuo. * Si el grafo esta en bloqueo mutuo entonces existe a lo menos un ciclo en el grafo. * Si existe un ciclo en un grafo, no es condición suficiente para que exista bloqueo mutuo. Reducción de Graficas Reducción de Gráficas
  • 45. ESTRATEGIAS PARA EL MANEJO DE BLOQUEOS
  • 46. Estrateg. Para manejo de Bloqueos Para prevenir que se presente el interbloqueo debemos asegurar que por lo menos una de la condiciones necesarias no se cumpla. Entonces se debe plantear las siguientes políticas, independientes una de otra. Objetivo : conseguir que sea imposible la aparición de situaciones de interbloqueo Exclusión mutua Retención y espera No expropiación Espera circular Impedir que se produzca una de las cuatro condiciones necesarias para el interbloqueo
  • 47. Estrateg. Para manejo de Bloqueos
  • 48. Se plantea cuatro áreas de interés para solucionar el problema del bloqueo mutuo. Estrateg. Para manejo de Bloqueos
  • 49. Exclusión mutua Si no hay asignación exclusiva, no hay bloqueo mutuo. Dado que esta es una condición indispensable para un acceso seguro a recursos no compartibles, ningún sistema real la elimina Estrateg. Para manejo de Bloqueos Prevención – Exclusión Mutua Existen recursos para los que no es posible negar la condición de exclusión mutua. Se la debe de conservar para los recursos no compartibles. Ficheros : permiten múltiples accesos de lectura, pero únicamente un proceso puede escribir a la vez. Es posible eliminar la condición de exclusión mutua en Algunos recursos Impresora Spooler
  • 50.
  • 51.
  • 52. Retención y Espera Cada proceso deberá pedir todos los recursos que necesita al mismo tiempo y no podrá seguir hasta obtenerlos todos. Estrateg. Para manejo de Bloqueos Prevención – Retención y espera
  • 53.
  • 54.
  • 55. B) Los recursos se piden y otorgan escalonadamente y caso de que un proceso realice una petición de un recurso no disponible, deberán liberarse todos los recursos asignados hasta el momento, y pedirlos otra vez, junto con los nuevos. Problemas : Existen recursos que no se pueden devolver, ejemplo una impresora que está imprimiendo, se podrá devolver cuanto termine la impresión. Este método también presenta la posibilidad de aplazamiento indefinido, además de una sobrecarga para el sistema si un proceso solicita y libera recursos repetidamente, pudiendo llegar a degradar el sistema. Estrateg. Para manejo de Bloqueos Prevención – Retención y espera
  • 56. No Apropiación. Si a un proceso le falta algún recurso, deberá liberar los recursos ya asignados. El S.O. está autorizado para quitar un recurso asignado a un proceso para dárselo a otro que lo necesita. Problemas : Los mismo que para a supresión de retención y espera, cuando los recursos se piden y otorgan escalonadamente, pues habrá recursos que no se pueden devolver. Estrateg. Para manejo de Bloqueos Prevención – No apropiación
  • 57. Estrateg. Para manejo de Bloqueos Prevención Espera Circular A los recursos se les asigna un ordenamiento lineal (numeración única ascendente). Los números asignados a los recursos deben reflejar el orden natural en que son solicitados. Si a un proceso se le ha asignado un recurso en lo sucesivo solo podrá pedir los recursos que siguen en el ordenamiento. Prevención – Espera Circular
  • 58. Estrateg. Para manejo de Bloqueos Prevención – Espera Circular
  • 59.
  • 60. PROBLEMAS: Los recursos deben ser adquiridos en el orden previsto y no en el orden en el que realmente se necesitan. El rendimiento cae por lo mismo de antes, ya que los procesos toman recursos que igual no los utilizan hasta el final y les tienen retenidos. Estrateg. Para manejo de Bloqueos Prevención – Espera Circular Podemos evitar la espera circular si imponemos un orden total a los recursos (o sea, asignamos a cada recurso R un número único F(R) ), y obligamos a los procesos a que soliciten recursos en orden: un proceso no puede solicitar Q y después R si F(Q)>F(R) . Por ejemplo: F(CD-ROM)=1 F(impresora)=2 F(plotter)=3 F(Cinta)=4
  • 61.
  • 62. Estrateg. Para manejo de Bloqueos Evitación Palabras Clave Los métodos de prevención adolecen de que son muy costosos. (bajo uso de los recursos, reducción de la productividad del sistema). Existe al menos una forma de que terminen todos los procesos. No se puede garantizar que los procesos terminen, pues algunos de ellos podría pedir un recurso más que no puede ser satisfecho. Pero este no es un estado de bloqueado, sino que no puede garantizarse que termine
  • 63. Evitación Estrateg. Para manejo de Bloqueos Ejemplos de transición de un estado seguro a uno inseguro.
  • 64.
  • 65. Estrateg. Para manejo de Bloqueos Evitación
  • 66. Estrateg. Para manejo de Bloqueos Evitación
  • 67. ¿ Cómo detectar un Deadlock ?. Para detectar un deadlock, se puede usar el mismo algoritmo del banquero, que aunque no dice que hay un deadlock, sí dice cuándo se está en estado inseguro que es la antesala del deadlock. Sin embargo, para detectar realmente el deadlock se pueden usar las 'gráficas de recursos' . Como se dijo en punto anteriores en ellas se pueden usar cuadrados para indicar procesos y círculos para los recursos, y flechas para indicar si un recurso ya está asignado a un proceso o si un proceso está esperando un recurso. De esta forma el deadlock es detectado cuando se puede hacer un viaje de ida y vuelta desde un proceso o recurso. Estrateg. Para manejo de Bloqueos Detección
  • 68. Estrateg. Para manejo de Bloqueos Detección
  • 69. Estrateg. Para manejo de Bloqueos Detección
  • 70. En la figura anterior se observa como la gráfica de recursos fue evolucionando hasta que se presentó el deadlock, lo cual significa que se puede viajar por las flechas desde un proceso o recurso hasta regresar al punto de partida. En el deadlock están involucrados los procesos A, B y C. Una vez que un deadlock se detecta, es obvio que el sistema está en problemas y lo único que resta por hacer es una de dos cosas: tener algún mecanismo de suspensión o reanudación que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los periféricos que esté usando para reanudarlo otro día, o simplemente eliminar un proceso o arrebatarle el recurso, causando para ese proceso la pérdida de datos y tiempo. Evento 1 : Proceso A pide recurso 1 y se le asigna . Evento 2 : Proceso A termina su quantum. Evento 3 : Proceso B pide recurso 2 y se le asigna. Evento 4 : Proceso B termina su quantum. Evento 5 : Proceso C pide recurso 3 y se le asigna. Evento 6 : Proceso C pide recurso 1 y como lo está ocupando el proceso A, espera. Evento 7 : Proceso B pide recurso 3 y se bloquea porque lo ocupa el proceso C. E vento 8 : Proceso A pide recurso 2 y se bloquea porque lo ocupa el proceso B. Estrateg. Para manejo de Bloqueos Detección
  • 71.
  • 72.
  • 73. Estrateg. Para manejo de Bloqueos Recuperación
  • 74.
  • 75. Estrateg. Para manejo de Bloqueos Recuperación
  • 76.
  • 77.  
  • 78.  
  • 79.  
  • 80. EL ALGORITMO DEL BANQUERO
  • 81. Si el banquero tuviese fondos suficientes para prestar el máximo a cada cliente, es decir, tanto como la suma de los máximos, no habría problemas. Sin embargo, no ocurre así: los recursos del banquero están limitados, por lo que si todos piden el máximo, no podrá satisfacerlos simultáneamente. Por tanto, el banquero debe gestionar sus fondos de manera que todos los clientes puedan llegar al máximo, pero uno tras otro, sin que se produzca interbloqueo. Partiendo de una situación inicial, se dice que un estado es seguro si, partiendo de él, existe alguna secuencia de estados en la que todos los procesos alcancen el número máximo de recursos en algún momento, De lo contrario, el estado es inseguro . Algoritmo del banquero
  • 82.
  • 83. 1) Estructuras de datos : que representan internamente el grafo general de recursos. A signados : ARRAY 1..NumProcesos, 1..NumTipoRecursos OF INTEGER. Indica cuantos recursos de cada tipo tiene asignados cada proceso. Inicialmente está a 0. Reclamables : ARRAY 1..NumProcesos, 1..NumTipoRecursos OF INTEGER. Indica cuantos recursos de cada tipo pueden aún solicitar cada proceso. Inicialmente contiene el valor de necesidades máximas de cada proceso. Conforme se vayan asignando recursos los componentes del array se irán decrementando. Disponibles : ARRAY 1..NumTipoRecursos OF INTEGER. Indica el número de recursos de cada tipo que aún no han sido asignados. Inicialmente contiene el valor de recursos en el sistema y conforme se otorguen y se devuelvan se irá decrementando o incrementando ese valor. EJEMPLO: IMPLEMENTACIÓN DEL ALGORITMO.
  • 84.
  • 85.
  • 86. C1 C2 C3 0 2,000 4,000 4,000 5,000 8,000 4,000 3,000 4,000 Cliente Cantidad de Préstamo Crédito máximo Crédito restante C1 C2 C3 2,000 3,000 4,000 4,000 5,000 8,000 2,000 2,000 4,000 Cliente Cantidad de Préstamo Crédito máximo Crédito restante El banco arranco con 10000 dólares y después de estos prestamos, tiene un capital restante de 4000. Por lo tanto, se encuentra en un “estado seguro” El banco ahora solo tiene capital restante de 1000 dólares después de estos prestamos, de modo que esta en un “estado inseguro” Total prestado : 6,000 Fondo Total de capital :10,000 Total prestado : 9,000 Fondo Total de capital :10,000
  • 87.  
  • 88.  
  • 90.
  • 91. Inanición Para los dos casos de intento de recuperación del Interbloqueo (terminación de procesos o expropiación de recursos) hay que tener cuidado de no provocar La inanición de procesos. Que es la inanición ? Supón tres procesos que acceden periodicamente a un recurso. Considera P1 posee el recurso y que P2 y P3 están Esperando. Cuando P1 haya ejecutado su sección crítica, P1 Solicita acceso de nuevo y así sucesivamente, se puede llegar a Una situación en la que P2 nunca accede al recurso
  • 92. El problema de los filósofos cenando es un problema clásico de las ciencias de la computación propuesto por Edsger Dijkstra (1965 ) para representar el problema de la sincronización de procesos en un sistema operativo. Cabe aclarar que la interpretación está basada en pensadores chinos, quienes comían con dos palillos, donde es más lógico que se necesite el del comensal que se siente al lado para poder comer t1 t2 t3 t4 t5
  • 93. G r a c i a s . . .
  • 94.
  • 95.  
  • 96.  
  • 97.  
  • 98.  
  • 99.  
  • 100.  
  • 101.  
  • 102.  
  • 103.