Cómo Linux gestiona procesos con listas enlazadas intrusivas

Intrusive Linked Lists

Las listas enlazadas intrusivas integran el nodo de la lista en la propia estructura de datos, a diferencia de las listas tradicionales que usan punteros separados. Esto reduce asignaciones de memoria y mejora el rendimiento de caché. En Linux, se utilizan listas circulares doblemente enlazadas e intrusivas para gestionar tareas, como se ve en la estructura `task_struct` y la lista de tareas. El artículo explica su implementación, usando macros como `list_add` y `container_of`, y muestra cómo se recorren los procesos para enviar señales o congelar tareas.

Linux utiliza principalmente listas enlazadas para mantener listas de objetos cuando el recorrido es poco frecuente o cuando el tamaño de la lista es pequeño.

Más de este día

2026-09-03