niedziela, 19 września 2021

Co można zmienić przez 30 lat?

Jak przypomina rosyjski Opennet, minęło 30 lat od utworzenia pierwszego publicznego wydania jądra Linuksa. Jądro 0.01 było skompresowane do 62 KB, zawierało 88 plików i zawierało 10239 linii kodu źródłowego. Według Linusa Torvaldsa to właśnie moment publikacji jądra 0.01 jest prawdziwą datą 30-lecia projektu .


25 sierpnia 1991 roku, po pięciu miesiącach rozwoju, 21-letni student Linus Torvalds ogłosił na telekonferencji comp.os.minix, że pracuje nad działającym prototypem nowego systemu operacyjnego Linux. Pierwsze publiczne wydanie jądra Linuksa zostało wydane 17 września 1991 roku.


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

  • 0.0.1 - wrzesień 1991, 10 tysięcy linii kodu;

  • 1.0.0 - marzec 1994, 176 tys. linii kodu;

  • 1.2.0 - marzec 1995, 311 tysięcy linii kodu;

  • 2.0.0 - czerwiec 1996, 778 tys. linii kodu;

  • 2.2.0 - styczeń 1999, 1,8 miliona linii kodu;

  • 2.4.0 - styczeń 2001, 3,4 miliona linii kodu;

  • 2.6.0 - grudzień 2003, 5,9 miliona 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 miliona linii kodu.

  • 3,5 - lipiec 2012, 15,5 miliona linii kodu.

  • 3.10 - lipiec 2013, 15,8 mln linii kodu;

  • 3.16 - sierpień 2014, 17,5 miliona linii kodu;

  • 4.1 - czerwiec 2015, 19,5 miliona 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 miliona linii kodu.

  • 5.2 - lipiec 2019, 26,55 miliona linii kodu.

  • 5,8 - sierpień 2020, 28,4 miliona linii kodu.

  • 5.13 - czerwiec 2021, 29,2 miliona linii kodu.

Postęp w rozwoju rdzenia:

  • Linux 0.0.1 - wrzesień 1991, pierwsze publiczne wydanie obsługujące tylko procesor i386 i ładowanie z dyskietki;

  • Linux 0.12 - styczeń 1992, kod zaczął być rozpowszechniany na licencji GPLv2;

  • Linux 0.95 - marzec 1992, zapewniał możliwość uruchomienia X Window System, zaimplementował obsługę 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 obsługę formatu plików ELF, wprowadzono sterowniki kart dźwiękowych i kontrolerów SCSI, zaimplementowano ł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 oficjalne wydanie stabilne;

  • Linux 1.2 - marzec 1995, znaczny wzrost liczby sterowników, wsparcie dla platform Alpha, MIPS i SPARC, rozszerzenie możliwości stosu sieciowego, pojawienie się filtru pakietów, obsługa NFS;

  • Linux 2.0 - czerwiec 1996, wsparcie dla systemów wieloprocesorowych;

  • Marzec 1997: Założenie LKML, listy dyskusyjnej programistów jądra Linuksa;

  • 1998: Uruchomienie pierwszego klastra Linux opartego na Top500, składającego się z 68 węzłów z procesorem Alpha;

  • Linux 2.2 - styczeń 1999, zwiększona wydajność systemu zarządzania pamięcią, dodano obsługę IPv6, zaimplementowano nowy firewall, wprowadzono nowy podsystem dźwiękowy;

  • Linux 2.4 - luty 2001, obsługa systemów 8-procesorowych i 64 GB pamięci RAM, system plików Ext3, obsługa USB, ACPI;

  • Linux 2.6 - grudzień 2003, obsługa SELinux, automatyczne narzędzia dostrajania jądra, sysfs, przeprojektowany system zarządzania pamięcią;

  • W 2005 roku wprowadzono hiperwizor Xen, który zapoczątkował erę wirtualizacji;

  • We wrześniu 2008 roku powstało pierwsze wydanie platformy Android opartej na jądrze Linux;

  • W lipcu 2011 roku, po 10 latach rozwoju gałęzi 2.6.x , dokonano przejścia na numerację 3.x. Liczba obiektów w repozytorium Git osiągnęła 2 miliony;

  • W 2015 roku miało miejsce wydanie jądra Linux 4.0. Liczba obiektów git w repozytorium osiągnęła 4 miliony;

  • W kwietniu 2018 pokonujemy barierę 6 milionów obiektów git-core w repozytorium.

  • W styczniu 2019 powstała gałąź jądra Linux 5.0 . Repozytorium osiągnęło poziom 6,5 miliona obiektów git.

  • Opublikowane w sierpniu 2020 r. jądro 5.8 było największe pod względem liczby zmian wszystkich jąder podczas całego istnienia projektu.

  • Jądro 5.13 ustanowiło rekord liczby deweloperów (2150), których zmiany zostały wprowadzone do jądra.

  • W 2021 roku do gałęzi Linux-next kernel został dodany kod do tworzenia sterowników w języku Rust. Trwają prace nad włączeniem komponentów wspierających Rust w rdzeniu.

68% wszystkich zmian w rdzeniu zostało dokonanych przez 20 najaktywniejszych firm. Na przykład, w rozwój jądra 5,13, i 10% wszystkich zmian jest zaangażowany 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% — kanoniczny. 13,2% zmian zostało przygotowanych przez niezależnych współpracowników lub deweloperów, którzy nie zadeklarowali wprost swojej pracy dla określonych firm. 1,3% zmian przygotowali studenci, doktoranci i przedstawiciele placówek oświatowych. AMD jest liderem pod względem 5,13 linii kodu dodawanych do jądra, z udziałem 20,2% (sterownik amdgpu ma ok. 3 mln linii kodu, co stanowi ok. 10% całkowitego rozmiaru jądra - uwzględniono 2,4 mln linii przez automatycznie generowane pliki nagłówkowe z danymi dla rejestrów GPU ).



Ktoś złośliwy napisał, że student sklecił z nudów kod, który po 30 latach wciąż działa jak gdyby został napisany... przez studenta.

Brak komentarzy:

Prześlij komentarz