25. srpna 1991, po pěti měsících vývoje, oznámil 21letý student Linus Torvalds na telekonferenci comp.os.minix, že byl dokončen funkční prototyp nového operačního systému Linux, který portoval bash 1.08 a gcc 1.40. byla dokončena. První veřejné vydání linuxového jádra bylo představeno 17. září. Jádro 0.0.1 bylo komprimováno na 62 kB a obsahovalo asi 10 30 řádků zdrojového kódu. Moderní linuxové jádro má přes 2010 milionů řádků kódu. Podle studie zadané Evropskou unií v roce 13 by přibližné náklady na vývoj projektu podobného modernímu linuxovému jádru od začátku byly více než miliarda amerických dolarů (výpočet byl proveden, když jádro mělo 3 milionů řádků kódu) , podle jiných odhadů - více než XNUMX miliardy.
Linuxové jádro bylo inspirováno operačním systémem MINIX, který Linusovi nevyhovoval svou omezenou licencí. Následně, když se Linux stal známým projektem, kritici se pokusili obvinit Linuse z přímého kopírování kódu některých subsystémů MINIX. Útok odrazil Andrew Tanenbaum, autor MINIXu, který pověřil studenta, aby provedl podrobné srovnání mezi kódem Minixu a prvními veřejnými verzemi Linuxu. Výsledky studie ukázaly přítomnost pouze čtyř menších shod kódových bloků kvůli požadavkům POSIX a ANSI C.
Linuse původně napadlo pojmenovat jádro Freax ze slov „free“, „freak“ a X (Unix). Ale jméno „Linux“ dal jádru Ari Lemmke, který na žádost Linuse umístil jádro na univerzitní FTP server, přičemž adresář s archivem nepojmenoval „freax“, jak se Torvalds ptal, ale „linux“. “. Pozoruhodné je, že podnikavý obchodník William Della Croce (William Della Croce) si stihl zaregistrovat ochrannou známku Linux a chtěl postupem času vybírat licenční poplatky, ale později si to rozmyslel a všechna práva k ochranné známce převedl na Linuse. Oficiální maskot linuxového jádra, tučňák Tux, byl vybrán na základě soutěže konané v roce 1996. Jméno Tux znamená Torvalds UniX.
Dynamika růstu kódové základny (počet řádků zdrojového kódu) jádra:
- 0.0.1 - září 1991, 10 tisíc řádků kódu;
- 1.0.0 - březen 1994, 176 tisíc řádků kódu;
- 1.2.0 - březen 1995, 311 tisíc řádků kódu;
- 2.0.0 - červen 1996, 778 tisíc řádků kódu;
- 2.2.0 - leden 1999, 1.8 milionu řádků kódu;
- 2.4.0 - leden 2001, 3.4 milionu řádků kódu;
- 2.6.0 – prosinec 2003, 5.9 milionů řádků kódu;
- 2.6.28 – prosinec 2008, 10.2 milionů řádků kódu;
- 2.6.35 - srpen 2010, 13.4 milionů řádků kódu;
- 3.0 – srpen 2011, 14.6 milionů řádků kódu.
- 3.5 – červenec 2012, 15.5 milionu řádků kódu.
- 3.10 – červenec 2013, 15.8 milionů řádků kódu;
- 3.16 - srpen 2014, 17.5 milionů řádků kódu;
- 4.1 – červen 2015, 19.5 milionu řádků kódu;
- 4.7 – červenec 2016, 21.7 milionů řádků kódu;
- 4.12 – červenec 2017, 24.1 milionů řádků kódu;
- 4.18 – srpen 2018, 25.3 milionů řádků kódu.
- 5.2 – červenec 2019, 26.55 milionu řádků kódu.
- 5.8 – srpen 2020, 28.4 milionů řádků kódu.
- 5.13 – červen 2021, 29.2 milionů řádků kódu.
- 5.19 – srpen 2022, 30.5 milionů řádků kódu.
Základní pokrok ve vývoji:
- Linux 0.0.1 - září 1991, první veřejné vydání podporující pouze CPU i386 a zavádění z diskety;
- Linux 0.12 - leden 1992, kód začal být distribuován pod licencí GPLv2;
- Linux 0.95 – březen 1992, přidal možnost spouštět X Window System, implementoval podporu pro virtuální paměť a swapovací oddíl.
- Linux 0.96-0.99 - 1992-1993, byly zahájeny práce na síťovém zásobníku. Byl představen souborový systém Ext2, přidána podpora pro souborový formát ELF, byly zavedeny ovladače pro zvukové karty a SCSI řadiče, implementováno načítání modulů jádra a souborový systém /proc.
- V roce 1992 se objevily první distribuce SLS a Yggdrasil. V létě 1993 byly založeny projekty Slackware a Debian.
- Linux 1.0 – březen 1994, první oficiálně stabilní vydání;
- Linux 1.2 - březen 1995, výrazný nárůst počtu ovladačů, podpora platforem Alpha, MIPS a SPARC, rozšířené možnosti síťového zásobníku, vzhled paketového filtru, podpora NFS;
- Linux 2.0 – červen 1996, podpora pro víceprocesorové systémy;
- Březen 1997: LKML, linuxový kernel vývojářům založen mailing list;
- 1998: Spuštěn první cluster Top500 založený na Linuxu, sestávající z 68 uzlů s CPU Alpha;
- Linux 2.2 – leden 1999, zlepšená efektivita systému správy paměti, přidána podpora pro IPv6, implementován nový firewall, zaveden nový zvukový subsystém;
- Linux 2.4 - únor 2001, podpora 8-procesorových systémů a 64 GB RAM, souborový systém Ext3, podpora USB, ACPI;
- Linux 2.6 – prosinec 2003, podpora SELinux, nástroje pro automatické ladění parametrů jádra, sysfs, přepracovaný systém správy paměti;
- V roce 2005 byl představen hypervizor Xen, který zahájil éru virtualizace;
- V září 2008 byla vytvořena první verze platformy Android založené na jádře Linux;
- V červenci 2011, po 10 letech vývoje větve 2.6.x, došlo k přechodu na číslování 3.x. Počet objektů v úložišti Git dosáhl 2 milionů;
- V roce 2015 došlo k vydání jádra Linux 4.0. Počet objektů git v úložišti dosáhl 4 milionů;
- V dubnu 2018 byl překonán milník 6 milionů git objektů v základním úložišti.
- V lednu 2019 byla vytvořena větev jádra Linux 5.0. Úložiště dosáhlo úrovně 6.5 milionu git objektů.
- Zveřejněné v srpnu 2020 bylo jádro 5.8 největší z hlediska počtu změn ze všech jader za celou dobu životnosti projektu.
- V jádře 5.13 byl vytvořen rekord v počtu vývojářů (2150), jejichž změny byly v jádře zahrnuty.
- V roce 2021 byl do větve jádra Linux-next přidán kód pro vývoj ovladačů v Rustu. Pracuje se na zahrnutí komponent pro podporu Rustu v hlavní části jádra.
- V srpnu 2022 byla vytvořena větev jádra Linux 6.0, protože ve větvi 5.x bylo dostatek vydání na změnu prvního čísla v čísle verze.
68 % všech klíčových změn provedlo 20 největších společností. Například při vývoji jádra 5.19 bylo 10.9 % všech změn připraveno Intelem, 5.7 % Linaro, 5.5 % AMD, 5.2 % Red Hat, 4.1 % Google, 3.5 % Meta, 3.1 % SUSE, 2.9 % Huawei, 2.8 % – NVIDIA, 2.7 % – Oracle. 11.8 % změn bylo připraveno nezávislými přispěvateli nebo vývojáři, kteří svou práci pro určité společnosti výslovně nedeklarovali. S 5.19 řádky kódu přidanými do jádra je lídrem AMD s podílem 37.9 % (ovladač amdgpu má přes 4 miliony řádků kódu, z nichž většinu tvoří automaticky generované hlavičkové soubory s daty pro registry GPU).
Zdroj: opennet.ru