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

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

Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только 4 несущественных совпадений блоков кода, обусловленных требованиями 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 млн. строк кода.


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

  • 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, который открыл эру виртуализации;
  • В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён переход к нумерации 3.x.
  • В 2015 году состоялся выпуск ядра Linux 4.0.


©  OpenNet