Sistemas en tiempo real STR Segunda parte Informtica

  • Slides: 17
Download presentation
Sistemas en tiempo real (STR) Segunda parte Informática III - 2008 Ing. Estela D'Agostino

Sistemas en tiempo real (STR) Segunda parte Informática III - 2008 Ing. Estela D'Agostino

Acciones atómicas • Hasta aquí la comunicación entre dos procesos se expreso como una

Acciones atómicas • Hasta aquí la comunicación entre dos procesos se expreso como una comunicación simple. No siempre ocurre así: Ej: extraccion por cajero automático Necesito que todos vean un estado consistente del sistema Estado: valores de las variables en un momento dado de tiempo Informática III - 2008 Ing. Estela D'Agostino

Acciones atómicas Traspaso de fondos de una cuenta bancaria a otra: Proceso de pedido

Acciones atómicas Traspaso de fondos de una cuenta bancaria a otra: Proceso de pedido de transferencia Proceso de autenticación de cliente Proceso de autenticación de cuenta a la que se transfiere Proceso de debito Proceso de Acreditación Acción atómica Informática III - 2008 Ing. Estela D'Agostino

Acciones atómicas • Una acción es atómica si los procesos que la realizan no

Acciones atómicas • Una acción es atómica si los procesos que la realizan no saben de la existencia de ningún otro proceso activo, y ningún otro proceso activo tiene constancia de las actividades de los procesos durante el tiempo en el que están realizando la acción. • Una acción es atómica si los procesos que la realizan no se comunican con otros procesos mientras se está realizando la acción. Informática III - 2008 Ing. Estela D'Agostino

Acciones atómicas • Una acción es atómica si los procesos que la realizan no

Acciones atómicas • Una acción es atómica si los procesos que la realizan no pueden detectar ningún cambio de estado salvo aquellos realizados por ellos mismos, y si no revelan sus cambios de estado hasta que la acción se haya completado. • Las acciones son atómicas si, en lo que respecta a otros procesos, pueden ser consideradas indivisibles e instantáneas, de forma que los efectos sobre el sistema sean como si estuvieran entrelazadas y no en concurrencia. Informática III - 2008 Ing. Estela D'Agostino

Acciones atómicas de dos fases • Primer fase – Petición de recursos • Segunda

Acciones atómicas de dos fases • Primer fase – Petición de recursos • Segunda fase – Liberación de recursos Si se liberan recursos antes que la acción atómica finalice puede existir problemas con la recuperación de un fallo Informática III - 2008 Ing. Estela D'Agostino

Control de recursos Parte del comportamiento lógico del software de tiempo real está relacionado

Control de recursos Parte del comportamiento lógico del software de tiempo real está relacionado con la asignación de recursos. Informática III - 2008 Ing. Estela D'Agostino

Control de recursos Tienen injerencia los procesos competitivos. Aunque no se comuniquen entre ellos,

Control de recursos Tienen injerencia los procesos competitivos. Aunque no se comuniquen entre ellos, pueden comunicarse para coordinar el acceso a recursos. Muy pocos recursos admiten el acceso concurrente de procesos. Informática III - 2008 Ing. Estela D'Agostino

Control de recursos Cuando varios procesos que compiten necesiten recursos el modo de operación

Control de recursos Cuando varios procesos que compiten necesiten recursos el modo de operación es el siguiente: – Petición del recurso – Utilización – Liberación Informática III - 2008 Ing. Estela D'Agostino

Petición de recursos • Un recurso se puede solicitar con: – Acceso compartido: se

Petición de recursos • Un recurso se puede solicitar con: – Acceso compartido: se puede utilizar concurrentemente por más de un proceso. – Acceso exclusivo: acceso en cada instante a un único proceso. Algunos se pueden utilizar e cualquier modo Informática III - 2008 Ing. Estela D'Agostino

Petición de recursos • Si un proceso pide acceso compartido mientras otro lo está

Petición de recursos • Si un proceso pide acceso compartido mientras otro lo está usando en forma exclusiva , entonces debe esperar. Si se estaba usando en forma compartida puede seguir. Informática III - 2008 Ing. Estela D'Agostino

Petición de recursos • Como los procesos pueden bloquearse al solicitar recursos, no deben

Petición de recursos • Como los procesos pueden bloquearse al solicitar recursos, no deben pedirlos hasta que lo necesiten. • Una vez asignados deben liberarse tan pronto como sea posible, una vez que la acción que se quería realizar con el recurso haya finalizado Informática III - 2008 Ing. Estela D'Agostino

Interbloqueo ( deadlock, abrazo mortal) • Dos procesos forman un interbloqueo cuando cada uno

Interbloqueo ( deadlock, abrazo mortal) • Dos procesos forman un interbloqueo cuando cada uno mantiene un recurso mientras que espera el recurso mantenido por el otro. type Sem is. . . ; X : Sem : = 1; Y : Sem : = 1; task A; task body A is begin. . . Wait(X); Wait(Y); . . . end III A; - 2008 Informática Ing. Estela D'Agostino task B; task body B is begin. . . Wait(Y); Wait(X); . . . end B;

Interbloqueo activo • Dos procesos forman un interbloqueo activo si cada uno se ejecuta,

Interbloqueo activo • Dos procesos forman un interbloqueo activo si cada uno se ejecuta, pero ninguno es capaz de avanzar. type Indicador is (Arriba, Abajo); Indicador 1 : Indicador : = Arriba; task A; task body A is begin. . . while Indicador 1 = Arriba loop null; end loop; . . . end A; Informática III - 2008 task B; task body B is begin. . . while Indicador 1 = Arriba loop null; end loop; . . . end A; Ing. Estela D'Agostino

Inanición Varios procesos están intentando continuamente conseguir acceso exclusivo al mismo recurso. Si la

Inanición Varios procesos están intentando continuamente conseguir acceso exclusivo al mismo recurso. Si la política con que se asignan no es justa, puede que un proceso no acceda nunca al recurso. Informática III - 2008 Ing. Estela D'Agostino

Condiciones para el interbloqueo • Exclusión mutua: solo un proceso puede usar un recurso

Condiciones para el interbloqueo • Exclusión mutua: solo un proceso puede usar un recurso al mismo tiempo. • Mantenimiento y espera: debe haber procesos que mantengan recursos mientras esperan otros. • No desalojo: un recurso solo puede ser liberado voluntariamente por un proceso • Espera circular: debe existir una cadena circular de procesos, de forma que cada proceso mantenga recursos que solicita el siguiente proceso. Informática III - 2008 Ing. Estela D'Agostino

Métodos para tratar el interbloqueo • Prevención de interbloqueo • Evitar el interbloqueo •

Métodos para tratar el interbloqueo • Prevención de interbloqueo • Evitar el interbloqueo • Detección y recuperación del interbloqueo Informática III - 2008 Ing. Estela D'Agostino