30 éves a Linux kernel

25. augusztus 1991-én, öt hónapos fejlesztés után a 21 éves Linus Torvalds diák a comp.os.minix hírcsoportban bejelentette egy új Linux operációs rendszer működő prototípusának elkészítését, amelyhez a bash portok elkészültek. 1.08 és gcc 1.40 került feljegyzésre. A Linux kernel első nyilvános kiadását szeptember 17-én jelentették be. A 0.0.1-es kernel 62 KB méretű volt tömörített formában, és körülbelül 10 ezer sornyi forráskódot tartalmazott. A modern Linux kernel több mint 28 millió kódsort tartalmaz. Egy, az Európai Unió megbízásából készült 2010-es tanulmány szerint egy, a modern Linux kernelhez hasonló projekt nulláról történő kifejlesztésének hozzávetőleges költsége több mint egymilliárd dollár lenne (a számítás akkor készült, amikor a kernel 13 millió sornyi kódot tartalmazott). más becslések szerint - több mint 3 milliárd

A Linux kernelt a MINIX operációs rendszer ihlette, ami Linusnak a korlátozott licence miatt nem tetszett. Később, amikor a Linux jól ismert projektté vált, a rosszindulatúak megpróbálták Linust azzal vádolni, hogy közvetlenül másolja néhány MINIX alrendszer kódját. A támadást Andrew Tanenbaum, a MINIX szerzője hárította vissza, és megbízta egyik tanítványát, hogy végezze el a Minix kód és a Linux első nyilvános verzióinak részletes összehasonlítását. A vizsgálat eredményei a POSIX és ANSI C követelmények miatt mindössze négy jelentéktelen kódblokk egyezését mutatták ki.

Linus eredetileg arra gondolt, hogy Freax-nek hívja a kernelt, a "free", "freak" és X (Unix) szavakból. De a „Linux” nevet a kernel Ari Lemmkének köszönheti, aki Linus kérésére feltette a kernelt az egyetem FTP szerverére, és az archívumot tartalmazó könyvtárat nem „freax”-nak nevezte el, ahogy Torvalds kérte, hanem „linuxnak”. ” Figyelemre méltó, hogy a vállalkozó szellemű üzletembernek, William Della Croce-nak sikerült bejegyeztetnie a Linux védjegyet, és idővel jogdíjat akart szedni, de később meggondolta magát, és a védjegy minden jogát Linusra ruházta. A Linux kernel hivatalos kabalája, Tux, a pingvin egy 1996-ban megrendezett verseny eredményeként került kiválasztásra. A Tux név a Torvalds UniX rövidítése.

A kernel kódbázis növekedési dinamikája (a forráskód sorainak száma):

  • 0.0.1 - 1991. szeptember, 10 ezer sornyi kód;
  • 1.0.0 - 1994. március, 176 ezer sornyi kód;
  • 1.2.0 - 1995. március, 311 ezer sornyi kód;
  • 2.0.0 - 1996. június, 778 ezer sornyi kód;
  • 2.2.0 – 1999. január, 1.8 millió kódsor;
  • 2.4.0 – 2001. január, 3.4 millió kódsor;
  • 2.6.0 – 2003. december, 5.9 millió kódsor;
  • 2.6.28 – 2008. december, 10.2 millió kódsor;
  • 2.6.35 - 2010. augusztus, 13.4 millió kódsor;
  • 3.0 – 2011. augusztus, 14.6 millió kódsor.
  • 3.5 – 2012. július, 15.5 millió kódsor.
  • 3.10 - 2013. július, 15.8 millió kódsor;
  • 3.16 - 2014. augusztus, 17.5 millió kódsor;
  • 4.1 – 2015. június, 19.5 millió kódsor;
  • 4.7 - 2016. július, 21.7 millió kódsor;
  • 4.12 - 2017. július, 24.1 millió kódsor;
  • 4.18 – 2018. augusztus, 25.3 millió kódsor.
  • 5.2 – 2019. július, 26.55 millió kódsor.
  • 5.8 – 2020. augusztus, 28.4 millió kódsor.
  • 5.13 – 2021. június, 29.2 millió kódsor.

Az alapvető fejlesztési folyamatok:

  • Linux 0.0.1 – 1991. szeptember, az első nyilvános kiadás, amely csak az i386 CPU-t támogatja, és hajlékonylemezről indul;
  • Linux 0.12 – 1992. január, a kódot a GPLv2 licenc alatt kezdték terjeszteni;
  • Linux 0.95 – 1992. március, az X Window System futtatásának lehetősége biztosított, a virtuális memória és a swap partíció támogatása megvalósul.
  • Linux 0.96-0.99 – 1992-1993, megkezdődött a munka a hálózati veremen. Bevezették az Ext2 fájlrendszert, hozzáadták az ELF fájlformátum támogatását, bevezetésre kerültek a hangkártyák és SCSI vezérlők illesztőprogramjai, a kernelmodulok betöltése és a /proc fájlrendszer megvalósítása.
  • 1992-ben jelentek meg az első disztribúciók, az SLS és az Yggdrasil. 1993 nyarán megalapították a Slackware és a Debian projekteket.
  • Linux 1.0 – 1994. március, az első hivatalosan stabil kiadás;
  • Linux 1.2 - 1995. március, az illesztőprogramok számának jelentős növekedése, az Alpha, MIPS és SPARC platformok támogatása, a hálózati verem bővített képességei, csomagszűrő megjelenése, NFS támogatás;
  • Linux 2.0 – 1996. június, többprocesszoros rendszerek támogatása;
  • 1997. március: LKML, Linux kernel fejlesztői levelezőlista, alapítás;
  • 1998: Elindult a Top500-as listán szereplő első Linux-alapú fürt, amely 68 csomópontból áll Alpha CPU-val;
  • Linux 2.2 - 1999. január, a memóriakezelő rendszer hatékonysága megnőtt, az IPv6 támogatása hozzáadásra került, új tűzfal került bevezetésre, új hangosítási alrendszer került bevezetésre;
  • Linux 2.4 – 2001. február, támogatja a 8 processzoros rendszereket és 64 GB RAM-ot, Ext3 fájlrendszert, USB támogatást, ACPI-t;
  • Linux 2.6 - 2003. december, SELinux támogatás, kernelparaméterek automatikus hangolása, sysfs, újratervezett memóriakezelő rendszer;
  • 2005-ben bemutatták a Xen hypervisort, amivel beköszöntött a virtualizáció korszaka;
  • 2008 szeptemberében megalakult a Linux kernelen alapuló Android platform első kiadása;
  • 2011 júliusában a 10.x ág 2.6 éves fejlesztése után megtörtént az átállás a 3.x számozásra. A Git tárolóban lévő objektumok száma elérte a 2 milliót;
  • 2015-ben megjelent a Linux kernel 4.0. A tárolóban lévő git objektumok száma elérte a 4 milliót;
  • 2018 áprilisában sikerült átlépni a kernel tárolójában található 6 millió git objektumot.
  • 2019 januárjában megalakult a Linux 5.0 kernelága. Az adattár elérte a 6.5 ​​millió git objektumot.
  • A 2020 augusztusában megjelent 5.8-as kernel lett a legnagyobb változtatások számát tekintve az összes kernel közül a projekt teljes fennállása alatt.
  • Az 5.13-as kernel rekordot állított fel azon fejlesztők számában (2150), akiknek a változtatásait a rendszermag tartalmazza.
  • 2021-ben a Rust nyelvű illesztőprogramok fejlesztésére szolgáló kód hozzáadásra került a Linux-next kernelághoz. Dolgoznak azon, hogy a Rustot támogató összetevőket beépítsék a mag kernelbe.

Az összes alapváltoztatás 68%-át a 20 legaktívabb cég hajtotta végre. Például az 5.13-as kernel fejlesztésekor az összes változtatás 10%-át az Intel készítette, 6.5%-át a Huawei, 5.9%-át a Red Hat, 5.7%-át a Linaro, 4.9%-át a Google, 4.8%-át az AMD, 3.1%-át az NVIDIA, 2.8 % Facebook, 2.3% - SUSE, 2.1% - IBM, 1.9% - Oracle, 1.5% - ARM, 1.4% - Canonical. A változtatások 13.2%-át független közreműködők vagy fejlesztők készítették elő, akik nem nyilatkoztak kifejezetten arról, hogy bizonyos cégeknek dolgoznak. A változtatások 1.3%-át hallgatók, végzős hallgatók és oktatási intézmények képviselői készítették elő. A kernelhez hozzáadott 5.13 sornyi kód tekintetében az AMD a vezető, részesedése 20.2% volt (az amdgpu meghajtó körülbelül 3 millió sornyi kóddal rendelkezik, ami a teljes kernelméret körülbelül 10%-a - 2.4 millió sorokat a GPU-regiszterek adatait tartalmazó, automatikusan generált fejlécfájlok számolják el.

Forrás: opennet.ru

Hozzászólás