1 / 17

Sistemas en tiempo real (STR) Segunda parte

Sistemas en tiempo real (STR) Segunda parte. 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

rowena
Download Presentation

Sistemas en tiempo real (STR) Segunda parte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas en tiempo real (STR) Segunda parte Ing. Estela D'Agostino

  2. 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 Ing. Estela D'Agostino

  3. 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 Ing. Estela D'Agostino

  4. 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. Ing. Estela D'Agostino

  5. 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. Ing. Estela D'Agostino

  6. 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 Ing. Estela D'Agostino

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

  8. 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. Ing. Estela D'Agostino

  9. 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 Ing. Estela D'Agostino

  10. 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 Ing. Estela D'Agostino

  11. 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. Ing. Estela D'Agostino

  12. 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 Ing. Estela D'Agostino

  13. 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 A; • task B; • task body B is • begin • ... • Wait(Y); • Wait(X); • ... • end B; Ing. Estela D'Agostino

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

  15. 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. Ing. Estela D'Agostino

  16. 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. Ing. Estela D'Agostino

  17. Métodos para tratar el interbloqueo • Prevención de interbloqueo • Evitar el interbloqueo • Detección y recuperación del interbloqueo Ing. Estela D'Agostino

More Related