Ядро Linux достигло отметки в 40 млн строк
Размер ядра Linux достиг рубежа в 40 млн строк исходного кода. Из 40 млн строк 24 млн относятся к коду драйверов (например, код драйверов для GPU AMD занимает около 5 млн строк), а 4.4 миллиона специфичны для различных аппаратных архитектур (для поддержки архитектуры x86 используется примерно 500 тысяч строк).
С июля 2024 года размер ядра увеличился на 5 млн строк. Отметка в 30 млн строк была пройдена летом 2022 года, 20 млн строк — осенью 2015 года, а 10 млн — в осенью 2008 года. Для сравнения выпуск ядра 0.0.1 включал всего 10 тыс. строк кода, а 1.0.0 — 176 тысяч строк.
Динамика роста кодовой базы (количество строк исходного кода) ядра:
- 0.0.1 — сентябрь 1991, 10 тыс. строк кода;
- 1.0.0 — март 1994, 176 тыс. строк кода;
- 1.2.0 — март 1995, 311 тыс. строк кода;
- 2.0.0 — июнь 1996, 778 тыс. строк кода;
- 2.2.0 — январь 1999, 1.8 млн. строк кода;
- 2.4.0 — январь 2001, 3.4 млн. строк кода;
- 2.6.0 — декабрь 2003, 5.9 млн. строк кода;
- 2.6.28 — декабрь 2008, 10.2 млн. строк кода;
- 2.6.35 — август 2010, 13.4 млн. строк кода;
- 3.0 — август 2011, 14.6 млн. строк кода;
- 3.5 — июль 2012, 15.5 млн. строк кода;
- 3.10 — июль 2013, 15.8 млн. строк кода;
- 3.16 — август 2014, 17.5 млн. строк кода;
- 4.1 — июнь 2015, 19.5 млн. строк кода;
- 4.7 — июль 2016, 21.7 млн. строк кода;
- 4.12 — июль 2017, 24.1 млн. строк кода;
- 4.18 — август 2018, 25.3 млн. строк кода;
- 5.2 — июль 2019, 26.55 млн. строк кода;
- 5.8 — август 2020, 28.4 млн. строк кода;
- 5.13 — июнь 2021, 29.2 млн. строк кода;
- 5.19 — август 2022, 30.5 млн. строк кода;
- 6.4 — июнь 2023, 32.9 млн. строк кода.
- 6.10 — июль 2024, 35.1 млн. строк кода.
- 6.13 — январь 2025, 39.8 млн. строк кода.
В качестве одного из вариантов сокращения кодовой базы ядра предлагалось выделить драйверы в отдельный репозиторий, но данное предложение пока не рассматривается всерьёз из-за усложнения процессов тестирования и проверки качества, а также из-за появление дополнительных трудозатрат на синхронизацию программных интерфейсов. При разработке драйверов в основном составе ядра многие регрессии, влияющие на драйверы, сразу выявляются в процессе рецензирования сопровождающими. В случае разделения разработки существует опасность, что коду драйверов будет уделяться меньше внимания.
Источник: http://www.opennet.ru/opennews/art.shtml? num=62635
© OpenNet