Ядру Linux исполнилось 30 лет

Модератор: LinuxNEWS
Аватара пользователя

Автор темы
sheridan
Сообщения: 1279
Зарегистрирован: 24 фев 2020, 19:13
Решено: 14
Откуда: Алчевск
Благодарил (а): 892 раза
Поблагодарили: 467 раз
Контактная информация:

Ядру Linux исполнилось 30 лет

#1

25 авг 2021, 08:54

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 год: запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;
Linux 2.2 - январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;
Linux 2.4 - февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система 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

Аватара пользователя

madesta
Сообщения: 2011
Зарегистрирован: 11 июн 2017, 21:47
Решено: 29
Откуда: BY
Благодарил (а): 79 раз
Поблагодарили: 430 раз
Контактная информация:

Ядру Linux исполнилось 30 лет

#2

25 авг 2021, 15:26

sheridan писал(а):
25 авг 2021, 08:54
поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux
....
29.2 млн. строк кода
Сейчас, наверное, для сравнения понадобилось бы немеренное количество человеко-часов.
Имеется ли зависимость быстродействия ПО от числа строк его кода?

Аватара пользователя

Автор темы
sheridan
Сообщения: 1279
Зарегистрирован: 24 фев 2020, 19:13
Решено: 14
Откуда: Алчевск
Благодарил (а): 892 раза
Поблагодарили: 467 раз
Контактная информация:

Ядру Linux исполнилось 30 лет

#3

25 авг 2021, 15:35

В девяностых когда собрал Pentagon128, считал что памяти 128кб очень много по сравнению с 48кб :smile: , а теперь двадцать восемь миллионов строк кода в ядре, даже преждставить страшно сколько человеческих ресурсов задействовано. :fp:

Аватара пользователя

WWolf
Сообщения: 3893
Зарегистрирован: 14 фев 2018, 00:51
Решено: 31
Откуда: Краснодар
Благодарил (а): 1687 раз
Поблагодарили: 1212 раз
Контактная информация:

Ядру Linux исполнилось 30 лет

#4

25 авг 2021, 15:38

madesta писал(а):
25 авг 2021, 15:26
Имеется ли зависимость быстродействия ПО от числа строк его кода?
кол-во строк в исходнике это не показатель...у тебя может быть миллион строк комментариев и одна функция делающая 2+2 - так называемый индусский код :)
sheridan писал(а):
25 авг 2021, 15:35
считал что памяти 128кб очень много по сравнению с 48кб
«640 КБ должно хватить всем» :-D

Аватара пользователя

Real
Сообщения: 317
Зарегистрирован: 08 сен 2016, 02:49
Решено: 1
Благодарил (а): 52 раза
Поблагодарили: 192 раза
Контактная информация:

Ядру Linux исполнилось 30 лет

#5

25 авг 2021, 17:16

WWolf писал(а):
25 авг 2021, 15:38
«640 КБ должно хватить всем» :-D

Ответить

Вернуться в «Другие новости»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей