O tamanho do kernel Linux atingiu a marca de 40 milhões de linhas de código-fonte. Das 40 milhões de linhas, 24 milhões correspondem ao código dos drivers (por exemplo, o código dos drivers para GPU AMD ocupa cerca de 5 milhões de linhas), e 4,4 milhões são específicas de diversas arquiteturas de hardware (para suportar a arquitetura x86, são usadas aproximadamente 500 mil linhas).
Desde julho de 2024, o tamanho do kernel aumentou em 5 milhões de linhas. A marca de 30 milhões de linhas foi ultrapassada no verão de 2022, 20 milhões de linhas — no outono de 2015, e 10 milhões — no outono de 2008. Para comparação, o lançamento do kernel 0.0.1 incluía apenas 10 mil linhas de código, enquanto o 1.0.0 apresentava 176 mil linhas.
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;
- 6.4 — junho de 2023, 32,9 milhões de linhas de código.
- 6.10 — julho de 2024, 35,1 milhões de linhas de código.
- 6.13 — janeiro de 2025, 39,8 milhões de linhas de código.
Como uma das opções para reduzir a base de código do kernel, foi sugerido destacar os drivers em um repositório separado, mas essa proposta ainda não está sendo considerada seriamente devido à complexidade dos processos de teste e verificação de qualidade, bem como ao surgimento de esforços adicionais para sincronizar as interfaces de programação. Durante o desenvolvimento dos drivers na base principal do kernel, muitas regressões que afetam os drivers são imediatamente identificadas durante a revisão pelos mantenedores. Em caso de divisão no desenvolvimento, existe o risco de que o código dos drivers receba menos atenção.
Fonte: opennet.ru
