1

Bem legal o conteúdo do post, só acho importante fazer uma ressalva sobre estre trecho:

O kernel usa listas ligadas para tudo. Lista de tarefas do escalonador, lista módulos carregados, lista dispositivos registrados, lista de conexões de rede. A lista ligada é a estrutura de dados mais onipresente do kernel.

Acho importante mencionar que o kernel Linux usa muitas estruturas de dados distintas e que cada caso é um caso. Lista ligada tem penalidade de performance devido ao acesso à memória não ser sequencial, o que implica em muitos cache misses. Em comparação, array dinâmica é muito mais cache friendly pelos acessos serem sequenciais e, por isso, a performance é muito melhor.

Então a ideia de que "O kernel usa listas ligadas para tudo" está errada. O kernel usa várias estruturas de dados diferentes e, onde a performance é mais impactante, ele prefere usar array dinâmica ou flexible array members.

Carregando publicação patrocinada...
0

Usar para tudo é diferente de dizer que tudo usa exclusivamente listas.

Te faço um desafio simples:

Manda um grep "struct list_head" na raiz do kernel e tenta achar um único subsistema que não use essas listas em algum ponto.

-1

Só que existe diferença entre "para tudo" e "em tudo". Se você fala que usa "para tudo", você está sim dizendo que tudo usa listas.

Exemplos:
— Eu faço desenhos e uso lápis de carvão para tudo.
— Eu faço desenhos e uso lápis de carvão em tudo.

Na segunda frase, "em tudo" é entendido como "em todo desenho". Mas na primeira frase, "para tudo" é entendido que somente lápis de carvão é usado nos desenhos.

Mas tudo bem, já entendi que houve uma falha na comunicação.