O kernel Linux tem 31 anos

Em 25 de agosto de 1991, após cinco meses de desenvolvimento, o estudante Linus Torvalds, de 21 anos, anunciou no newsgroup comp.os.minix a criação de um protótipo funcional de um novo sistema operacional Linux, para o qual a conclusão das portas do bash 1.08 e gcc 1.40 foram anotados. O primeiro lançamento público do kernel Linux foi anunciado em 17 de setembro. O kernel 0.0.1 tinha 62 KB em formato compactado e continha cerca de 10 mil linhas de código-fonte. O kernel Linux moderno possui mais de 30 milhões de linhas de código. De acordo com um estudo de 2010 encomendado pela União Europeia, o custo aproximado para desenvolver do zero um projeto semelhante ao kernel Linux moderno seria de mais de um bilhão de dólares (o cálculo foi feito quando o kernel tinha 13 milhões de linhas de código), de acordo com outras estimativas - mais de 3 bilhões

O kernel Linux foi inspirado no sistema operacional MINIX, do qual Linus não gostou devido à sua licença limitada. Posteriormente, quando o Linux se tornou um projeto bem conhecido, malfeitores tentaram acusar Linus de copiar diretamente o código de alguns subsistemas do MINIX. O ataque foi repelido por Andrew Tanenbaum, autor do MINIX, que designou um de seus alunos para realizar uma comparação detalhada do código do Minix e das primeiras versões públicas do Linux. Os resultados do estudo mostraram a presença de apenas quatro correspondências insignificantes de blocos de código devido aos requisitos POSIX e ANSI C.

Linus originalmente pensou em chamar o kernel de Freax, das palavras "free", "freak" e X (Unix). Mas o nome “Linux” foi dado ao kernel graças a Ari Lemmke, que, a pedido de Linus, postou o kernel no servidor FTP da universidade, nomeando o diretório com o arquivo não “freax”, como Torvalds solicitou, mas “linux. ” Vale ressaltar que o empreendedor empresário William Della Croce conseguiu registrar a marca Linux e quis cobrar royalties ao longo do tempo, mas depois mudou de ideia e transferiu todos os direitos da marca para Linus. O mascote oficial do kernel Linux, o pinguim Tux, foi escolhido em uma competição realizada em 1996. O nome Tux significa Torvalds UniX.

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

  • 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ão de linhas de código;
  • 2.4.0 – janeiro de 2001, 3.4 milhão 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 do desenvolvimento central:

  • Linux 0.0.1 - setembro de 1991, o primeiro lançamento público, suportando apenas CPU i386 e inicializando a partir de um disquete;
  • Linux 0.12 - janeiro de 1992, o código passou a ser distribuído sob a licença GPLv2;
  • Linux 0.95 - março de 1992, a capacidade de executar o sistema X Window é fornecida, suporte para memória virtual e partição swap é implementado.
  • Linux 0.96-0.99 - 1992-1993, o trabalho começou na pilha de rede. O sistema de arquivos Ext2 foi introduzido, o suporte para o formato de arquivo ELF foi adicionado, drivers para placas de som e controladores SCSI foram introduzidos, o carregamento de módulos do kernel e o sistema de arquivos /proc foram implementados.
  • 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, a primeira versão oficialmente estável;
  • Linux 1.2 - março de 1995, aumento significativo no número de drivers, suporte para as plataformas Alpha, MIPS e SPARC, capacidades expandidas da pilha de rede, aparecimento de um filtro de pacotes, suporte NFS;
  • Linux 2.0 – junho de 1996, suporte para sistemas multiprocessadores;
  • Março de 1997: Fundação da LKML, lista de discussão para desenvolvedores de kernel Linux;
  • 1998: Foi lançado o primeiro cluster baseado em Linux incluído na lista Top500, composto por 68 nós com CPU Alpha;
  • Linux 2.2 - Janeiro de 1999, a eficiência do sistema de gerenciamento de memória foi aumentada, o suporte IPv6 foi adicionado, um novo firewall foi implementado, um novo subsistema de som foi introduzido;
  • Linux 2.4 - fevereiro de 2001, oferece suporte para sistemas de 8 processadores e 64 GB de RAM, sistema de arquivos Ext3, suporte USB, ACPI;
  • Linux 2.6 - dezembro de 2003, suporte SELinux, ajuste automático de parâmetros do kernel, sysfs, sistema de gerenciamento de memória redesenhado;
  • Em 2005, foi lançado o hipervisor Xen, que inaugurou a era da virtualização;
  • Em setembro de 2008, foi formada a primeira versão da plataforma Android baseada no kernel Linux;
  • Em julho de 2011, após 10 anos de desenvolvimento da ramificação 2.6.x, foi feita a transição para a numeração 3.x. O número de objetos no repositório Git atingiu 2 milhões;
  • Em 2015, o kernel Linux 4.0 foi lançado. O número de objetos git no repositório atingiu 4 milhões;
  • Em abril de 2018, a marca de 6 milhões de objetos git no repositório do kernel foi ultrapassada.
  • Em janeiro de 2019, a ramificação do kernel Linux 5.0 foi formada. O repositório atingiu 6.5 milhões de objetos git.
  • O Kernel 2020, publicado em agosto de 5.8, tornou-se o maior em termos de número de alterações de todos os kernels durante toda a existência do projeto.
  • O kernel 5.13 estabeleceu um recorde para o número de desenvolvedores (2150) cujas alterações foram incluídas no kernel.
  • Em 2021, o código para desenvolvimento de drivers na linguagem Rust foi adicionado ao próximo ramo do kernel do Linux. O trabalho está em andamento para incluir componentes de suporte ao Rust no kernel principal.
  • Em agosto de 2022, o branch do kernel Linux 6.0 foi formado, já que o branch 5.x acumulou lançamentos suficientes para alterar o primeiro número no número da versão.

68% de todas as alterações no núcleo foram feitas pelas 20 empresas mais ativas. Por exemplo, ao desenvolver o kernel 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% - NVIDIA, 2.7% - Oracle. 11.8% das alterações foram preparadas por colaboradores ou desenvolvedores independentes que não declararam explicitamente que trabalhavam para determinadas empresas. Em termos de número de 5.19 linhas de código adicionadas ao kernel, a líder é a AMD, cuja participação foi de 37.9% (o driver amdgpu possui mais de 4 milhões de linhas de código, a maioria das quais são arquivos de cabeçalho gerados automaticamente com dados para GPU registradores).

Fonte: opennet.ru

Adicionar um comentário