La dimensione del kernel Linux ha raggiunto i 40 milioni di righe di codice sorgente. Di queste 40 milioni, 24 milioni riguardano il codice dei driver (ad esempio, il codice dei driver per GPU AMD occupa circa 5 milioni di righe), e 4,4 milioni sono specifici per diverse architetture hardware (circa 500.000 righe sono utilizzate per supportare l'architettura x86).
A partire da luglio 2024, la dimensione del kernel è aumentata di 5 milioni di righe. Il traguardo dei 30 milioni di righe è stato superato nell'estate del 2022, 20 milioni nell'autunno del 2015, e 10 milioni nell'autunno del 2008. A titolo di confronto, il rilascio del kernel 0.0.1 includeva solo 10.000 righe di codice, mentre il 1.0.0 conteneva 176.000 righe.
Dinamica di crescita della base di codice (numero di righe di codice sorgente) del kernel:
- 0.0.1 — settembre 1991, 10.000 righe di codice;
- 1.0.0 — marzo 1994, 176.000 righe di codice;
- 1.2.0 — marzo 1995, 311.000 righe di codice;
- 2.0.0 — giugno 1996, 778.000 righe di codice;
- 2.2.0 — gennaio 1999, 1.8 milioni di righe di codice;
- 2.4.0 — gennaio 2001, 3.4 milioni di righe di codice;
- 2.6.0 — dicembre 2003, 5.9 milioni di righe di codice;
- 2.6.28 — dicembre 2008, 10.2 milioni di righe di codice;
- 2.6.35 — agosto 2010, 13.4 milioni di righe di codice;
- 3.0 — agosto 2011, 14.6 milioni di righe di codice;
- 3.5 — luglio 2012, 15.5 milioni di righe di codice;
- 3.10 — luglio 2013, 15.8 milioni di righe di codice;
- 3.16 — agosto 2014, 17.5 milioni di righe di codice;
- 4.1 — giugno 2015, 19.5 milioni di righe di codice;
- 4.7 — luglio 2016, 21.7 milioni di righe di codice;
- 4.12 — luglio 2017, 24.1 milioni di righe di codice;
- 4.18 — agosto 2018, 25.3 milioni di righe di codice;
- 5.2 — luglio 2019, 26.55 milioni di righe di codice;
- 5.8 — agosto 2020, 28.4 milioni di righe di codice;
- 5.13 — giugno 2021, 29.2 milioni di righe di codice;
- 5.19 — agosto 2022, 30.5 milioni di righe di codice;
- 6.4 — giugno 2023, 32.9 milioni di righe di codice.
- 6.10 — luglio 2024, 35.1 milioni di righe di codice.
- 6.13 — gennaio 2025, 39,8 milioni di righe di codice.
Come alternativa per ridurre la base di codice del kernel, è stato proposto di estrarre i driver in un repository separato, ma questa proposta non è attualmente presa seriamente in considerazione a causa della complicazione dei processi di testing e verifica della qualità, nonché dell'emergere di ulteriori costi di lavoro per la sincronizzazione delle interfacce software. Durante lo sviluppo dei driver all'interno del kernel principale, molte regressioni che influenzano i driver vengono immediatamente identificate nel processo di revisione da parte dei manutentori. In caso di separazione dello sviluppo, esiste il rischio che al codice dei driver venga prestata meno attenzione.
Fonte: opennet.ru
