Protocolo de techo prioridad

Ir a: navegación, búsqueda de

En Computación en tiempo real, la Protocolo de techo prioridad es un protocolo de sincronización para recursos compartidos para evitar ilimitada inversión prioritaria y el punto muerto debido a mal anidamiento de secciones críticas[citación necesitada]. En el presente Protocolo cada recurso está asignado a un techo de prioridad[citación necesitada], que es un prioridad igual a la máxima prioridad de cualquier tarea que puede bloquear el recurso[citación necesitada].

Por ejemplo, con techos de prioridad, el proceso de exclusión mutua compartida (que se ejecuta el código del sistema operativo) tiene una característica (prioridad) de su propio[citación necesitada], que se asigna a la tarea de bloquear el mutex. Esto funciona bien[citación necesitada], siempre y cuando las otras tareas de alta prioridad que intenta obtener acceso al objeto mutex no tiene una prioridad más alta que la prioridad de techo[citación necesitada].

En Protocolo de prioridad inmediata techo (CHILENO)[citación necesitada] Cuando una tarea encierra el recurso su prioridad temporalmente se eleva hasta el techo de la prioridad de los recursos[citación necesitada], por lo tanto no es una tarea que puede bloquear el recurso es capaz de conseguir programado. Esto permite una tarea de baja prioridad para aplazar la ejecución de las tareas de mayor prioridad[citación necesitada].

El Protocolo de prioridad de techo original (OCPP)[citación necesitada] tiene el mismo rendimiento peor[citación necesitada], pero es sutilmente diferentes en la aplicación que puede proporcionar más fino grano herencia de prioridad mecanismo de control que chileno[citación necesitada]. Bajo este enfoque, una tarea puede bloquear un recurso sólo si su prioridad dinámica es mayor que la prioridad actual del sistema. (La prioridad de una tarea dinámica es el máximo de su propia prioridad estática y cualquier hereda debido a que bloquea los procesos de mayor prioridad[citación necesitada]. La prioridad actual del sistema es el techo[citación necesitada] el recurso tiene el techo más alto entre los bloqueados por otros tareas actualmente.) De lo contrario se bloquea la tarea, y su prioridad es heredada por la tarea que ejerce el recurso que privilegia el sistema actual[citación necesitada].

Una tarea no tener programada Si cualquier recurso que puede bloquearse en realidad ha sido bloqueada por otra tarea, y por lo tanto previene el protocolo techo prioridad interbloqueos[citación necesitada].

CHILENO se llama "Fijación de techo" en Ada, "Prioridad proteger protocolo" en POSIX y la "Prioridad techo emulación" en RTSJ. [1] Es también conocido como "Protocolo de prioridad más alto del armario" (HLP). [2]

Contenido

  • 1 CHILENO versus OCPP
  • 2 Véase también
  • 3 Referencias
  • 4 Enlaces externos

CHILENO versus OCPP

El peor comportamiento de los sistemas de dos techo es idéntico desde un punto de vista de programación. Sin embargo, hay algunas diferencias:[3]

  • CHILENO es más fácil de implementar que OCPP, como relaciones de bloquea no necesitan vigilarse[citación necesitada]
  • CHILENO conduce al contexto menos switches como bloqueo es antes de la primera ejecución[citación necesitada]
  • CHILENO requiere más movimientos de prioridad como esto sucede con todo uso de los recursos[citación necesitada]
  • OCPP cambia la prioridad sólo si se ha producido una cuadra[citación necesitada]

Véase también

  • herencia de prioridad

Referencias

  1. ^ Alan Burns, Andy Wellings (Marzo de 2001). Lenguajes de programación y sistemas en tiempo real — Ada 95, Java en tiempo real y en tiempo real POSIX (3ª ed.). Addison Wesley Longmain. ISBN0-201-72988-1.
  2. ^ https://User.it.UU.se/~Yi/Courses/RTS/DVP-RTS-08/Notes/Synchronization-Resource-Sharing.pdf
  3. ^ https://rtsys.informatik.uni-Kiel.de/Teaching/ss05/v-RT2/Lectures/lecture13-handout4.pdf

Enlaces externos

  • Cómo usar la herencia de prioridad, por Kyle Renwick y Bill Renwick (2004-05-18)

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Priority_ceiling_protocol&oldid=614104271"