На 25 август 1991 г., след пет месеца на разработка, 21-годишният студент Линус Торвалдс обяви на телеконференцията comp.os.minix, че работещ прототип на новата операционна система Linux е завършен, пренасяйки bash 1.08 и gcc 1.40 е завършен. Първата публична версия на ядрото на Linux беше представена на 17 септември. Ядрото 0.0.1 беше компресирано с 62 KB и съдържаше около 10 30 реда изходен код. Съвременното ядро на Linux има над 2010 милиона реда код. Според проучване, поръчано от Европейския съюз през 13 г., приблизителната цена за разработване от нулата на проект, подобен на модерното ядро на Linux, ще бъде повече от един милиард щатски долара (изчислението е направено, когато ядрото има 3 милиона реда код) , според други оценки - повече от XNUMX милиарда.
Ядрото на Linux е вдъхновено от операционната система MINIX, която не подхожда на Линус с ограничения лиценз. Впоследствие, когато Linux стана добре известен проект, недоброжелателите се опитаха да обвинят Линус в директно копиране на кода на някои подсистеми MINIX. Атаката беше отблъсната от Андрю Таненбаум, автор на MINIX, който възложи на студент да направи подробно сравнение между кода на Minix и първите публични версии на Linux. Резултатите от изследването показаха наличието само на четири незначителни съвпадения на кодови блокове, поради изискванията на POSIX и ANSI C.
Линус първоначално мислеше да кръсти ядрото Freax, от думите "безплатен", "изрод" и X (Unix). Но името „Linux“ беше дадено на ядрото от Ари Лемке, който по искане на Линус постави ядрото на FTP сървъра на университета, като нарече директорията с архива не „freax“, както поиска Торвалдс, а „linux ”. Трябва да се отбележи, че предприемчивият бизнесмен Уилям Дела Кроче (Уилям Дела Кроче) успя да регистрира търговската марка Linux и искаше да събира възнаграждения с течение на времето, но по-късно промени решението си и прехвърли всички права върху търговската марка на Линус. Официалният талисман на ядрото на Linux, пингвинът Tux, беше избран в резултат на конкурс, проведен през 1996 г. Името Tux означава Torvalds UniX.
Динамика на растеж на кодовата база (брой редове от изходния код) на ядрото:
- 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 милиона реда код.
Напредък на основното развитие:
- Linux 0.0.1 - септември 1991 г., първата публична версия, поддържаща само i386 CPU и зареждане от дискета;
- Linux 0.12 - януари 1992 г., кодът започва да се разпространява под лиценз GPLv2;
- Linux 0.95 - март 1992 г., добавена възможност за стартиране на X Window System, внедрена поддръжка за виртуална памет и суап дял.
- Linux 0.96-0.99 - 1992-1993 г., започна работа по мрежовия стек. Въведена е файловата система Ext2, добавена е поддръжка за файловия формат ELF, въведени са драйвери за звукови карти и SCSI контролери, зареждане на модули на ядрото и е внедрена файловата система /proc.
- През 1992 г. се появяват първите дистрибуции на SLS и Yggdrasil. През лятото на 1993 г. бяха основани проектите Slackware и Debian.
- Linux 1.0 - март 1994 г., първото официално стабилно издание;
- Linux 1.2 - март 1995 г., значително увеличение на броя на драйверите, поддръжка на платформите Alpha, MIPS и SPARC, разширени възможности за мрежов стек, поява на филтър за пакети, поддръжка на NFS;
- Linux 2.0 - юни 1996 г., поддръжка на многопроцесорни системи;
- Март 1997: LKML, основан пощенски списък за разработчици на ядрото на Linux;
- 1998: Стартира първият Top500 Linux-базиран клъстер, състоящ се от 68 възли с Alpha CPU;
- Linux 2.2 - януари 1999 г., подобрена ефективност на системата за управление на паметта, добавена поддръжка за IPv6, внедрена нова защитна стена, въведена нова звукова подсистема;
- Linux 2.4 - февруари 2001 г., поддръжка на 8-процесорни системи и 64 GB RAM, Ext3 файлова система, USB поддръжка, ACPI;
- Linux 2.6 - декември 2003 г., поддръжка на SELinux, автоматични инструменти за настройка на параметрите на ядрото, sysfs, преработена система за управление на паметта;
- През 2005 г. беше представен хипервайзорът Xen, който постави началото на ерата на виртуализацията;
- През септември 2008 г. беше формирана първата версия на платформата Android, базирана на ядрото на Linux;
- През юли 2011 г., след 10 години развитие на клона 2.6.x, беше направен преходът към 3.x номерация. Броят на обектите в хранилището на Git достигна 2 милиона;
- През 2015 г. се състоя пускането на ядрото Linux 4.0. Броят на git обектите в хранилището достигна 4 милиона;
- През април 2018 г. беше преодолян крайъгълният камък от 6 милиона git обекта в основното хранилище.
- През януари 2019 г. беше сформиран клонът на ядрото на Linux 5.0. Хранилището е достигнало ниво от 6.5 милиона git обекта.
- Публикувано през август 2020 г., ядрото 5.8 беше най-голямото по отношение на броя промени от всички ядра през целия живот на проекта.
- В ядрото 5.13 беше поставен рекорд за броя на разработчиците (2150), чиито промени бяха включени в ядрото.
- През 2021 г. кодът за разработване на драйвери в Rust беше добавен към клона на ядрото Linux-next. Работи се по включването на компоненти за поддръжка на Rust в основната част на ядрото.
- През август 2022 г. бе сформиран клонът на ядрото на Linux 6.0, тъй като имаше достатъчно версии в клона 5.x, за да се промени първото число в номера на версията.
68% от всички основни промени са направени от топ 20 компании. Например при разработването на ядро 5.19 10.9% от всички промени са подготвени от Intel, 5.7% от Linaro, 5.5% от AMD, 5.2% от Red Hat, 4.1% от Google, 3.5% от Meta, 3.1% от SUSE, 2.9 % от Huawei, 2.8% - NVIDIA, 2.7% - Oracle. 11.8% от промените са изготвени от независими сътрудници или разработчици, които не са декларирали изрично работата си за определени компании. С 5.19 реда код, добавен към ядрото, AMD е лидер с дял от 37.9% (драйверът amdgpu има над 4 милиона реда код, повечето от които са автоматично генерирани хедър файлове с данни за GPU регистри).
Източник: opennet.ru