¿Cuáles son las ventajas y desventajas de los enfoques de espera ocupada y sueño y vigilia para la exclusión mutua con respecto al kernel de Linux?

Las ventajas de la espera ocupada es que generalmente es mucho más rápido. Por otro lado, no está permitiendo que nada más se ejecute durante el tiempo que espera que se libere el bloqueo. Por lo tanto, no puede usar bloqueos de giro en un sistema de procesador uni. Por otro lado, dormir y despertar utilizan la CPU de una mejor manera y pueden usarse tanto en SMP como en UP. Sin embargo, dado que hay muchos gastos generales involucrados en solicitar el bloqueo, irse a dormir y ser despertado nuevamente cuando el recurso está disponible, no es realmente adecuado para la corta duración de la adquisición del bloqueo. Hay un enfoque híbrido que comprueba (mientras gira) si el bloqueo que está intentando adquirir está siendo utilizado por otro hilo que se está ejecutando actualmente y esperará ‘no’. de ciclos antes de dormir. Si la duración del tiempo excede el límite, se irá a dormir esperando a ser despertado.

More Interesting

¿Qué es una explicación intuitiva de inserción en un árbol AVL?

Se da una matriz (n). La matriz puede atravesarse por saltos de tamaño <= k. Si en el índice i, un salto puede aterrizar en cualquier lugar desde i + 1 hasta i + k index.

Quiero aprender estructuras de datos OOP y algoritmos usando PHP. ¿Cuáles son los buenos recursos que usan PHP para enseñar algoritmos?

¿Cuán relevantes son los fundamentos de CS (compiladores, análisis de algoritmos, estructuras de datos, etc.) en el desarrollo web profesional?

Cómo encontrar subrangos no decrecientes y no crecientes en una matriz

¿Hay libros / tutoriales para algoritmos y estructuras de datos que sean más amigables y para principiantes?

¿Por qué SuperMemo no es tan fácil de usar como Anki?

¿Cuál es el algoritmo de programación más eficiente?

Visión por computadora: ¿Qué parámetros se pueden usar para medir qué tan similares son dos imágenes?

Cómo analizar el código para encontrar la complejidad del algoritmo

¿Qué algoritmos son más importantes para un concursante de ACM ICPC?

¿Estoy perdiendo el tiempo implementando la estructura de datos elementales (Stacks, Queues y LinkedLists) como parte de la preparación para una entrevista de prácticas en Google?

¿Es posible aplicar de manera eficiente algoritmos de aprendizaje automático para problemas de optimización combinatoria?

¿Cómo se usa el hashing para la integridad?

¿Por qué un árbol de segmentos necesita una matriz de tamaño 4n? ¿Por qué no 2n-1?