Candados

Solo disponible en BuenasTareas
  • Páginas : 10 (2456 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de octubre de 2010
Leer documento completo
Vista previa del texto
Trábese (informática)
En informática, a cerradura es a sincronización mecanismo para hacer cumplir límites en el acceso a un recurso en un ambiente donde hay muchos hilos de rosca de la ejecución. Las cerraduras son una forma de hacer cumplir control de concurrencia políticas.
Contenido * 1 Tipos * 2 Puesta en práctica * 3 Granularity * 4 Cerraduras de la base de datos * 5 Losproblemas con las cerraduras * 6 Ayuda de la lengua * 7 Referencias * 8 Vea también |
Tipos
Generalmente, las cerraduras son cerraduras consultivas, donde cada hilo de rosca coopera adquiriendo la cerradura antes de tener acceso a los datos correspondientes. Algunos sistemas también ponen en ejecución cerraduras obligatorias, donde procurar el acceso desautorizado a un recurso bloqueadoforzará excepción en la entidad que procura hacer el acceso.
A (binaria) semáforo es el tipo más simple de cerradura. En términos de tenga acceso a los datos, no se hace ninguna distinción entre (leído y escriba) los modos compartidos (leído solamente) o exclusivos. Otros esquemas preven un modo compartido, donde varios hilos de rosca pueden adquirir una cerradura compartida para el acceso inalterable alos datos. Otros modos tales como exclusiva, pensar-a-excluyen y pensar-a-aumentan también se ponen en ejecución extensamente.
La independiente del tipo de cerradura elegido arriba, las cerraduras puede ser clasificada por qué sucede cuando la estrategia de la cerradura previene progreso de un hilo de rosca. La mayoría de los diseños de fijación bloquean ejecución de hilo de rosca petición de lacerradura hasta que se permite tener acceso al recurso bloqueado. A spinlock es una cerradura donde las esperas del hilo de rosca (“vueltas”) hasta la cerradura llegan a estar simplemente disponibles. Es muy eficiente si los hilos de rosca son solamente probables ser bloqueados por un período del tiempo corto, pues evita los gastos indirectos del cambio de hora de proceso del sistema operativo. Esderrochador si la cerradura se sostiene durante un largo periodo de tiempo.
Puesta en práctica
Las cerraduras requieren típicamente la ayuda del hardware para la puesta en práctica eficiente. Esto toma generalmente la forma de uno o más atómico instrucciones por ejemplo “prueba-y-fije", "traer-y-agregue“o”comparar-y-intercambie". Estas instrucciones permiten que un solo proceso pruebe si lacerradura está libre, y si es libre, adquiera la cerradura en una sola operación atómica.
Uniprocessor las arquitecturas tienen la opción de usar secuencias de instrucciones uninterruptable, usando instrucciones especiales o prefijos de la instrucción de inhabilitar interrupciones temporalmente, pero esta técnica no trabaja paramultiprocesador máquinas de la compartir-memoria. La ayuda apropiada paralas cerraduras en un ambiente del multiprocesador puede requerir el software support absolutamente complejo del hardware y/o, con substancial sincronizaciónediciones.
La razón que se requiere una operación atómica está debido a la concurrencia, donde más de una tarea ejecuta la misma lógica. Por ejemplo, considere el siguiente C código:
si (== 0 de la cerradura) cerradura =myPID; cerradura de/* libre - fíjela */
El ejemplo antedicho no garantiza que la tarea tiene la cerradura, puesto que más de una tarea puede probar la cerradura al mismo tiempo. Puesto que ambas tareas detectarán que la cerradura está libre, ambas tareas procurarán fijar la cerradura, no sabiendo que la otra tarea también está fijando la cerradura. Dekker o Algoritmo de Peterson son los substitutosposibles si las operaciones de fijación atómicas no están disponibles.
El uso descuidado de cerraduras puede resultar adentro callejón sin salida o livelock. El callejón sin salida ocurre cuando un proceso celebra una cerradura y después procura adquirir una segunda cerradura. Si la segunda cerradura es celebrada ya por otro proceso, el primer proceso será bloqueado. Si el segundo proceso...
tracking img