На 25 август 1991 година, след пет месеца разработка, 21-годишният студент Линус Торвалдс обяви в телеконференцията comp.os.minix за създаването на работен прототип на новата операционна система Linux, за която беше обявено приключването на портването на bash 1.08 и gcc 1.40. Първото публично издание на ядрото Linux беше представено на 17 септември. Ядро 0.0.1 имаше размер 62 Кб в компресиран вид и съдържаше около 10 хиляди реда изходен код. Съвременното ядро Linux съдържа над 28 милиона реда код. Според изследване, проведено през 2010 година по поръчка на Европейския съюз, приблизителната стойност на разработката от нулата на проект, подобен на съвременното ядро Linux, би била над един милиард долара (изчислението е направено, когато в ядрото имаше 13 милиона реда код), а по други оценки — над 3 милиарда.
Linux ядрото беше създадено под впечатлението от операционната система MINIX, която не удовлетворяваше Линус поради ограничената си лицензия. По-късно, когато Linux стана известен проект, злонамерени критици се опитаха да обвинят Линус в директно копиране на кода на някои подсистеми на MINIX. Нападението бе отблъснато от Андрю Таненбаум, автора на MINIX, който възложи на един от студентите да направи подробно сравнение между кода на Minix и първите публични версии на Linux. Резултатите от изследването показаха наличието само на четири незначителни съвпадения на блокове код, обусловени от изискванията на POSIX и ANSI C.
В началото Линус искал да нарече ядрото Freax, от думите "free", "freak" и X (Unix). Но ядро получи името "Linux" с леката помощ на Ари Лемке (Ari Lemmke), който по молба на Линус постави ядрото на FTP-сървъра на университета, наричайки директорията с архива не "freax", както беше поискал Торвалдс, а "linux". Забележително е, че предприемчивият бизнесмен Уилям Делло Крок (William Della Croce) успя да регистрира търговска марка 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 милиона реда код.
Напредък в развитието на ядрото:
- Linux 0.0.1 — септември 1991, първо публично издание, поддържащо само CPU i386 и зареждащо се от флопи диск;
- 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 година: стартира първият кластер на базата на Linux, попаднал в списъка Top500, състоящ се от 68 възела с CPU Alpha;
- Linux 2.2 — януари 1999, увеличена ефективност на управлението на паметта, добавена поддръжка на IPv6, реализиран нов междупрограмно защитен софтуер, представена нова аудиосистема;
- Linux 2.4 — февруари 2001, осигурена е поддръжка на 8-процесорни системи и 64 Гб 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 година в клонът на ядрото Linux-next е добавен код за разработка на драйвери на езика Rust. Работи се по включване на компоненти за поддръжка на Rust в основния състав на ядрото.
68% от всички промени в ядрото са направени от 20-те най-активни компании. Например, при разработката на ядрото 5.13 10% от всички промени са подготвени от компанията Intel, 6.5% — Huawei, 5.9% — Red Hat, 5.7% — Linaro, 4.9% — Google, 4.8% — AMD, 3.1% — NVIDIA, 2.8% — Facebook, 2.3% — SUSE, 2.1% — IBM, 1.9% — Oracle, 1.5% — ARM, 1.4% — Canonical. 13.2% от промените са подготвени от независими участници или разработчици, които явно не са заявили, че работят за определени компании. 1.3% от промените са подготвени от студенти, аспиранти и представители на учебни заведения. По отношение на добавените в ядрото 5.13 редове код, водеща е компания AMD, чиято част е 20.2% (драйверът amdgpu съдържа около 3 милиона реда код, което е около 10% от общия размер на ядрото — 2.4 милиона реда отиват за автоматично генерирани заглавни файлове с данни за регистрите на GPU).
Източник: opennet.ru
