Jądro Linux obchodzi 30-lecie

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 миллиардов.

Jądro Linux powstało pod wpływem systemu operacyjnego MINIX, który nie zadowalał Linusa swoją ograniczoną licencją. Gdy Linux stał się znanym projektem, krytycy próbowali oskarżyć Linusa o bezpośrednie kopiowanie kodu niektórych podsystemów MINIX. Atak odparł Andrew Tanenbaum, autor MINIX, który zlecił jednemu ze studentów dokonanie szczegółowego porównania kodu Minix i pierwszych publicznych wersji Linux. Wyniki badania wykazały jedynie cztery nieistotne zbiegi bloków kodu, spowodowane wymaganiami POSIX i ANSI C.

Początkowo Linus zamierzał nazwać jądro Freax, od słów „free”, „freak” i X (Unix). Jednak nazwę „Linux” jądro otrzymało dzięki Ari Lemmke, który na prośbę Linusa umieścił jądro na serwerze FTP uniwersytetu, nazywając katalog z archiwum nie „freax”, jak prosił Torvalds, lecz „linux”. Ciekawostką jest, że przedsiębiorczy William Della Croce zdołał zarejestrować znak towarowy Linux i chciał z czasem pobierać tantiemy, ale później zmienił zdanie i przekazał wszystkie prawa do znaku Linusowi. Oficjalnym maskotkiem jądra Linux, pingwin Tux, został wybrany w wyniku konkursu, który odbył się w 1996 roku. Nazwa Tux jest skrótem od Torvalds UniX.

Dynamika wzrostu bazy kodu (liczba linii kodu źródłowego) jądra:

  • 0.0.1 — wrzesień 1991, 10 tys. linii kodu;
  • 1.0.0 — marzec 1994, 176 tys. linii kodu;
  • 1.2.0 — marzec 1995, 311 tys. linii kodu;
  • 2.0.0 — czerwiec 1996, 778 tys. linii kodu;
  • 2.2.0 — styczeń 1999, 1,8 mln. linii kodu;
  • 2.4.0 — styczeń 2001, 3,4 mln. linii kodu;
  • 2.6.0 — grudzień 2003, 5,9 mln. linii kodu;
  • 2.6.28 — grudzień 2008, 10,2 mln. linii kodu;
  • 2.6.35 — sierpień 2010, 13,4 mln. linii kodu;
  • 3.0 — sierpień 2011, 14.6 mln linii kodu.
  • 3.5 — lipiec 2012, 15.5 mln linii kodu.
  • 3.10 — lipiec 2013, 15,8 mln. linii kodu;
  • 3.16 — sierpień 2014, 17,5 mln. linii kodu;
  • 4.1 — czerwiec 2015, 19.5 mln linii kodu;
  • 4.7 — lipiec 2016, 21.7 mln linii kodu;
  • 4.12 — lipiec 2017, 24.1 mln linii kodu;
  • 4.18 — sierpień 2018, 25.3 mln linii kodu.
  • 5.2 — lipiec 2019, 26.55 mln linii kodu.
  • 5.8 — sierpień 2020, 28.4 mln linii kodu.
  • 5.13 — czerwiec 2021, 29.2 mln linii kodu.

Postęp w rozwoju jądra:

  • Linux 0.0.1 — wrzesień 1991, pierwsze publiczne wydanie, wspierające tylko CPU i386 i uruchamiające się z dyskietki;
  • Linux 0.12 — styczeń 1992, kod zaczął być rozpowszechniany w ramach licencji GPLv2;
  • Linux 0.95 — marzec 1992, wprowadzono możliwość uruchomienia systemu X Window, wprowadzono wsparcie dla pamięci wirtualnej i partycji wymiany.
  • Linux 0.96-0.99 — 1992-1993, rozpoczęto prace nad stosem sieciowym. Wprowadzono system plików Ext2, dodano wsparcie dla formatu plików ELF, wprowadzono sterowniki dla kart dźwiękowych i kontrolerów SCSI, zrealizowano ładowanie modułów jądra i systemu plików /proc.
  • W 1992 roku pojawiły się pierwsze dystrybucje SLS i Yggdrasil. Latem 1993 roku powstały projekty Slackware i Debian.
  • Linux 1.0 — marzec 1994, pierwsze oficjalnie stabilne wydanie;
  • Linux 1.2 — marzec 1995, znaczny wzrost liczby sterowników, wsparcie dla platform Alpha, MIPS i SPARC, rozszerzenie możliwości staku sieciowego, wprowadzenie filtru pakietów, wsparcie dla NFS;
  • Linux 2.0 — czerwiec 1996, wsparcie dla systemów wieloprocesorowych;
  • Marzec 1997: założono LKML, listę mailingową programistów jądra Linux;
  • Rok 1998: uruchomiono pierwszy cluster oparty na Linuxie, który znalazł się na liście Top500, składający się z 68 węzłów z CPU Alpha;
  • Linux 2.2 — styczeń 1999, zwiększona efektywność systemu zarządzania pamięcią, dodano wsparcie IPv6, wprowadzono nową zaporę sieciową, przedstawiono nowy system dźwiękowy;
  • Linux 2.4 — luty 2001, zapewniono wsparcie dla systemów 8-procesorowych i 64 GB RAM, system plików Ext3, wsparcie dla USB, ACPI;
  • Linux 2.6 — grudzień 2003, wsparcie dla SELinux, narzędzia automatycznego dostrajania parametrów jądra, sysfs, przerobiony system zarządzania pamięcią;
  • W 2005 roku wprowadzono hipernadzorcę Xen, co zapoczątkowało erę wirtualizacji;
  • We wrześniu 2008 roku wydano pierwszą wersję platformy Android opartej na jądrze Linux;
  • W lipcu 2011 roku, po 10 latach rozwoju gałęzi 2.6.x, wprowadzono numerację 3.x. Liczba obiektów w repozytorium Git osiągnęła 2 mln;
  • W 2015 roku wydano jądro Linux 4.0. Liczba obiektów git w repozytorium osiągnęła 4 miliony;
  • W kwietniu 2018 roku przekroczono próg 6 milionów obiektów git w repozytorium jądra.
  • W styczniu 2019 roku utworzono gałąź jądra Linux 5.0. Repozytorium osiągnęło poziom 6,5 miliona obiektów git.
  • Opublikowane w sierpniu 2020 roku jądro 5.8 stało się największym pod względem liczby zmian ze wszystkich jąder w historii projektu.
  • W jądrze 5.13 ustanowiono rekord liczby programistów (2150), których zmiany znalazły się w jądrze.
  • W 2021 roku do gałęzi jądra Linux-next dodano kod do opracowywania sterowników w języku Rust. Trwają prace nad włączeniem komponentów wspierających Rust do podstawowego składu jądra.

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

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster