O kernel Linux completou 31 anos

Em 25 de agosto de 1991, após cinco meses de desenvolvimento, o estudante de 21 anos Linus Torvalds anunciou na conferência comp.os.minix a criação do protótipo funcional de um novo sistema operacional, o Linux, para o qual foi marcada a conclusão da portabilidade do bash 1.08 e gcc 1.40. A primeira versão pública do núcleo Linux foi apresentada em 17 de setembro. O núcleo 0.0.1 tinha um tamanho de 62 Kb comprimido e continha cerca de 10 mil linhas de código-fonte. O núcleo Linux moderno possui mais de 30 milhões de linhas de código. De acordo com um estudo encomendado pela União Europeia em 2010, o custo aproximado para desenvolver do zero um projeto semelhante ao núcleo Linux moderno seria superior a um bilhão de dólares americanos (o cálculo foi feito quando havia 13 milhões de linhas de código no núcleo); segundo outras estimativas, mais de 3 bilhões.

O núcleo Linux foi criado sob a influência do sistema operacional MINIX, que não agradava Linus por conta de sua licença restritiva. Posteriormente, quando o Linux se tornou um projeto conhecido, detratores tentaram acusar Linus de copiar diretamente o código de algumas subsistemas do MINIX. A resposta foi dada por Andrew Tanenbaum, autor do MINIX, que encarregou um de seus alunos de realizar uma comparação detalhada entre o código do MINIX e as primeiras versões públicas do Linux. Os resultados mostraram apenas quatro coincidências não significativas em blocos de código, devido às exigências do POSIX e do ANSI C.

Inicialmente, Linus pensou em nomear o núcleo de Freax, a partir das palavras "free", "freak" e X (Unix). Mas o nome "Linux" foi dado a ele pela mão amigável de Ari Lemmke, que a pedido de Linus hospedou o núcleo em um servidor FTP da universidade, nomeando o diretório do arquivo não como "freax", como pedido por Torvalds, mas sim como "linux". Curiosamente, o empresário William Della Croce conseguiu registrar a marca Linux e pretendia coletar royalties no futuro, mas posteriormente mudou de ideia e transferiu todos os direitos da marca a Linus. O mascote oficial do núcleo Linux, o pingüim Tux, foi escolhido como resultado de um concurso realizado em 1996. O nome Tux é uma abreviação para Torvalds UniX.

Dinâmica de crescimento da base de código (número de linhas de código-fonte) do núcleo:

  • 0.0.1 — setembro de 1991, 10 mil linhas de código;
  • 1.0.0 — março de 1994, 176 mil linhas de código;
  • 1.2.0 — março de 1995, 311 mil linhas de código;
  • 2.0.0 — junho de 1996, 778 mil linhas de código;
  • 2.2.0 — janeiro de 1999, 1,8 milhões de linhas de código;
  • 2.4.0 — janeiro de 2001, 3,4 milhões de linhas de código;
  • 2.6.0 — dezembro de 2003, 5,9 milhões de linhas de código;
  • 2.6.28 — dezembro de 2008, 10,2 milhões de linhas de código;
  • 2.6.35 — agosto de 2010, 13,4 milhões de linhas de código;
  • 3.0 — agosto de 2011, 14,6 milhões de linhas de código.
  • 3.5 — julho de 2012, 15,5 milhões de linhas de código.
  • 3.10 — julho de 2013, 15,8 milhões de linhas de código;
  • 3.16 — agosto de 2014, 17,5 milhões de linhas de código;
  • 4.1 — junho de 2015, 19,5 milhões de linhas de código;
  • 4.7 — julho de 2016, 21,7 milhões de linhas de código;
  • 4.12 — julho de 2017, 24,1 milhões de linhas de código;
  • 4.18 — agosto de 2018, 25,3 milhões de linhas de código.
  • 5.2 — julho de 2019, 26,55 milhões de linhas de código.
  • 5.8 — agosto de 2020, 28.4 milhões de linhas de código.
  • 5.13 — junho de 2021, 29.2 milhões de linhas de código.
  • 5.19 — agosto de 2022, 30.5 milhões de linhas de código.

Progresso no desenvolvimento do núcleo:

  • Linux 0.0.1 — setembro de 1991, primeiro lançamento público, suportando apenas CPU i386 e inicialização a partir de disquete;
  • Linux 0.12 — janeiro de 1992, o código começou a ser distribuído sob a licença GPLv2;
  • Linux 0.95 — março de 1992, permitido o funcionamento do X Window System, suporte à memória virtual e à partição de swap.
  • Linux 0.96-0.99 — 1992-1993, início do trabalho na pilha de rede. Sistema de arquivos Ext2 introduzido, suporte para o formato de arquivos ELF adicionado, drivers para placas de som e controladores SCSI apresentados, carga de módulos do núcleo e sistema de arquivos /proc implementada.
  • Em 1992, surgiram as primeiras distribuições SLS e Yggdrasil. No verão de 1993, os projetos Slackware e Debian foram fundados.
  • Linux 1.0 — março de 1994, primeiro lançamento oficialmente estável;
  • Linux 1.2 — março de 1995, aumento significativo no número de drivers, suporte para plataformas Alpha, MIPS e SPARC, expansão das capacidades da pilha de rede, introdução de filtragem de pacotes, suporte a NFS;
  • Linux 2.0 — junho de 1996, suporte a sistemas multiprocessadores;
  • Março de 1997: fundado o LKML, lista de discussão dos desenvolvedores do núcleo Linux;
  • 1998: lançado o primeiro cluster baseado em Linux, listado no Top500, composto por 68 nós com CPU Alpha;
  • Linux 2.2 - janeiro de 1999, eficiência do sistema de gerenciamento de memória aumentada, adicionada suporte a IPv6, firewall novo implementado, nova subsistema de som apresentado;
  • Linux 2.4 — fevereiro de 2001, suporte a sistemas com 8 processadores e 64 GB de RAM, sistema de arquivos Ext3, suporte a USB, ACPI;
  • Linux 2.6 — dezembro de 2003, suporte a SELinux, ferramentas de ajuste automático de parâmetros do núcleo, sysfs, sistema de gerenciamento de memória reestruturado.
  • Em 2005, foi lançado o hipervisor Xen, que iniciou a era da virtualização;
  • Em setembro de 2008, foi lançado o primeiro release da plataforma Android, baseada no núcleo Linux;
  • Em julho de 2011, após 10 anos de desenvolvimento da série 2.6.x, houve a transição para a numeração 3.x. O número de objetos no repositório Git atingiu 2 milhões;
  • Em 2015, foi lançado o núcleo Linux 4.0. O número de objetos git no repositório alcançou 4 milhões;
  • Em abril de 2018, foi ultrapassada a marca de 6 milhões de objetos git no repositório do núcleo.
  • Em janeiro de 2019, foi formado o ramo do núcleo Linux 5.0. O repositório atingiu 6,5 milhões de objetos git.
  • Publicada em agosto de 2020, a versão 5.8 se tornou a maior em número de alterações em toda a história do projeto.
  • No núcleo 5.13, foi estabelecido um recorde de 2150 desenvolvedores, cujas alterações foram incorporadas ao núcleo.
  • Em 2021, foi adicionado ao ramo do núcleo Linux-next código para desenvolvimento de drivers na linguagem Rust. Está em andamento o trabalho para incluir componentes de suporte ao Rust na composição principal do núcleo.
  • Em agosto de 2022, foi formado o ramo do núcleo Linux 6.0, uma vez que havia uma quantidade suficiente de lançamentos na série 5.x para mudar o primeiro dígito da versão.

68% de todas as alterações no núcleo foram feitas por 20 empresas mais ativas. Por exemplo, no desenvolvimento do núcleo 5.19, 10.9% de todas as alterações foram preparadas pela Intel, 5.7% pela Linaro, 5.5% pela AMD, 5.2% pela Red Hat, 4.1% pelo Google, 3.5% pela Meta, 3.1% pela SUSE, 2.9% pela Huawei, 2.8% pela NVIDIA e 2.7% pela Oracle. 11.8% das alterações foram preparadas por participantes independentes ou desenvolvedores que não declararam explicitamente sua associação a determinadas empresas. Em termos de linhas de código adicionadas ao núcleo 5.19, a AMD lidera com uma participação de 37.9% (o driver amdgpu possui mais de 4 milhões de linhas de código, a maior parte das quais é composta por arquivos de cabeçalho gerados automaticamente com dados para os registros da GPU).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster