Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Linus Torvalds decide atualizar padrão da linguagem C no Linux

O que Foi Implementado? O que Mudou e Quais são as Perspectivas?

De acordo com a transcrição do vídeo do canal Safe Source TV — publicado originalmente em 2022 e repostado recentemente — Linus Torvalds optou por atualizar a linguagem do Linux, trocando o antigo padrão C89 pelo mais recente C11. A mudança é importante para garantir segurança e manutenção do sistema, segundo o apresentador.


Sobre o vídeo

O vídeo detalha o motivo da decisão de Linus Torvalds e explica como essa atualização pode impactar o desenvolvimento do Linux. Para mais informações e para acompanhar a explicação completa, recomenda-se assistir ao vídeo no canal Safe Source TV.

📌 Nota editorial: o vídeo é de 2022 e foi repostado recentemente. Por isso, ao final de cada seção, apresentamos o estado atual do tema — o que foi implementado, o que mudou e quais são as perspectivas.

 

Motivo da mudança

Segundo o vídeo, o Linux até então era desenvolvido com base no padrão C89, versão da linguagem C adotada desde 1989. O apresentador explica que, apesar de parecer uma alteração pequena entre C89 e C11, a atualização é motivada por questões de segurança.

  • O Linux era escrito em C padrão C89 (de 1989), considerado antigo pelo apresentador.
  • Segundo a transcrição, todos os grandes sistemas operacionais também usam C, como o Windows.
  • A linguagem C evoluiu com novos padrões desde os anos 70, com o C11 sendo a versão mais recente mencionada.

🔄 Como ficou hoje: A decisão foi tomada e confirmada. O padrão C89 foi de fato abandonado. Vale notar que, desde o vídeo, a linguagem C evoluiu ainda mais: o C17 foi lançado em 2018 e o C23 — o padrão mais recente — foi publicado em 2024. O C11 foi escolhido para o Linux por ser o mais recente suportado por todos os compiladores-alvo do projeto à época.


Dificuldade de atualização

O apresentador relata, baseado em experiências pessoais, que atualizar sistemas para padrões mais modernos pode ser um grande desafio. Ele exemplifica com um antigo sistema próprio, que ficou defasado por não ser migrado.

  • O apresentador menciona que sistemas antigos podem enfrentar problemas de suporte e compatibilidade.
  • Utilizar versões antigas pode gerar riscos de segurança.

🔄 Como ficou hoje: A migração do kernel Linux provou ser mais tranquila do que muitos temiam. Como os compiladores modernos como o GCC já eram retrocompatíveis com C89, a transição não gerou quebras massivas. O processo serviu de exemplo de que migrações bem planejadas — mesmo em projetos gigantescos — são viáveis.


Falha de segurança evidenciada

Conforme exposto no vídeo, o motivo específico para a mudança relaciona-se a uma falha de segurança decorrente de como variáveis são declaradas em loops em C89. O padrão antigo não permite declarar variáveis dentro do loop, o que levava à exposição de dados.

  • A correção dessa falha já está presente no padrão C99 e mantida no C11, segundo a transcrição.
  • A mudança permitirá a declaração de variáveis dentro de loops no Linux.
  • O apresentador indica que isso pode evitar vazamentos de dados.

🔄 Como ficou hoje: A falha foi confirmada e documentada publicamente na LKML (Linux Kernel Mailing List). Torvalds escreveu diretamente à lista que “o motivo pelo qual esse tipo de bug pode acontecer é que historicamente não tínhamos o estilo C99 de declarar variáveis dentro do próprio loop”. A correção foi aplicada e a vulnerabilidade, endereçada com sucesso.


Processo de migração

Segundo o vídeo, Linus Torvalds decidiu migrar direto para o C11, ao invés de adotar etapas intermediárias. A intenção era aplicar a mudança no “merge de março”, na versão que seria o Linux 5.18.

  • Compiladores modernos, como o GCC, já suportam C11 e são retrocompatíveis com C89, segundo o vídeo.
  • Se houvesse problemas na atualização, a equipe poderia retornar à versão anterior do padrão.

🔄 Como ficou hoje: A migração foi concluída com sucesso. O commit foi integrado ao Linux 5.18, lançado em maio de 2022, com o flag -std=gnu11 (dialeto GNU do C11). Não foi necessário reverter nada. O padrão GNU11 está consolidado no kernel até hoje, sem relatos de instabilidade causada pela transição.


🆕 O que veio depois: Rust entra como segunda linguagem oficial do kernel

A preocupação com segurança que motivou a troca do C89 para o C11 não parou por aí. O Linux vive hoje uma transformação ainda mais profunda.

  • Em dezembro de 2025, durante o Linux Kernel Maintainer Summit em Tóquio, o suporte à linguagem Rust foi declarado permanente e não mais experimental no kernel.
  • Miguel Ojeda, líder do projeto Rust for Linux, confirmou: “O experimento acabou. O Rust veio para ficar.”
  • O Rust passa a ser a segunda linguagem oficial do kernel, ao lado do C.
  • Greg Kroah-Hartman afirmou que drivers escritos em Rust estão se mostrando mais seguros do que os escritos em C.
  • O subsistema DRM (Direct Rendering Manager) deve exigir Rust e proibir C para novos drivers em breve.
  • Milhões de dispositivos Android 16 já rodam Rust no kernel Linux em produção, via kernel 6.12.

A trajetória é clara: do C89 para o C11, e agora com o Rust como aliado — o Linux segue evoluindo com foco em segurança.


Pergunta ao leitor

Você considera importante manter seus sistemas e códigos atualizados para as versões mais recentes das linguagens e frameworks? E o que acha da entrada do Rust no kernel Linux? Compartilhe sua opinião nos comentários.


Conclusão

  • Em 2022, Linus Torvalds anunciou a migração do Linux de C89 para C11 — motivada por uma falha real de segurança em loops.
  • A mudança foi implementada com sucesso no Linux 5.18 (maio de 2022), sem reversões ou instabilidades.
  • O padrão adotado foi o GNU11 (-std=gnu11), dialeto GNU do C11, compatível com todos os compiladores exigidos pelo projeto.
  • Desde então, a linguagem C avançou: o padrão atual mais recente é o C23 (2024).
  • Em dezembro de 2025, o Rust foi adotado como segunda linguagem oficial do kernel, consolidando o compromisso do Linux com segurança de memória.
  • A lição que fica: atualizar padrões — mesmo em projetos com décadas de história — é possível, necessário e, quando bem feito, seguro.

Referências

  • 📺 Canal do YouTube: “Safe Source TV” — Linus Torvalds decide atualizar padrão da linguagem C no Linux (inserir URL do vídeo original)
  • 📰 ZDNet — Linus Torvalds prepares to move the Linux kernel to modern C (fev. 2022)
  • 📰 Phoronix — The Switch Has Been Made From C89 To C11/GNU11 With Linux 5.18 (mar. 2022)
  • 📰 Linux Security — Linux Kernel 5.18 Upgrade: Moving To C11 For Enhanced Security Features (mar. 2022)
  • 📰 DevClass — Rust boosted by permanent adoption for Linux kernel code (dez. 2025)
  • 📰 Spiceworks — Rust moves from experiment to a core Linux kernel language (jan. 2026)
Por Favor. Avalie este Artigo.
Post anterior
Próximo post

LEANDRO

Writer & Blogger

All Posts

Deixe um Comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados

Copyright © 2025 Brasil Ideal. Todos os direitos reservados.