Sistemas Operativos. 7 Deadlocks. Prof. Javier Cañas R.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Sistemas Operativos. 7 Deadlocks. Prof. Javier Cañas R."

Transcripción

1 Sistemas Operativos 7 Deadlocks Prof. Javier Cañas R.

2 Nota El texto guía es: Operating System Concepts, Eight Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne Estas PPT están basadas en las PPT originales que el autor del texto guía mantiene en: Copyright Note The slides below are copyright Silberschatz, Galvin and Gagne, The slides are authorized for personal use, and for use in conjunction with a course for which Operating System Concepts is the prescribed text. Instructors are free to modify the slides to their taste, as long as the modified slides acknowledge the source and the fact that they have been modified. Paper copies of the slides may be sold strictly at the price of reproduction, to students of courses where the book is the prescribed text. Any use that differs from the above, and any for profit sale of the slides (in any form) requires the consent of the copyright owners; contact Avi Silberschatz (avi@cs.yale.edu) to obtain the copyright owners consent.

3 Temario 1. El Problema del Deadlock y Modelo de Sistema 2. Caracterización 3. Métodos para el manejo de Deadlocks 4. Prevención de Deadlocks 5. Evitar Deadlocks

4 ... Temario 6. Detección de Deadlocks 7. Recuperación de un Deadlock

5 Objetivos Describir deadlocks que impiden que un conjunto de procesos concurrentes completen su tarea. Presentar un conjunto de métodos diferentes para prevenir o evitar los deadlocks en un sistema computacional.

6 1 Formulación del problema y modelo de sistema Deadlock: conjunto de procesos, cada uno reteniendo un recurso y esperando obtener un recurso que está retenido por otro proceso dentro del conjunto. Ejemplo 1: Un sistema tiene 2 discos P1 y P2 tienen asignado un disco y cada uno de ellos necesita otro

7 ... Formulación del problema y modelo de sistema Ejemplo 2: semáforos A y B inicializados en 1: P0 P1 wait(a); wait(b); wait(b); wait(a);

8 Puente angosto Tránsito en una dirección (no se puede retroceder) Cada sección del puente puede verse como un recurso. Si ocurre deadlock, puede resolverse retirando un auto (quitar recurso y restaurando la condición previa) Es posible Starvation (inanición) La mayoría de los SO no previene ni trata con deadlocks

9 Modelo de Sistema Tipos de recursos: R1, R2,..., Rm Ej. ciclos de CPU, espacio de memoria, dispositivos de I/O Cada tipo de recurso Ri tiene Wi instancias El ciclo de un proceso que utiliza un recurso es: petición uso liberación

10 Caracterización de Deadlocks Un deadlock puede ocurrir si ocurren simultáneamente las siguientes 4 condiciones: 1. Exclusión mutua: sólo un proceso por vez puede utilizar un recurso. 2. Retención y espera: un proceso que retiene al menos un recurso, espera recursos adicionales que están retenidos por otros procesos.

11 ... Caracterización 3. No se puede quitar: un recurso sólo se puede liberar voluntariamente por el proceso que lo retiene, una vez que el proceso ha completado su tarea. El proceso no se puede interrumpir para obtener sus recursos. 4. Espera circular: existe un conjunto {P0, P1,..., P0} de procesos que esperan, tal que P0 espera recursos asignados a P1, P1 espera recursos asignados a P2,... y Pn-1 espera recursos asignados a Pn y Pn espera recursos asignados a P0.

12 Grafo de asignación de recursos El grafo está formado por un conjunto de vértices V y un conjunto de arcos E. V está particionado en dos conjuntos: P={P1, P2,..., Pn}, todos los procesos en el sistema R={R1, P2,..., Pn}, todos los tipos de recursos en el sistema

13 ... Grafo de asignación Arco de solicitud (request): P1 R1 Arco de asignación: Rj Pi

14 ... Grafo de asignación Proceso Tipo de Recurso con 4 instancias P i solicita instancia de R j P i P i retiene unan instancia de R j P i

15 Ejemplo

16 Grafo de asignación de recursos con deadlock

17 Un ciclo sin deadlock

18 Principios básicos Si un grafo no tiene ciclos no hay deadlock. Si un grafo contiene ciclos: Si sólo hay una instancia por tipo de recurso, hay deadlock. Si hay varias instancias por cada tipo de recurso, hay posibilidad de deadlock.

19 3 Métodos para el manejo de deadlocks Asegurar que el sistema nunca entrará en estado de deadlock. Permitir entrar en deadlock y entonces, recuperar. Ignorar el problema y fingir que nunca ocurrirá un deadlock en el sistema. Esto se usa en la mayoría de los SO, incluido UNIX

20 UNIX

21 4 Prevención de Deadlocks Restringir el modo en que los requerimientos son hechos: Exclusión Mutua: no se requiere para recursos compartidos. Sólo se debe aplicar a recursos no compartidos. Retención y Espera: garantizar que en cualquier momento que un proceso requiera un recurso, no tenga retenido otro recurso.

22 ... Prevención Retención y Espera: garantizar que en cualquier momento que un proceso requiera un recurso, no tenga retenido otro recurso. El proceso debe tener asignado todos sus recursos antes de comenzar su ejecución, o permitir que procesos pidan recursos sólo cuando el proceso no tiene ninguno asignado. Genera baja utilización de recursos. Es posible inanición (starvation)

23 ... Prevención No se puede quitar recursos Si un proceso que retiene algunos recursos requieren otros que no pueden ser inmediatamente asignado, entonces todos los recursos que mantenía retenidos son liberados (quitados). El proceso es interrumpido. Los recursos que fueron quitados se agregan a la lista de recursos por los cuales el proceso espera. El proceso se reactiva sólo cuando logra obtener sus recursos originales y los que necesitaba.

24 ... Prevención Espera circular imponer un orden total a todos los tipos de recursos, y establecer que cada proceso solicite recursos en un orden creciente de enumeración. Definimos una función uno a uno F: R N Ejemplo: F(tape drive)=1, F(disk drive)=5, F(printer) =12 Sólo se pueden solicitar recursos en orden ascendente. Si un proceso requiere una instancia del recurso Rj, primero tiene que liberar recurso Ri tal que F(Ri) F (Rj)

25 5 Evitar Deadlocks Este método necesita que el sistema tenga a priori información adicional disponible: El modelo más simple y útil, necesita que cada proceso declare el máximo número de recursos de cada tipo que pueda necesitar. El algoritomo deadlock-avoidance, dinámicamente examina el estado de la asignación de recursos para asegurar que nunca quedará en una condición de espera circular.

26 ... Evitar Deadlocks El estado de asignación de recursos está definido por el número de recursos disponibles y asignados, y por la máxima demanda de recursos de los procesos.

27 Estado Seguro Cuando un proceso necesita un recurso disponible, el sistema debe decidir si su asignación inmediata deja al sistema en un estado seguro. El sistema está en un estado seguro, si existe una secuencia <P1, P2,...,Pn> de TODOS los procesos en el sistema, tal que para cada Pi, los recursos que todavía necesita pueden satisfacerse por los recursos disponibles + los recursos retenidos por todos los Pj, con j < i.

28 ... Estado Seguro Esto significa: Si los recursos que necesita P i no están inmediatamente disponibles, entonces Pi debe esperar hasta que Pj termine. Cuando P j ha terminado, Pi puede obtener los recursos que necesita, ejecutarse, devolver los recursos desocupados y terminar. Cuando P i ha terminado, Pi+1 puede obtener los recursos que necesita y así...

29 Aspectos Básicos Si un sistema está en un estado seguro, no hay deadlocks. Si un sistema está en un estado inseguro, es posible que exista deadlock. Evitación (avoidance), asegura que un sistema nunca entrará en un estado inseguro.

30 Seguro, no seguro, Estado de Deadlock

31 Ejemplo Consideremos un sistema con 12 cintas magnéticas y 3 procesos: P0, P1, P2 Supongamos que en t 0 la situación es: Maximum Needs Current Allocations P P1 4 2 P2 9 2 La secuencia <P1, P0, P2> satisface la condición de seguridad?

32 ... Ejemplo t0: P1,P0,P2 = 2,5,2 libres=3 t1: P1,P0,P2 = 4,5,2 libres=1 t2: P1,P0,P2 = 0,5,2 libres=5 t3: P1,P0,P2 = 0,10,2 libres=0 t4: P1,P0,P2 = 0,0,2 libres=10 t5: P1,P0,P2 = 0,0,9 libres=3 t6: P1,P0,P2 = 0,0,0 libres=12 Luego <P1, P0, P2> es una secuencia segura

33 Algoritmos de Evitación Si los tipos de recursos tienen una sola instancia: Usar un grafo de asignación de recursos Si los tipos de recursos tienen múltiples instancias: Usar el algoritmo del banquero

34 Esquema para Grafo de Asignación de Recursos Arcos de demandas (claim edge): Pi Rj indica que el proceso Pj, puede necesitar el recurso Rj. Se representa por línea punteada. Los arcos de demandas se convierten en arcos de requerimientos cuando un proceso requiere de un recurso. Los arcos de requerimientos se conviertes en arcos de asignación cuando un recurso es asignado a un proceso. Cuando un recurso es liberado, los arcos de asignación se convierten en arcos de demanda. Recursos deben ser demandados a priori en el sistema.

35 Ejemplo: ciclo de vida de un arco

36 Grafo de asignación de recursos Si bien R2 está libre, no se puede asignar a P2 porque se podría crear un ciclo

37 Estado inseguro en un grafo de asignación de recursos

38 Algoritmo para el Grafo de asignación de recursos Supongamos que el proceso Pi hace una petición del recurso Rj. Esta petición puede ser satisfecha sólo si al convertir un arco de requerimiento en un arco de asignación no genera un ciclo en el grafo.

39 El Algoritmo del Banquero: supuestos Se consideran múltiples instancias de un recurso. Cada proceo debe demandar a priori el máximo uso de recursos. Cuando un proceso requiere un recurso, puede tener que esperar. Cuando un proceso obtiene todos sus recursos, debe devolverlos en un tiempo finito.

40 ... Banquero: estructuras de datos Sea n = número de procesos, y m = número de tipos de recursos. Available: Vector de largo m. Si available [j] = k, hay k instancias disponibles de recursos tipo R j Max: n x m matriz. Si Max [i,j] = k, entonces el proceso P i puede requerir a lo más k instancias del recurso tipo R j Allocation: n x m matriz. Si Allocation[i,j] = k entonces P i tiene asignada k instances de R j Need: n x m matriz. Si Need[i,j] = k, entonces P i puede necesitar k instancias adicionales de R j para completar su tarea Need [i,j] = Max[i,j] Allocation [i,j]

41 Algoritmo de Seguridad Este algoritmo determina determines si un sistema está o no está en un estado seguro 1. Sean Work y Finish vectores de largo m y n, respectivamente. Inicializamos: Work = Available Finish [i] = false for i = 0, 1,, n Encuentre un índice i tal que ambos: (a) Finish [i] = false (b) Need i Work Si no existe este i, ir al paso 4 3. Work = Work + Allocation i Finish[i] = true go to paso 2 4. Si Finish [i] == true para todo i, entonces el sistema está en un estado seguro

42 Algoritmo Resource- Request para proceso Pi Este algoritmo determina cuando un requerimiento puede ser concedido en forma segura: Requesti = vector request para proceso P i. Si Request i [j] = k entonces P i quiere k instancias de un recurso del tipo R j 1. Si Request i Need i go to paso 2. Sino, genere una condición de error, ya el proceso ha excedido su demanda máxima. 2. Si Request i Available, go to paso 3. Sino P i debe eserar, ya que no hay recursos disponibles. 3. Simule asignar los recursos solicitados a P i modificando los estados de la siguiente manera: Available = Available Request; Allocation i = Allocation i + Request i ; Need i = Need i Request i ; Si safe los recursos son asignados a Pi Si unsafe Pi debe esperar, y hay que restaurar el estado anterior resource-allocation

43 Ejemplo de Algoritmo del banquero 5 procesos P 0 a P 4 ; 3 tipos de recursos: A (10 instancias), B (5 instancias), y C (7 instancias) Snapshot en tiempo T 0 : Allocation Max Available A B C A B C A B C P P P P P

44 ... Ejemplo El contenido de la matriz Need se define como: Max Allocation Need A B C P P P P P El sistema está en un estado seguro ya que < P 1, P 3, P 4, P 2, P 0 > satisface el criterio de seguridad.

45 Ejemplo: P1 pide (1,0,2) Verificar que Request Available (o sea, (1,0,2) (3,3,2) true Allocation Need Available A B C A B C A B C P P P P P Ejecutando el algoritmo se seguridad se muestra que la secuencia < P 1, P 3, P 4, P 0, P 2 > satisface el requisito de seguridad Un requerimiento para (3,3,0) por P 4 puede concederse? Un requerimiento para (0,2,0) por P 0 puede concederse?

46 6 Detección de Deadlock En esta estrategia: Se permite al sistema entrar en estado de deadlock. Se utiliza un algoritmo de detección. Si hay deadlock se utiliza un esquema de recuperación

47 Detección: instancia simple para cada recurso Mantenga el grafo esperar-para (wait-for) Nodos son procesos P i P j si P i espera por P j Periódicamente invocar un algoritmo que busca ciclos en un grafo. Si hay ciclos, existe deadlock. Un algoritmo para detectar un ciclo en un grafo requiere un orden de n 2 operaciones, donde n ies el número de vértices del grafo.

48 Grafo de asignación de recursos y grafo Wait-for Grafo Resource-Allocation Grafo wait-for correspondiente

49 Muchas instancias de un tipo de recursos: Algoritmo Available: Un vector de largo m que indica el número de recursos disponibles de cada tipo. Allocation: Una matriz de n x m que define el número de recursos de cada tipo que actualmente están asignados a cada proceso. Request: Una matriz de n x m que indica el requerimiento actual de cada proceso. Si Request [i j ] = k, entinces el proceso P i requiere k instancias adicionales del recurso tipo R j.

50 Algoritmo de detección 1. Sea Work y Finish vectores de largo m y n, respectivamente Inicializar: (a) Work = Available (b) For i = 1,2,, n, if Allocation i 0, then Finish[i] = false; otherwise, Finish[i] = true 2. Encontrar un índice i tales que ambos: (a) Finish[i] == false (b) Request i Work Si no existe un i, go to paso 4

51 ... Algoritmo detección 3. Work = Work + Allocation i Finish[i] = true go to paso 2 4. if Finish[i] == false, para algún i, 1 i n, entonces el sistema está en un estado de deadlock. Por otra parte, if Finish[i] == false, ntonces P i está en deadlock. Este algoritmo tiene una complejidad O(m x n 2) en las operaciones pra detectar si el sistema está en estado deadlock

52 Ejemplo del algoritmo de detección Cinco procesos P 0 hasta P 4 ; tres tipos de recursos: A (7 instancias), B (2 instancias), y C (6 instancias) Snapshot en tiempo T 0 : Allocation Request Available A B C A B C A B C P P P P P La secuencia <P 0, P 2, P 3, P 1, P 4 >resultará en Finish[i] = true para todo i

53 ... Ejemplo P 2 requiere una instancia adicional del tipo C Estado del sistema? Request A B C P P P P P Puede solicitar recursos retenidos por P 0, pero insuficientes para satisfacer otros requerimientos de procesos. Existe deadlock, consistiendo en P 1, P 2, P 3, y P 4

54 Uso del algoritmo de detección Cuándo y con qué frecuencia utilizarlo depende de: Cuántas veces es probable que ocurra deadlock? Cuántos procesos necesitarán revertirse? Uno por cada ciclo disjunto

55 Observación Si el algoritmo se invoca arbitrariamente, podrían existir muchos ciclos en el grafo de recursos y por lo tanto no seríamos capaces de establecer cuál de los muchos procesos que están en deadlock causó el deadlock-

56 7 Recuperación de Deadlock Posibilidades: Abortar todos los procesos en deadlock Abortar un proceso por vez hasta que el deadlock es eliminado

57 ... Recuperación: criterios para abortar Prioridad de los procesos Cuánto tiempo se ha ejecutado y cuánto le falta para terminar? Recursos que el proceso ha utilizado Recursos que el proceso necesita para terminar Cuántos procesos necesitamos que terminen? El proceso en interactivo o batch?

58 ... Recuperación: quitar recursos Seleccione una víctima. Minimizar costo Restauración ( Rollback ). Volver a un estado seguro. reiniciar procesos en estado seguro. Inanición ( Starvation ). Algunos procesos pueden ser siempre considerados como víctimas. Incluir el número de rollback como factor de costo.

59 Sistemas Operativos 7 Deadlocks Prof. Javier Cañas R.

60 Anexo A Algoritmo del Banquero Programas fuentes Matlab Octave

61 %Este es el programa principal que utiliza las demas funciones %Banker.m %Javier Canas sistema; %carga configuración inicial disp( Configuracion del Sistema ) Allocation Max Available if is_safe(allocation, Max, Available) disp( Sistema seguro ) else disp( Sistema inseguro ) end Need=Max Allocation; disp( Recursos que necesita proceso ); i=input( Ingrese numero de proceso: ); disp( El proceso necesita: ) disp(need(i,:)) Request=input( Ingrese recursos adicionales para este proceso [n1 n2 nn]: ); if menor_igual(request, Need(i,:)) if menor_igual(request, Available) Available=Available Request; Allocation(i,:)=Allocation(i,:)+Request; if is_safe(allocation, Max, Available) disp( Nuevo Sistema es seguro ) else disp( Nuevo Sistema es Sistema inseguro ) end end else disp( P must wait ); return end else disp( Error condition: the process has exceeded its maximum claim )

62 Funciones function [code] = all_true(vector) %verifica si todos los componentes de un vector son verdaderos [x,y]=size(vector); if sum(logical(vector)) == y code=true; return end code=false; function [existe] = find_index(a,b,c) %encuentra indice tal que A(i)==F y B(i) <=C existe=0; [x,y]=size(b); for i=1:x if ~A(i) && menor_igual(b(i,:), C) existe=i; return end end function [code] = menor_igual(v1,v2) code=all_true(v1 <= v2);

63 ... Funciones function [code] = is_safe(alloc, Max, Avail) % Safety Algorithm % Bankers Algorithm for deadlock detection % Javier Canas % code =1 safe % code =0 unsefe % code = 1 error [n,m]=size(alloc); [l,p]=size(max); if n ~=l m ~= p disp( Error en tamano de matrices ) code= 1; return end Need=Max Alloc; Work=Avail; Finish=false(1,n); while ~all_true(finish) i=find_index(finish, Need, Work); if ~i break end Work=Work+Alloc(i,:); %disp(i 1) Finish(i)=true; end code=all_true(finish); return

64 Datos de prueba %Datos de prueba. Corresponden a ejemplo del % Silberchatz, pagina 300, libro edicion 8 Allocation=[0,1,0;2,0,0;3,0,2;2,1,1;0,0,2]; Max=[7,5,3;3,2,2;9,0,2;2,2,2;4,3,3]; Available=[3,3,2];

65 Anexo B Algoritmo detección de Deadlock Programas fuentes Matlab Octave

66 %Este es el programa principal que utiliza las demas %funciones %Verifica si un sistema con varias instancias de un mismo %recurso presenta deadlock %Deadlock_Detection.m %Javier Canas R sistema_deadlock_1; %carga datos de prueba 1 disp( Configuracion del Sistema ) Allocation Request Available if is_deadlock(allocation, Request, Available) disp( Sistema sin Deadlock ) else disp( Sistema con Deadlock ) end %la nueva configracion considera para el proceso P2 %un requerimiento adicional del recurso C sistema_deadlock_2; %carga datos de prueba 2 disp( Configuracion del Sistema ) Allocation Request Available if is_deadlock(allocation, Request, Available) disp( Sistema sin Deadlock ) else disp( Sistema con Deadlock ) end

67 Datos de prueba %Datos de prueba. Corresponden a ejemplo del % Silberchatz, pagina 303, libro edicion 8 %sistema_deadlock_1.m Allocation=[0,1,0;2,0,0;3,0,3;2,1,1;0,0,2]; Request=[0,0,0;2,0,2;0,0,0;1,0,0;0,0,2]; Available=[0,0,0]; %Datos de prueba. Corresponden a ejemplo del % Silberchatz, pagina 303, libro edicion 8 %sistema_deadlock_2.m Allocation=[0,1,0;2,0,0;3,0,3;2,1,1;0,0,2]; Request=[0,0,0;2,0,2;0,0,1;1,0,0;0,0,2]; Available=[0,0,0];

68 Funciones auxiliares function [code] = all_true(vector) %verifica si todos los componentes de un vector son verdaderos [x,y]=size(vector); if sum(logical(vector)) == y code=true; return end code=false; function [code] = all_zero(vector) %verifica si todos los componentes de un vector son ceros if sum(logical(vector)) == 0 code=true; return end code=false;

69 ... Funciones auxiliares function [existe] = find_index(a,b,c) %encuentra indice tal que A(i)==F y B(i) <=C existe=0; [x,y]=size(b); for i=1:x if ~A(i) && menor_igual(b(i,:), C) end end existe=i; return function [code] = menor_igual(v1,v2) code=all_true(v1 <= v2);

70 ... Funciones auxiliares function [code] = is_deadlock(alloc, Req, Avail) % Safety Algorithm % Bankers Algorithm for deadlock detection % Javier Canas % code =1 safe % code =0 unsefe % code = 1 error [n,m]=size(alloc); [l,p]=size(req); if n ~=l m ~= p disp( Error en tamano de matrices ) code= 1; return end Work=Avail; for i=1:n if ~all_zero(alloc(i,:)) Finish(i)=false; else Finish(i)=true; end end while ~all_true(finish) i=find_index(finish, Req, Work); if ~i break end Work=Work+Alloc(i,:); Finish(i)=true; end code=all_true(finish); return

Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Interbloqueos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Interbloqueos Modelo de Sistema Caracterización de Interbloqueos Métodos para el Manejo de Interbloqueos

Más detalles

Interbloqueos. Módulo 7. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Interbloqueos. Módulo 7. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Interbloqueos Módulo 7 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Módulo 7: Interbloqueos Modelo de Sistema Caracterización de Interbloqueos

Más detalles

ABRAZO MORTAL - DEADLOCK - INTERBLOQUEO

ABRAZO MORTAL - DEADLOCK - INTERBLOQUEO ABRAZO MORTAL - DEADLOCK - INTERBLOQUEO 1 DEFINICION DE DEADLOCK Un conjunto de procesos está en estado de "DEADLOCK" cuando cada proceso del conjunto está esperando por un evento que solo puede ser causado

Más detalles

Sistemas Operativos. 5 Itineración de CPU. Prof. Oscar Encina C.

Sistemas Operativos. 5 Itineración de CPU. Prof. Oscar Encina C. Sistemas Operativos 5 Itineración de CPU Prof. Oscar Encina C. Nota El texto guía es: Operating System Concepts, Eight Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne Estas PPT están basadas en

Más detalles

Sistemas Operativos Tema 11. Interbloqueo José Miguel Santos C. Rubén García - Alexis Quesada

Sistemas Operativos Tema 11. Interbloqueo José Miguel Santos C. Rubén García - Alexis Quesada Sistemas Operativos Tema 11. Interbloqueo 1998-2008 José Miguel Santos C. Rubén García - Alexis Quesada 1 Contenidos Caracterización del interbloqueo Estrategias de tratamiento del interbloqueo Métodos

Más detalles

Sistemas Operativos. 5 Itineración de CPU. Prof. Javier Cañas R.

Sistemas Operativos. 5 Itineración de CPU. Prof. Javier Cañas R. Sistemas Operativos 5 Itineración de CPU Prof. Javier Cañas R. Nota El texto guía es: Operating System Concepts, Eight Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne Estas PPT están basadas en

Más detalles

Tema 6. Gestión de Interbloqueo

Tema 6. Gestión de Interbloqueo Tema 6. Gestión de Interbloqueo Introducción (I) Protocolo de acceso a recursos compartidos: Solicitud. Utilización. Liberación. El sistema operativo suspende a los procesos cuyas solicitudes no pueden

Más detalles

Sistemas operativos. Tema 6: Interbloqueo ( (deadlock)

Sistemas operativos. Tema 6: Interbloqueo ( (deadlock) Sistemas operativos Tema 6: Interbloqueo ( (deadlock) Concurrencia de procesos Conceptos de concurrencia y exclusión mutua. Herramientas de sincronización. n. Comunicación n entre procesos. Interbloqueo.

Más detalles

Unidad 1: Gestión de Procesos

Unidad 1: Gestión de Procesos Unidad 1: Gestión de Procesos Tema 2, Concurrencia: Interbloqueo e inanición. 2.1 Caracterización del interbloqueo y grafo de asignación de recursos. 2.2 Estrategias de tratamiento del interbloqueo: -

Más detalles

Interbloqueos. Tema 5. Sistemas Operativos I. Tema 5: Interbloqueos. Equipo de Sistemas Operativos DISCA / DSIC UPV

Interbloqueos. Tema 5. Sistemas Operativos I. Tema 5: Interbloqueos. Equipo de Sistemas Operativos DISCA / DSIC UPV Sistemas Operativos I Tema 5 Interbloqueos Equipo de Sistemas Operativos DISCA / DSIC UPV Tema 5: Interbloqueos Contenido 1.- Concepto de interbloqueo..- Caracterización formal. Modelo de sistema. Representación

Más detalles

Teoría de Sistemas Operativos Sincronización Procesos

Teoría de Sistemas Operativos Sincronización Procesos Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica º Semestre, 00 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo1 Dos o más procesos leen o escriben ciertas zonas compartidas

Más detalles

Sistemas operativos, 2ª edición

Sistemas operativos, 2ª edición Sistemas operativos 2ª edición Capítulo 7 Interbloqueos (extracto de las transparencias del libro Contenido Introducción Modelo general del sistema Definición y tratamiento del interbloqueo Detección y

Más detalles

Tema 3: Planificación de recursos

Tema 3: Planificación de recursos ema 3: Planificación de recursos 1. aracterización del interbloqueo 2. Modelación del interbloqueo 3. Métodos para tratar el interbloqueo istemas Operativos II Dpto. Languajes y istemas Informáticos. Universidad

Más detalles

Sistemas Operativos. 8 Memoria Principal. Prof. Javier Cañas R.

Sistemas Operativos. 8 Memoria Principal. Prof. Javier Cañas R. Sistemas Operativos 8 Memoria Principal Prof. Javier Cañas R. Nota El texto guía es: Operating System Concepts, Eight Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne Estas PPT están basadas en

Más detalles

Tema 5 El Interbloqueo

Tema 5 El Interbloqueo Tema 5 El Interbloqueo 5.1. Introducción 5.2. Condiciones para que se produzca 5.3. Métodos para el tratamiento 5.3.1. Prevención 5.3.2. Evitación 5.3.3. Detección y recuperación 5.3.4. Estrategias combinadas

Más detalles

Sistemas Operativos. 2 Estructuras de un Sistema Operativo. Prof. Javier Cañas R.

Sistemas Operativos. 2 Estructuras de un Sistema Operativo. Prof. Javier Cañas R. Sistemas Operativos 2 Estructuras de un Sistema Operativo Prof. Javier Cañas R. Nota El texto guía es: Operating System Concepts, Eight Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne Estas PPT

Más detalles

UNIDAD III BLOQUEOS IRREVERSIBLES (BI) Ing. Benito Sánchez Raya. Disponible en:

UNIDAD III BLOQUEOS IRREVERSIBLES (BI) Ing. Benito Sánchez Raya. Disponible en: SISTEMAS OPERATIVOS I UNIDAD III INSTITUTO TECNOLÓGICO DE MORELIA BLOQUEOS IRREVERSIBLES (BI) Departamento de Sistemas y Computación Disponible en: www.benito.org.mx Ing. Benito Sánchez Raya sanchezraya@hotmail.com

Más detalles

Concurrencia. Paso de Mensajes Control de Recursos Deadlock

Concurrencia. Paso de Mensajes Control de Recursos Deadlock Concurrencia Paso de Mensajes Control de Recursos Deadlock Sincronizacion y comunicación basada en mensajes El envío de mensajes se usa tanto para sincronizar como para comunicar. Se necesita un proceso

Más detalles

Contenido. Qué es el interbloqueo? Cómo prevenirlo? Cómo evitarlo? Cómo detectarlo? Interbloqueo. Cruce en un Puente. Qué es?

Contenido. Qué es el interbloqueo? Cómo prevenirlo? Cómo evitarlo? Cómo detectarlo? Interbloqueo. Cruce en un Puente. Qué es? Contenido Interbloqueo Qué es el? Cómo prevenirlo? Cómo evitarlo? Cómo detectarlo? Qué es? Bloqueo permanente de un conjunto de procesos que para terminar necesitan o bien los recursos del sistema, o bien

Más detalles

Sistemas operativos: una visión aplicada. Capítulo 6 Interbloqueos

Sistemas operativos: una visión aplicada. Capítulo 6 Interbloqueos Sistemas operativos: una visión aplicada Capítulo 6 Interbloqueos Contenido Introducción Tipos de recursos Modelo del sistema Definición y caracterización del interbloqueo Tratamiento del interbloqueo

Más detalles

Interbloqueo. Concurrencia: Interbloqueo e Inanición

Interbloqueo. Concurrencia: Interbloqueo e Inanición Interbloqueo Concurrencia: Interbloqueo e Inanición Capítulo 6 Bloqueo permanente de un conjunto de procesos que compiten por recursos del sistema o por comunicación con los otros No existe una solución

Más detalles

Sistemas Operativos (Parte 2)

Sistemas Operativos (Parte 2) Sistemas Operativos (Parte 2) M. en C. Mario Farias-Elinos e-mail: elinos@ci.ulsa.mx web: http://www.ci.ulsa.mx/~elinos Maestría en Tecnologías de Información Contenido Proceso Scheduller Thread Sincronización

Más detalles

El problema del interbloqueo

El problema del interbloqueo Programación Concurrente en Linux El problema del interbloqueo Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Inanición e interbloqueo 2. Modelo del interbloqueo

Más detalles

Tarea #2 Interbloqueo e Inanición.

Tarea #2 Interbloqueo e Inanición. Tarea #2 Interbloqueo e Inanición. 1. Enumere Ejemplos de Recursos Consumibles y Reutilizables. Un recurso reutilizable es aquél que puede ser usado con seguridad por un proceso y no se agota con el uso.

Más detalles

Lección 6: Ejemplos de programación con semáforos

Lección 6: Ejemplos de programación con semáforos Lección 6: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación

Más detalles

Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi

Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:

Más detalles

Modelo de Cómputo. Programación concurrente

Modelo de Cómputo. Programación concurrente Programa concurrente Programa concurrente: conjunto finito de procesos (secuenciales). Un proceso secuencial está escrito con un conjunto finito de acciones atómicas. Ejecución: una secuencia de acciones

Más detalles

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U INTERBLOQUEO DE PROCESOS

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U INTERBLOQUEO DE PROCESOS INTERBLOQUEO DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen El interbloqueo consiste en que unos procesos retienen recursos que otros necesitan y viceversa, llegándose

Más detalles

Capítulo 16: Control de la concurrencia

Capítulo 16: Control de la concurrencia Capítulo 16: Control de la concurrencia Protocolos basados en bloqueos Protocolos basados en las marcas temporales Esquemas multiversión Tratamiento de interbloqueos 16.1 Protocolos basados en bloqueos

Más detalles

REPRESENTACIÓN INTERNA DE FICHEROS

REPRESENTACIÓN INTERNA DE FICHEROS REPRESENTACIÓN INTERNA DE FICHEROS Inodos Existe un inodo para cada fichero del disco. Los inodos se encuentran: o o En disco, en la lista de inodos. En memoria, en la tabla de inodos, de estructura semejante

Más detalles

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS MATERIA: SISTEMAS OPERATIVOS HRS. T/P: 2/3 CARRERA: LIC. EN TECNOLOGÌAS DE INFORMACIÓN CRÉDITOS:

Más detalles

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA 358-M/R Versión 1 1 Prueba Integral 1/5 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: SISTEMAS OPERATIVOS CÓDIGO: 358 MOMENTO: Primera Prueba Integral

Más detalles

CAPITULO 6. Control de Concurrencia y Recuperación

CAPITULO 6. Control de Concurrencia y Recuperación CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un

Más detalles

Planificación y Gestión de procesos

Planificación y Gestión de procesos Planificación y Gestión de procesos Indice Objetivos de planificación lgoritmos de planificación etección y prevención de bloqueos 2 Objetivos de planificación l S.O debe decidir qué proceso ejecutar de

Más detalles

Memoria Virtual. Operating System Concepts 8th Edition

Memoria Virtual. Operating System Concepts 8th Edition Memoria Virtual Silberschatz, Galvin and Gagne 2009 Memoria Virtual Antecedentes Demanda de paginación Copy-on-Write Algoritmos de reemplazo de páginas 9.2 Objetivos Describir los beneficios del sistema

Más detalles

APUNTES SOBRE PROCESOS Y DEADLOCK CONCEPTO DE PROCESO 1

APUNTES SOBRE PROCESOS Y DEADLOCK CONCEPTO DE PROCESO 1 APUNTES SOBRE PROCESOS Y DEADLOCK Alejandro Bia PROCESO CONCEPTO DE PROCESO 1 - En 1960 (proyecto "Multics") surge concepto de proceso. Definiciones breves: - Programa en ejecución. - Entidad lógica a

Más detalles

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA 358-M/R Versión 1 2 Prueba Integral 1/5 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: SISTEMAS OPERATIVOS CÓDIGO: 358 MOMENTO: Primera Prueba Integral

Más detalles

FACULTAD DE INGENIERÍA ÁREA DE COMPUTACIÓN E INFORMÁTICA

FACULTAD DE INGENIERÍA ÁREA DE COMPUTACIÓN E INFORMÁTICA FACULTAD DE INGENIERÍA ÁREA DE COMPUTACIÓN E INFORMÁTICA Nombre Nombre de de la la materia materia : : SISTEMAS OPERATIVOS A Clave Clave de de la la materia: Clave Clave Facultad: 2401 2401 Clave Clave

Más detalles

Sistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos.

Sistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos. Sistemas Operativos Concurrencia Mario Medina (mariomedina@udec.cl) Everybody understands what concurrency means? Two lies at once. Todos entienden qué significa concurrencia? Dos mentiras a la vez. Luis

Más detalles

Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica

Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Sistemas Operativos Docente: M.G.A.

Más detalles

Planificación de Procesos

Planificación de Procesos Planificación de Procesos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Planificación de Procesos Conceptos Básicos Criterios de Planificación Algoritmos de Planificación

Más detalles

ISO Tema 8,

ISO Tema 8, ISO Tema 8, 2017-2018 Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos 13 de abril de 2018 Modificado el 27 de abril de 2018 de la presentación 1 2 3 4 5 6 7 2 / 32 1 2 3 4 5 6 7 3 / 32

Más detalles

Sistemas Distribuidos

Sistemas Distribuidos Sistemas Distribuidos Exclusion Mutua: Memoria Compartida. Ramiro De Santiago Lopez. 28/01/2014 Exclusion Mutua (ME) Un proceso excluye temporalmente a todos los demás para usar un recurso compartido.

Más detalles

Departamento de Arquitectura Sistemas Operativos PRÁCTICO 6

Departamento de Arquitectura Sistemas Operativos PRÁCTICO 6 Objetivos PRÁCTICO 6 Familiarizarse con el uso de primitivas de sincronización con pasaje de mensajes. Usar Ada en la solución de problemas de sincronización. Familiarizarse con los problemas de deadlock

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 03: Análisis temporal M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Caso de entrada Ejemplo 1 (Búsqueda lineal) Operación

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional

Más detalles

Concurrencia de Procesos

Concurrencia de Procesos Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)

Más detalles

SEMAFOROS. if hay procesos suspendidos en este semáforo then despertar a uno de ellos else S = S + 1

SEMAFOROS. if hay procesos suspendidos en este semáforo then despertar a uno de ellos else S = S + 1 1 de 21 22/12/2007 21:48 SEMAFOROS 1. DEFINICIONES 1.1. Semáforo general 1.2. Semáforo binario 1.3. Semáforo con cola de procesos bloqueados 1.4. Semáforo con espera activa (busy-wait) 1.5. Consecuencias

Más detalles

Lección 10: Ejemplos de programación con semáforos

Lección 10: Ejemplos de programación con semáforos Lección 10: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación

Más detalles

Tema 4: Gestión de Procesos

Tema 4: Gestión de Procesos Tema 4: SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo de 2006 Índice Concepto

Más detalles

Formulando con modelos lineales enteros

Formulando con modelos lineales enteros Universidad de Chile 19 de marzo de 2012 Contenidos 1 Forma de un problema Lineal Entero 2 Modelando con variables binarias 3 Tipos de Problemas Forma General de un MILP Problema de optimización lineal

Más detalles

Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Primer Parcial 5 de mayo de 2007

Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Primer Parcial 5 de mayo de 2007 Calificación Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Primer Parcial 5 de mayo de 2007 1 2 3 4 Nombr SOLUCIONES Titulació Dispone de tres horas para realizar el examen

Más detalles

Resumen Tema 5: Proceso de transacciones

Resumen Tema 5: Proceso de transacciones Resumen Tema 5: Proceso de transacciones Transacción Unidad lógica de procesamiento secuencial compuesta por una o mas acciones que se ejecutan en bloque sobre una BD. Sentencias: Begin/end transaction.

Más detalles

4.6.- Integridad: Control de concurrencia.

4.6.- Integridad: Control de concurrencia. 4.6.- Integridad: Control de concurrencia. 4.6.1.- Introducción 4.6.2.- Técnicas de Bloqueo. 4.6.2.1.- Bloqueo (variable cerrojo) Tipos, protocolos Problemas. Interbloqueo Granularidad 4.6.2.2.- Marcas

Más detalles

SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización

SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Procesos concurrentes y problemas en la comunicación y la sincronización Contenido 2 Concurrencia. Condiciones de carrera. Exclusión mutua

Más detalles

Procesos. Procesos. Sistemas Operativos Procesos KMC 2017

Procesos. Procesos. Sistemas Operativos Procesos KMC 2017 Procesos Procesos Concepto de Proceso Planificación de Proceso Operaciones sobre Procesos Comunicaciones Interprocesos (IPC) Ejemplos de Sistemas de IPC Comunicación en un Sistema Cliente-Servidor 1 Concepto

Más detalles

Bases Formales de la Computación

Bases Formales de la Computación Modal Bases Formales de la Computación Pontificia Universidad Javeriana 3 de abril de 2009 Modal LÓGICAS MODALES Contenido Modal 1 Modal 2 3 Qué es la lógica Modal? Modal Variedad de diferentes sistemas

Más detalles

Diseño de algoritmos

Diseño de algoritmos Diseño de algoritmos Algoritmos de Vuelta Atrás Jesús Bermúdez de Andrés Universidad del País Vasco/Euskal Herriko Unibertsitatea (UPV/EHU) Curso 2008-09 1 Algoritmos de vuelta atrás El coloreado de mapas

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Nociones básicas de Computabilidad Problemas y Lenguajes Un problema se describe con un lenguaje Cuanto más formal el lenguaje, más precisa la formulación del problema Los

Más detalles

UNIDAD 3 MEMORIA COMÚN. El problema de exclusión mutua

UNIDAD 3 MEMORIA COMÚN. El problema de exclusión mutua UNIDAD 3 MEMORIA COMÚN El problema de exclusión mutua Exclusión mutua Exclusión mutua significa asegurar que un recurso compartido (variable, estructura de datos, etc.) sea accedida por un solo hilo a

Más detalles

Sistemas Operativos. S.O. Estructura Básica. S.O. Como Administrador de Recursos. Multiprogramación. Multiprogramación y Procesos

Sistemas Operativos. S.O. Estructura Básica. S.O. Como Administrador de Recursos. Multiprogramación. Multiprogramación y Procesos ! Departamento de Electrónica y Circuitos! EC3731 Arquitectura del Computador II! Prof. Osberth De Castro! Prof. Juan C. Regidor S.O. Estructura Básica Sistemas Operativos Multiprogramación y Procesos

Más detalles

Sincronización de Procesos

Sincronización de Procesos Sincronización de Procesos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Sincronización de Procesos Fundamentos El Problema de la Sección Crítica Solución a la sección

Más detalles

Filósofos comensales

Filósofos comensales Deadlocks Filósofos comensales Deadlock Los tenedores son los recursos En una computadora, que recursos tenemos? CPU, memoria, placa gráfica, teclado, HD, impresora, CD writer Cuales recursos pueden generar

Más detalles

SISTEMAS OPERATIVOS PROBLEMAS RESUELTOS. Jorge Walter Orellana Araoz

SISTEMAS OPERATIVOS PROBLEMAS RESUELTOS. Jorge Walter Orellana Araoz UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGIA DEPARTAMENTO INFORMATICA SISTEMAS PROBLEMAS RESUELTOS SISTEMAS OPERATIVOS Jorge Walter Orellana Araoz 2016 Capítulo 2. Gestión de Procesos

Más detalles

Proceso Prioridad inicial Duración CPU (M) Duración E/S (N) A 0 10 mseg 1 mseg. B 5 5 mseg 5 mseg. C 10 1 mseg 10 mseg

Proceso Prioridad inicial Duración CPU (M) Duración E/S (N) A 0 10 mseg 1 mseg. B 5 5 mseg 5 mseg. C 10 1 mseg 10 mseg Calificación [GII] Fundamentos de los Sistemas Operativos Convocatoria especial 10 de diciembre de 2013 Nombre y apellidos SOLUCIONES 1 2 3 4 DNI/NIE DURACIÓN: Dispone de tres horas para realizar el examen.

Más detalles

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut 8.1 Para cada uno de los siguientes conjuntos, encontrar una desigualdad válida que agregada a la formulación

Más detalles

Sincronizacion de procesos

Sincronizacion de procesos Sincronizacion de procesos Sobre los procesos cooperantes: Pueden compartir espacios de direcciones o datos a través de un archivo. Problema a considerar: Como evitar la inconsistencia de los datos compartidos

Más detalles

6. Listas Generalizadas

6. Listas Generalizadas 6. Listas Generalizadas Una lista enlazada es una estructura de datos en la cual los objetos están organizados linealmente. Listas enlazadas proveen una forma simple de estructuar conjuntos dinámicos de

Más detalles

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos SISTEMAS OPERATIVOS: PROCESOS Planificación de procesos ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza

Más detalles

Concurrencia. Guillermo Román Díez

Concurrencia. Guillermo Román Díez Concurrencia Semáforos Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2017-2018 Guillermo Román, UPM CC: Semáforos 1/11 Problemas de la espera activa Los algoritmos de espera

Más detalles

A. Códigos. Clasificación supervisada

A. Códigos. Clasificación supervisada Apéndice A. Códigos A continuación se presentan los códigos de las funciones de las memorias asociativas geométricas. Estos códigos se presentan en sintaxis de MatLab, por ser más entible matemáticamente

Más detalles

SISTEMAS OPERATIVOS:

SISTEMAS OPERATIVOS: SISTEMAS OPERATIVOS: Lección 6: Procesos concurrentes y problemas en la comunicación y la sincronización Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García

Más detalles

Procesos Definición y Estados

Procesos Definición y Estados Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).

Más detalles

Concurrencia Condiciones de Carrera. Guillermo Román Díez

Concurrencia Condiciones de Carrera. Guillermo Román Díez Concurrencia Condiciones de Carrera Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición

Más detalles

Operating Systems TC2008. Prof. MSc. Ivan A. Escobar Broitman

Operating Systems TC2008. Prof. MSc. Ivan A. Escobar Broitman Operating Systems TC2008 Prof. MSc. Ivan A. Escobar Broitman iescobar@itesm.mx http://ivanescobar.com Syllabus Módulo 1. Conceptos Fundamentales Tema 1. Conceptos Fundamentales Características de un sistema

Más detalles

TEMA 2. El Interbloqueo. Contenido

TEMA 2. El Interbloqueo. Contenido TEMA 2 El Interbloqueo Contenido 2.1. Introducción 2.2. Recursos 2.3. Condiciones para que se produzca Interbloqueo 2.4. Modelado del Interbloqueo 2.5. Métodos para el tratamiento del interbloqueo 2.6.

Más detalles

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato María Gregoria

Más detalles

TX MULTI MANUAL TX MULTI. Mando copiador multifrecuencia 1. PASOS PARA COPIAR UN MANDO CÓDIGO FIJO Y ROLLING ESTÁNDAR:

TX MULTI MANUAL TX MULTI. Mando copiador multifrecuencia 1. PASOS PARA COPIAR UN MANDO CÓDIGO FIJO Y ROLLING ESTÁNDAR: MANUAL TX MULTI Mando copiador multifrecuencia 1. PASOS PARA COPIAR UN MANDO CÓDIGO FIJO Y ROLLING ESTÁNDAR: 1. Situar el mando original que desea copiar junto al TX Multi, en torno a 2-4 centímetros de

Más detalles

Diseño de algoritmos

Diseño de algoritmos Diseño de algoritmos Programación Dinámica Jesús Bermúdez de Andrés Universidad del País Vasco/Euskal Herriko Unibertsitatea (UPV/EHU) Curso 2008-09 1 Programación Dinámica Definición de la técnica Funciones

Más detalles

Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125

Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125 Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125 Qué estructuras de datos necesitamos para implementar este algoritmo? cola de eventos Q. Operaciones: Eliminar el próximo evento

Más detalles

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4 I IDENTIFICACION Nombre de la asignatura : Sistemas de Computación Código : 503429 Nivel (semestre de la carrera) : 7 Carrera : Ingeniería Civil Informática Nº de créditos : 4 Duración : Un semestre Pre-requisitos

Más detalles

Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software.

Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software. Junio 2008 Programación Concurrente 1/6 Normas Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software Este examen es un cuestionario

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles

Envolvente Convexo. comp-420

Envolvente Convexo. comp-420 Envolvente Convexo comp-420 Algunas referencias M. de Berg, O. Cheong, M. van Kreveld, M. Overmars. Computational Geometry Algorithms and Applications. 3rd. edition. Springer 2008. S.L. Devadoss, J.O Rourke.

Más detalles

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo) Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional () adicional () Preparado Preparado

Más detalles

Nombre de la materia Sistemas Operativos Departamento Ciencias Aplicadas de la Información Academia Arquitecturas de Cómputo

Nombre de la materia Sistemas Operativos Departamento Ciencias Aplicadas de la Información Academia Arquitecturas de Cómputo 0 Nombre de la materia Sistemas Operativos Departamento Ciencias Aplicadas de la Información Academia Arquitecturas de Cómputo Clave Horas-teoría Horas-práctica Horas-AI Total-horas Créditos I4859 60 20-80

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix . Sistema Operativo Unix. Introducción al S.O. Unix y su entorno.2 Subsistema de Archivos.3 Subsistema de Procesos.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN ACATLÁN PROGRAMA DE ASIGNATURA CLAVE: 1045 SISTEMAS OPERATIVOS SEMESTRE:

Más detalles

Intersección de Segmentos de Recta. Geometría Computacional, MAT-125

Intersección de Segmentos de Recta. Geometría Computacional, MAT-125 Intersección de Segmentos de Recta Geometría Computacional, MAT-125 Dados dos conjuntos de segmentos de recta, calcular todas las intersecciones entre los segmentos de un conjunto y los segmentos del otro

Más detalles

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA 2003 2 I. INFORMACION GENERAL SILABO 1.1 Asignatura : Sistemas Operativos 1.2 Código : II 0606 1.3 Número de Créditos : 4 1.4

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

PROGRAMACION CONCURRENTE. I.4. Patologías en programas concurrentes

PROGRAMACION CONCURRENTE. I.4. Patologías en programas concurrentes PROGRAMACION CONCURRENTE I.4. Patologías en programas concurrentes J.M. Drake Patologías de los programas concurrentes Patologías características de los programa concurrente son: Propiedades de seguridad:

Más detalles

Tema 7. Entrada / Salida

Tema 7. Entrada / Salida Tema 7 Entrada / Salida Problemática Entrada/Salida Elementos claves en un computador: Procesador, memoria y módulos de E/S Cada módulo de E/S se conecta al bus del sistema y controla a uno o a más periféricos

Más detalles

Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización. Slides de Samuel Oporto Díaz

Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización. Slides de Samuel Oporto Díaz Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización Slides de Samuel Oporto Díaz CONCURRENCIA 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente

Más detalles

Concurrencia. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Concurrencia. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Concurrencia M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la unidad Entender los diferentes protocolos de manejo de concurrencia. Técnicas

Más detalles

Servicios del Sistema Operativo (SO)

Servicios del Sistema Operativo (SO) Servicios del Sistema Operativo (SO) Un SO brinda un entorno para ejecutar programas. Este, ofrece servicios a los programas y a los usuarios de dichos programas. Por supuesto, los servicios específicos

Más detalles

Capítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION

Capítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION Capítulo 3 Subprogramas Con lo explicado hasta aquí se pueden escribir programas sencillos y no demasiado largos. Pero varias razones justifican la necesidad de disponer de otro tipo de recursos. Por una

Más detalles

Algoritmos de búsqueda en grafos I

Algoritmos de búsqueda en grafos I I Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 7 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Búsqueda en grafos I 7 de febrero de 2018 1 / 36 1 Representación computacional de grafos

Más detalles