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

25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября.

Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 24 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США, по другим оценкам — более 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 млн. строк кода.

Прогресс развития ядра:

• 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.

• В 2015 году состоялся выпуск ядра Linux 4.0.

По материалам opennet.ru




Добавить комментарий

Войти с помощью: