Linus Torvalds tem uma opinião muito strong contra as mudanças no kernel, resultando em regressões do userspace (veja a pergunta " O kernel do Linux: quebrando o espaço do usuário "para detalhes).
A interface entre userspace e kernel é fornecida por chamadas do sistema. Os kernels mais recentes podem ter mais chamadas do sistema e alterações nas saídas quando essas alterações não interrompem os aplicativos existentes. Quando uma interface de chamada do sistema tem um parâmetro de sinalização, os novos kernels geralmente expõem a nova funcionalidade com um novo sinalizador de bit. Desta forma, o kernel mantém a compatibilidade retroativa com aplicativos antigos.
Quando não foi possível alterar a interface existente sem interromper o espaço do usuário, foram adicionadas chamadas de sistema adicionais que fornecem a funcionalidade estendida. É por isso que existem três versões de dup
e duas versões de umount
chamada do sistema.
A política de ter um espaço de usuário estável é a razão pela qual as atualizações do kernel raramente causam problemas nos aplicativos de espaço do usuário e você geralmente não espera problemas após a atualização do kernel.
No entanto, a mesma estabilidade da API não é garantida para as interfaces kernel e outros detalhes de implementação. Sysfs (em /sys
) e procsfs (em /proc/
) expõem detalhes de implementação do kernel em configuração de tempo de execução, hardware, rede, processos etc. que são usados por aplicações de nível. É possível que essas interfaces mudem de uma maneira incompatível entre as versões do kernel, se houver uma boa razão para isso. As alterações ainda tentam minimizar as incompatibilidades, se possível, e há regras para saber como os aplicativos podem usar as interfaces de maneira menos provável de causar problemas . O impacto também é limitado porque aplicativos de baixo nível não devem usar essas interfaces.
@PeterCordes apontou se uma mudança em procfs ou sysfs quebra uma aplicação usada pelos scripts init de suas distribuições, você poderia ter um problema.
Isso depende de como seu kernel de atualizações de distribuição (suporte a longo prazo ou mainline) e, mesmo assim, os problemas são relativamente raros, já que as distribuições geralmente enviam as ferramentas atualizadas ao mesmo tempo.
< em> @StephenKitt adicionou que o userspace atualizado pode requerer uma versão mais nova do kernel, caso em que o sistema pode não ser capaz de inicializar com o kernel antigo e que notas de lançamento de distribuição mencionam isso quando apropriado.