Nucleul Linux
Nucleul Linux |
---|
|
|
Tip de |
software gratuit și open source , nucleu de sistem de operare , colaborare [d] , platformă de proiect și computer [d] |
Autor |
Linus Torvalds [1] |
Dezvoltator |
Linus Torvalds , Cox, Alan , Greg Croah-Hartman , Ingo Molnar [d] și Morton, Andrew |
Scris in |
C [4] , limbaj de asamblare , C++ și Rust [5] |
Prima editie |
25 august 1991 |
Platformă hardware |
ARM , AVR , Blackfin [d] , DEC Alpha , ETRAX CRIS [d] , Itanium , MIPS , PA-RISC , PowerPC , SPARC , SuperH , TILE64 [d] , Unicore [d] , Xtensa [d] , Motorola 680x0 , IBM System/390 , x86 , x86_64 și z/Architecture |
ultima versiune |
|
Versiune de testare |
|
Licență |
GNU GPL 2 [6] [7] [8] |
Site-ul web |
kernel.org _ |
Fișiere media la Wikimedia Commons |
Nucleul Linux ( /ˈlɪnʊks/ [9] ) este un nucleu de sistem de operare care se conformează standardelor POSIX și formează baza familiei de sisteme de operare Linux , precum și o serie de sisteme de operare pentru dispozitive mobile, inclusiv Android , Tizen . , KaiOS . Dezvoltarea codului kernel a fost începută de studentul finlandez Linus Torvalds în 1991, iar marca comercială „Linux” este înregistrată pe numele său.
Codul este scris în principal în C cu unele extensii gcc și în asamblare (folosind sintaxa AT&T a GNU Assembler
).
Distribuit ca software gratuit în condițiile Licenței Publice Generale GNU , cu excepția articolelor care nu sunt gratuite, în special a driverelor care utilizează firmware distribuit sub diferite licențe [10] .
Sistemele de operare bazate pe nucleul Linux sunt lideri pe piețele supercomputerelor , microcomputerelor , serverelor și smartphone -urilor .
Istorie
Proiectul a început în 1991 cu o postare pe grupul de știri Usenet [11] .
Până atunci, GNU crease deja multe componente pentru un sistem de operare gratuit, dar nucleul său GNU Hurd nu era încă gata. Prin urmare, locul gol al nucleului pentru un sistem de operare gratuit a fost luat de Linux și, în ciuda funcționalității limitate a versiunilor timpurii, a atras mulți dezvoltatori și utilizatori.
„Linux” ca nucleu de sistem de operare, a cărui dezvoltare a fost începută de Torvalds, este doar o mică parte din multe dintre sistemele care îl folosesc, care sunt, de asemenea, denumite în mod obișnuit „Linux”. Acest lucru duce uneori la confuzie, ducând la controversa privind denumirea GNU/Linux - unii susținători ai mișcării GNU cred că aceasta este denumirea corectă pentru un sistem de operare bazat pe nucleul Linux și care utilizează proiectul GNU (cum ar fi glibc , gcc , bash ). , coreutils și altele) [12] .
Din mai 2020, familia de sisteme de operare bazate pe nucleul Linux este a treia ca popularitate din lume pe piața desktop -ului - 4,9% [13] . Pe piața serverelor web , ponderea Linux este de aproximativ 31%, restul sunt sisteme Unix ( FreeBSD , etc.) [14] . Potrivit Top500 (mai 2020), Linux este folosit ca sistem de operare pentru 100% dintre cele mai puternice supercomputere din lume [ 15] .
Majoritatea dispozitivelor mobile, cum ar fi smartphone-urile și tabletele bazate pe sistemele de operare Android , MeeGo , Tizen , precum și televizoarele și multe dispozitive de birou, cum ar fi hard disk-uri externe, routere și modemuri, utilizează, de asemenea, sisteme de operare bazate pe nucleul Linux. .
Cronologie
- Aprilie 1991: Linus Torvalds, în vârstă de 21 de ani, a început să lucreze la unele dintre mecanismele sistemului de operare. A început cu un emulator de terminal și un planificator de sarcini .
- 25 august 1991: Torvalds a postat un mesaj în grupul de știri de pe Minix [11] [16] .
- 17 septembrie 1991: versiunea Linux 0.01 (10.239 de linii de cod ).
- 5 octombrie 1991: Linux versiunea 0.02 [17] .
- Decembrie 1991: versiunea Linux 0.11. A fost prima versiune de Linux care a putut construi Linux din sursă .
- 19 ianuarie 1992: Prima postare în grupul de știri alt.os.linux [18] .
- 31 martie 1992: Este creat grupul de știri specializat comp.os.linux [19] .
- Aprilie 1992: versiunea Linux 0.96, care a făcut posibilă rularea serverului grafic X Window System .
- Tot anul 1993 și începutul lui 1994: 15 versiuni de test ale versiunii 0.99.* ( BogoMips a fost introdus în iulie 1993 ).
- 14 martie 1994: Linux versiunea 1.0.0 (176.250 de linii de cod).
- Martie 1995: versiunea Linux 1.2.0 (310.950 de linii de cod).
- 9 mai 1996: Este ales simbolul Linux Tux pinguinul .
- 9 iunie 1996: Linux versiunea 2.0.0 (777.956 linii de cod).
- 25 ianuarie 1999: versiunea Linux 2.2.0, inițial destul de neterminată (1.800.847 de linii de cod).
- 4 ianuarie 2001: versiunea Linux 2.4.0 (3.377.902 linii de cod).
- 18 decembrie 2003: versiunea Linux 2.6.0 (5.929.913 linii de cod).
- 23 martie 2009: versiunea Linux 2.6.29, simbol temporar Linux Tasmanian Devil Tuz (11.010.647 de linii de cod).
- 22 iulie 2011: lansarea Linux 3.0 (14,6 milioane de linii de cod).
- 24 octombrie 2011: lansarea Linux 3.1.
- 15 ianuarie 2012: Lansarea Linux 3.3 atinge 15 milioane de linii de cod.
- 23 februarie 2015: Candidat pentru prima versiune pentru Linux 4.0 (peste 19 milioane de linii de cod).
- 7 ianuarie 2019: Candidat pentru prima versiune pentru Linux 5.0 (peste 26 de milioane de linii de cod).
Versiuni
Torvalds continuă să lanseze noi versiuni ale nucleului, combinând modificările făcute de alți programatori și introducându-le pe ale sale. Se numește de obicei „vanilie” ( vanilie ), adică nucleul oficial fără modificări de la terți. Pe lângă versiunile oficiale de kernel, există ramuri alternative care pot fi preluate din diverse surse. De obicei, dezvoltatorii de distribuție Linux își mențin propriile versiuni ale nucleului, de exemplu, incluzând drivere de dispozitiv care nu sunt încă incluse în versiunea oficială. Din 30 mai 2011, politica de numerotare a versiunilor de kernel s-a schimbat [20] .
Numerotarea versiunilor până la 30 mai 2011
Numărul versiunii kernel-ului Linux anterior datei de 30 mai 2011 conținea patru numere, conform unei modificări recente a politicii de denumire a versiunilor, care s-a bazat mult timp pe trei numere. Pentru a ilustra, să presupunem că numărul versiunii este scris astfel: ABC[.D] (de exemplu, 2.2.1, 2.4.13 sau 2.6.12.3).
- Numărul A indică versiunea nucleului. Inițial a fost intenționat să se schimbe rar și numai atunci când au fost aduse modificări semnificative codului și conceptului nucleului, primele astfel de modificări au avut loc în 1994 (versiunea 1.0) și în 1996 (versiunea 2.0). Ulterior, regula semnificației modificărilor a fost încălcată și de două ori următoarele versiuni ale nucleului au fost lansate cu o primă cifră actualizată - pe 31 mai 2011 (3.0.0) și 21 aprilie 2015 (4.0.0).
- Numărul B indică versiunea majoră a revizuirii nucleului. În nucleele de dinainte de versiunea 3.0 , numerele pare indicau revizuiri stabile, adică cele destinate utilizării productive, cum ar fi 1.2, 2.4 sau 2.6, iar numerele impare reprezentau revizuiri ale dezvoltatorului, menite să testeze noi îmbunătățiri și drivere până atunci până când acestea sunt stabile. suficient pentru a fi inclus într-o versiune stabilă.
- Numărul C indică versiunea minoră a revizuirii nucleului. În vechea schemă cu trei numere, s-a schimbat atunci când în nucleu erau incluse corecții de securitate, remedieri de erori, îmbunătățiri noi sau drivere. Cu noua politică de numerotare, totuși, aceasta se schimbă doar atunci când sunt aduse noi drivere sau îmbunătățiri; reparațiile minore sunt acceptate de numărul D.
- Numărul D a apărut pentru prima dată după cazul când a fost descoperită o eroare gravă legată de NFS în codul kernel-ului 2.6.8 care trebuie remediat imediat . Cu toate acestea, celelalte modificări nu au fost suficiente pentru a justifica lansarea unei noi revizuiri minore (care ar fi trebuit să fie 2.6.9). Prin urmare, versiunea 2.6.8.1 a fost lansată, singura modificare fiind o remediere a acestei erori. Începând cu nucleul 2.6.11, această numerotare a fost adoptată ca nouă politică de versiune oficială. Remedierea erorilor și corecțiile de securitate sunt acum indicate cu un al patrulea număr, în timp ce modificările majore sunt reflectate într-o revizuire minoră a revizuirii nucleului ( număr C ).
Numerotarea versiunilor din 30 mai 2011
Pe 30 mai 2011, Linus Torvalds a lansat versiunea de kernel 3.0-rc1. Odată cu aceasta, politica de numerotare a versiunilor de kernel a fost modificată. Utilizarea numerelor pare și impare pentru a indica stabilitatea nucleului a fost eliminată, iar al treilea număr înseamnă stabilitatea nucleului. Versiunea 3.0 nu aduce aproape nicio modificare, cu excepția unei modificări a politicii de numerotare a nucleului. Astfel, versiunile stabile ale nucleului 3.0 vor fi denumite 3.0.X, iar următoarea ediție de după aceasta va fi numerotată 3.1.
Suport
În timp ce Torvalds continuă să lanseze noi versiuni experimentale, conducerea versiunilor LTS este transmisă altora:
Serie
|
Versiuni
|
Lideri
|
Sfârșitul suportului
|
3.2
|
3.2.101
|
Ben Hutchings
|
mai 2018
|
3.4
|
3.4.113
|
Lee Zifan
|
octombrie 2016
|
3.10
|
3.10.108
|
Willie Tharow
|
noiembrie 2017
|
3.12
|
3.12.74
|
Jiri Slaby
|
mai 2017
|
3.14
|
3.14.79
|
Greg Croah-Hartman
|
septembrie 2016
|
3.16
|
3.16.85
|
Ben Hutchings
|
iunie 2020
|
3.18
|
3.18.140
|
Sasha Levin
|
ianuarie 2017
|
4.1
|
4.1.52
|
Sasha Levin
|
mai 2018
|
4.4
|
4.4.302
|
Greg Croah-Hartman și Sasha Levin
|
februarie 2022
|
4.9
|
4.9.331
|
Greg Croah-Hartman și Sasha Levin
|
ianuarie 2023
|
4.14
|
4.14.296
|
Greg Croah-Hartman și Sasha Levin
|
ianuarie 2024
|
4.19
|
4.19.262
|
Greg Croah-Hartman și Sasha Levin
|
decembrie 2024
|
5.4
|
5.4.220
|
Greg Croah-Hartman și Sasha Levin
|
decembrie 2025
|
5.10
|
5.10.151
|
Greg Croah-Hartman și Sasha Levin
|
decembrie 2026
|
5.15
|
5.15.75
|
Greg Croah-Hartman și Sasha Levin
|
octombrie 2023
|
Alți programatori de nucleu Linux sunt Robert Love și Ingo Molnar [21] .
Lansări stabile
- Versiunea 1.0 în martie 1994 - acceptă numai mașinile uniprocesor i386 .
- Versiunea 1.2 martie 1995 - S-a adăugat suport pentru procesoarele Alpha , SPARC și MIPS .
- Versiunea 2.0 iunie 1996 - a adăugat suport pentru alte procesoare, precum și pentru sistemele multiprocesor.
- Versiunea 2.2 în ianuarie 1999 [22] .
- Versiunea 2.4 ianuarie 2001 - S-a adăugat suport pentru ISA Plug and Play , procesoare PA-RISC , USB și PC-Card ( PCMCIA ). Suportul pentru procesoarele Axis Communications ETRAX CRIS și sistemul de fișiere InterMezzo au fost adăugate ulterior [23] .
- Versiunea 2.6 - 17 decembrie 2003:
- μClinux furk creat (pentru microcontrolere );
- a adăugat suport pentru seria Hitachi H8/300, NEC v850, procesoare de sisteme integrate Motorola m68k , noua arhitectură de acces la memorie NUMA , suport NCR Voyager, tehnologii Intel hyperthreading și PAE;
- adăugat:
- suport pentru sistemul de fișiere XFS (dezvoltator - SGI );
- suport APIC îmbunătățit ;
- numărul maxim de utilizatori și grupuri a crescut de la 65.000 la peste 4 miliarde;
- numărul maxim de procese a fost crescut de la 32.000 la 1 miliard;
- numărul maxim de tipuri de dispozitive (dispozitiv major) a fost crescut - de la 255 la 4095, iar numărul maxim de dispozitive de fiecare tip (dispozitiv minor) - de la 255 la mai mult de un milion, din cauza problemelor cu distribuirea numerelor pentru tipuri de dispozitive, a fost introdus serviciul de sistem udev;
- suport îmbunătățit pentru sistemele pe 64 de biți și sistemele de fișiere mai mari de 16 TB;
- timp de reacție redus pentru procesele în timp real;
- implementare rescrisă a firelor de execuție folosind Native POSIX Thread Library ( NPTL );
- încărcător de module îmbunătățit;
- a adăugat un nou sistem de fișiere de serviciu sysfs ;
- Integrare Linux în modul utilizator ;
- si etc.
- Versiunea 3.0. - Folosit în Ubuntu 11.10
- Versiunea 3.1.
- Versiunea 3.2 - folosită în Ubuntu 12.04 LTS și Debian 7 Wheezy. Pe lângă remedierea erorilor, unele optimizări ale codului care afectează performanța sunt de așteptat să fie introduse pentru prima dată într-un nucleu cu suport lung.
- Versiunea 3.3.
- Versiunea 3.4.
- Versiunea 3.5 - folosită în Ubuntu 12.10.
- Versiunea 3.6.
- Versiunea 3.7.
- Versiunea 3.8 - Suportul pentru procesoarele i386 a fost renunțat. Folosit în Ubuntu 13.04.
- Versiunea 3.9.
- Versiunea 3.10.
- Inovații:
- Este posibil să împiedicați executarea scripturilor ca programe - funcționalitatea rulării scripturilor care conțin calea către interpret în antetul „#!” poate fi acum compilată ca modul kernel.
- bcache dezvoltat și utilizat Google a fost integrat Bcache vă permite să stocați în cache accesul la hard disk-uri lente pe unități SSD rapide; memorarea în cache se efectuează la nivel de dispozitiv bloc - iar acest lucru vă permite să accelerați accesul la unitate și indiferent de sistemele de fișiere utilizate pe dispozitiv.
- Nucleul poate fi compilat cu compilatorul Clang datorită patch-urilor pregătite de proiectul LLVMLinux.
- A apărut un sistem de control dinamic pentru generarea de întreruperi de cronometru. Acum, în funcție de starea curentă, puteți modifica întreruperile în intervalul de la mii de tick-uri pe secundă la o întrerupere pe secundă - acest lucru vă permite să minimizați încărcarea CPU atunci când procesați întreruperi în cazul inactivității sistemului. În prezent, această caracteristică este utilizată pentru calcularea în timp real și HPC (computing de înaltă performanță), dar în viitoarele versiuni de kernel va fi activată și pentru sistemele desktop.
- Acum este posibil să se genereze un eveniment care anunță aplicația despre abordarea epuizării memoriei disponibile pentru proces/sistem (în cgroups).
- Profilarea accesului la memorie a devenit disponibilă pentru comanda perf.
- Există un nou driver de „sincronizare” (experimental). A fost dezvoltat în cadrul platformei Android și este folosit pentru sincronizarea între alte drivere.
- A apărut un driver pentru adaptoarele video virtuale Microsoft Hyper-V (există și îmbunătățiri în funcționarea Hyper-V în ansamblu).
- Noile funcții de gestionare a energiei introduse cu procesoarele din familia AMD 16h ("Jaguar") sunt acum acceptate.
- Suport pentru decodarea video accelerată folosind decodorul hardware UVD încorporat în GPU -urile AMD moderne a fost adăugat la modulul Radeon DRM.
- S-a adăugat suport pentru protocolul RDMA (iSER) la subsistemul iSCSI .
- Execuția funcțiilor criptografice (sha256, sha512, blowfish, twofish, șarpe și camelia) este optimizată folosind instrucțiunile AVX / AVX2 și SSE .
- A fost integrat driverul de placă grafică virtuală QXL (utilizat în sistemele de virtualizare pentru ieșirea grafică accelerată folosind protocolul SPICE).
- Versiunea 3.11. - Folosit în Ubuntu 13.10
- Versiunea 3.12.
- Versiunea 3.13. - Folosit în Ubuntu 14.04
- Versiunea 3.14.
- Versiunea 3.15.
- Versiunea 3.16. - Folosit în Ubuntu 14.10
- Versiunea 3.17.
- Versiunea 3.18.
- Versiunea 3.19. - Folosit în Ubuntu 15.04
- Versiunea 4.0 [24] - modificările vizează în principal remedieri ale driverelor (media, sunet, pci, scsi target, drm, thermal), actualizări pentru arhitecturi nios2, x86 [25] .
- Câteva inovații: [26]
- instalarea actualizărilor de kernel fără a fi nevoie de o repornire;
- îmbunătățiri pentru platforma Intel „Skylake”;
- suport pentru Intel Quark SoC;
- diverse îmbunătățiri pentru Linux pe Playstation 3;
- TOpen-source suport pentru driverul AMD Radeon pentru DisplayPort Audio;
- diverse îmbunătățiri ale driverelor HID, inclusiv tastaturi compacte Lenovo, Wacom Cintiq 27QHD;
- Funcționalitatea de repaus/încărcare USB, încărcare rapidă, repaus cu muzică etc. au fost adăugate la driverele de gestionare a energiei Toshiba;
- îmbunătățiri ale sistemului de fișiere, inclusiv F2FS, BtrFS etc.
- Versiunea 4.1.
- Versiunea 4.2. - Folosit în Ubuntu 15.10
- Versiunea 4.3.
- Versiunea 4.4. - Folosit în Ubuntu 16.04
- Versiunea 4.5.
- Versiunea 4.6.
- Versiunea 4.7.
- Versiunea 4.8.
- Principalele îmbunătățiri:
- Suport AMDGPU OverDrive
- suport inițial NVIDIA Pascal
- Suport HDMI CEC
- suport complet pentru BCM2837 - SoC-ul pe care se bazează Raspberry Pi 3
- revizuire majoră a Btrfs ENOSPC
- multe îmbunătățiri de securitate
- Versiunea 4.9.
- Principalele îmbunătățiri:
- O mulțime de îmbunătățiri ale Managerului de redare directă
- Suport Greybus - subsisteme pentru interacțiunea modulelor Project Ara
- Suport pentru Intel Integrated Sensor Hub (ISH)
- Modificări semnificative ale subsistemelor de virtualizare Xen și KVM
- S-au remediat erori în btrfs și ext4
- Suport pentru procesoare Loongson 1C
- Versiunea 4.10.
- Principalele îmbunătățiri:
- O mulțime de funcții noi în sistemele de fișiere f2fs, ubifs, ext4, xfs, cifs, logf-uri eliminate
- S-a adăugat suport pentru virtio-crypto pentru oaspeții virtualizați
- Îmbunătățiri semnificative ale driverelor de grafică nouveau, amdgpu, intel și adreno
- S-a adăugat suport pentru cipurile de sunet CS35L34, CS42L42, WM8581, MSM8916 WCD, RT5665
- Tehnologia Intel GVT-g implementată, care vă permite să furnizați un GPU virtual separat pentru fiecare mediu virtual
- Rutarea segmentului (SR-IPv6) este implementată pentru IPv6
- Versiunea 4.11.
- Principalele îmbunătățiri:
- Algoritmul pentru utilizarea swap a fost reproiectat pentru SSD
- Suport OPAL pentru criptarea datelor pe NVM Express
- Apel de sistem nou statx() - stat() actualizat
- Conectarea programatoarelor de I/O la subsistemul de coadă pe mai multe niveluri pentru dispozitive bloc
- Subsistemul MD RAID 4/5/6 adaugă suport pentru jurnalizare la un NVRAM sau SSD separat
- Modificări multiple la cgroups, RCU, inotify, spații de nume, cronometre și alte subsisteme
- Versiunea 4.12.
- Principalele îmbunătățiri:
- Suport pentru dispozitive cu USB Type-C la USB 3.1
- Accelerație hardware pentru NVIDIA GTX 1050, 1060, 1070 și 1080
- S-a eliminat hd, un driver de hard disk scris de Linus și livrat începând cu versiunea de kernel 0.01
- S-a adăugat utilitarul AnalyzeBoot care generează un raport HTML la pornirea kernelului
- Suportul pentru arhitectura AVR32 a fost renunțat
- Suport pentru computere Orange Pi PC2, NVIDIA Tegra 186, i/MX28 Duckbill, Motorola DROID4, Rockchip RK3399/RK3288 și senzori de temperatură Broadcom BCM2835 (Raspberry Pi)
- Versiunea 4.13.
- Principalele îmbunătățiri:
- Subsistem adăugat pentru lucrul cu UUID/GUID
- S-a adăugat implementarea nucleului a protocolului TLS
- Suport pentru o cantitate imensă de hardware nou, inclusiv suport inițial pentru grafica Intel Cannonlake/Coffeelake, dar încă niciun driver termic Zen/Ryzen
- Numeroase îmbunătățiri ale subsistemului de disc și ale sistemelor de fișiere ext4, Btrfs, F2FS, UBIFS, XFS
- ext4 are o opțiune care crește numărul maxim de fișiere dintr-un director de la 10 milioane la 2 miliarde
- Versiunea implicită a protocolului SMB este acum 3.0, introdusă cu Windows 8
- Versiunea 4.14.
- Principalele îmbunătățiri:
- Îmbunătățiri pentru Vega în AMDGPU, suport pentru setarea modului GP108 / GT 1030 în Nouveau, adăugarea de cod pentru a funcționa cu cipurile Cannonlake „Gen 10” în driverul video Intel
- Suport HDMI CEC pentru Raspberry Pi și Allwinner Sunxi
- Numeroase îmbunătățiri ale arhitecturii Aarch64 pentru Raspberry Pi Zero W, Banana Pi și multe alte plăci, actualizări de arhitectură MIPS și deprecierea procesoarelor din seria R6000
- Limite de dimensiune RAM crescute pentru noile procesoare Intel: spațiu de adrese de până la 128 PB, RAM fizică de până la 4 PB
- Suport de compresie Zstd pentru Btrfs și SquashFS
- Suport de paralelizare în Cgroup2
- Versiunea 4.15 - folosită în Ubuntu 18.04.
- Principalele îmbunătățiri:
- Arhitectură nouă - RISC-V, drivere pentru dispozitivele RISC-V sunt așteptate în următoarea ediție
- Informațiile despre vulnerabilitățile procesorului folosit sunt acum disponibile în /sys/devices/system/cpu/vulnerabilities, acum este mai ușor să determinați expunerea la Meltdown sau Spectre
- S-a adăugat în sfârșit suport pentru senzorul de temperatură AMD Zen (Ryzen/Threadripper/EPYC), a fost adăugat suport pentru monitorizarea temperaturii Intel Coffee Lake și Cannonlake, precum și GeForce GTX 1000
- S-a adăugat driverul Radeon RX Vega
- Suport pentru noi SoC și computere cu o singură placă: Allwinner R40, Broadcom Hurricane 2, CubieBoard 6, Banana Pi M2 Ultra, Fairphone 2
- Lucrările continuă pentru remedierea „Unix Millennium Bug” - Probleme din anul 2038
- Versiunea 4.16.
- Principalele îmbunătățiri:
- Driverul vboxguest este în sfârșit acceptat în kernel. În timp ce aproape toate celelalte drivere VirtualBox nu sunt încă adoptate, funcții precum modul fără întreruperi și clipboardul partajat sunt deja disponibile.
- Suport pentru plăci unice noi: Orange Pi R1, Hummingboard2, D-Link DNS_313 și suport pentru afișaj pentru NVIDIA Jetson TX2
- Numeroase îmbunătățiri pentru blocarea driverelor de dispozitiv și a sistemelor de fișiere XFS, Btrfs și ext4
- AMDGPU acceptă acum sincronizarea cu mai multe ecrane în configurația cu mai multe monitoare, această caracteristică este activată în mod implicit pentru toate GPU-urile acceptate
- Diverse remedieri și îmbunătățiri de securitate și lucrează pentru a preveni exploatarea vulnerabilităților Spectre și Meltdown pe toate arhitecturile acceptate
- Versiunea 4.17.
- Principalele îmbunătățiri:
- Îmbunătățirea economisirii energiei cu până la 10% la anumite echipamente
- F2FS acceptă acum lost+found, iar ext4 este protejat de atacurile de către containere special concepute
- S-a curățat codul, a eliminat codul de suport pentru nouă arhitecturi vechi, a adăugat suport pentru noua arhitectură NDS32
- AMDGPU DC este acum activat implicit cu suport pentru Vega12 și AMDKFD, permițând ROCm/OpenCL să ruleze pe Polaris și Fiji
- S-a adăugat driver pentru plăcile de rețea gigabit Microchip LAN743x
- Suport pentru noi SoC-uri: Allwinner H6, NVIDIA Tegra Xavier, ST STM32MPU, NVIDIA P2972
- Versiunea 4.18 - folosită în Ubuntu 18.10.
- Principalele îmbunătățiri:
- Preveniți exploatarea vulnerabilității Spectre V4 pe ARM64 și a vulnerabilității Spectre V2 pe ARM32
- Suport inițial pentru grafica Vega 20, Vega M și Intel Icelake Gen11
- Noul subsistem BPFILTER care oferă capabilități de filtrare a pachetelor și firewall și menține compatibilitatea cu iptables
- Numeroase îmbunătățiri la implementarea USB 3.2, USB Type-C și SoundWire
- Driverul senzorului de temperatură a fost adăugat în sfârșit pentru AMD Stoney Ridge și Bristol Ridge
- Sistemul de fișiere Luster a fost eliminat din codul de bază principal, dezvoltarea lui ulterioară va fi efectuată într-o furcă
- Versiunea 4.19.
- Principalele îmbunătățiri:
- Mod alternativ DisplayPort pentru conectori USB Type-C
- Virtual KMS Driver (VKMS) permite capabilități GPU pe sistemele fără cap
- Multe remedieri și îmbunătățiri pentru a rezolva problema anului 2038, cum ar fi driverul ext4 care acceptă acum date pe 64 de biți
- Noi mecanisme de protecție Spectre pentru x86, PowerPC și S390
- Sistem de fișiere nou - EROFS, elemente interne foarte simple, performanțe foarte ridicate, dar este posibilă doar montarea doar în citire
- Multe îmbunătățiri ale subsistemului KMS pe platformele x86 și PowerPC
- Versiunea 4.20.
- Principalele îmbunătățiri:
- Apelul kexec, care permite încărcarea nucleului în memorie fără repornire, este implementat pentru arhitectura MIPS
- Suport pentru procesoarele chineze Hygon Dhyana și C-SKY
- Curățare semnificativă a codului specific GCC și eliminarea utilizării VLA pentru a permite nucleului să fie construit cu Clang
- Funcție de hibernare îmbunătățită pentru x86 pe 32 de biți
- O mulțime de remedieri legate de problema 2038
- Suport pentru vibrații în driverul controlerului Xbox One S
Arhitectură
]
Nucleul Linux acceptă multitasking , memorie virtuală , biblioteci dinamice, încărcare leneră, un sistem de gestionare a memoriei de performanță și multe protocoale de rețea .
Astăzi, Linux este un nucleu monolitic cu suport pentru module încărcate. Driverele de dispozitiv și extensiile de nucleu rulează de obicei într-un inel de protecție zero , cu acces deplin la hardware. Spre deosebire de nucleele monolitice convenționale, driverele de dispozitiv sunt ușor asamblate ca module și încărcate sau descărcate în timp ce sistemul funcționează.
Faptul că arhitectura Linux nu este un microkernel a provocat o mare dezbatere între Torvalds și Andrew Tanenbaum la conferința Minix din 1992 .
Compatibilitate
Inițial, nu a fost conceput ca un nucleu multi-platformă, kernel-ul Linux a fost acum portat pe o gamă foarte largă de arhitecturi, rulând pe o gamă largă de hardware, de la iPAQ (Pocket Computer) la IBM S/390 (High-Performance Mainframe ). ). Sistemele bazate pe Linux sunt folosite ca principale pe aproape toate supercalculatoarele (mai mult de 99% din lista TOP500 ), inclusiv pe cel mai puternic - Summit [27] . Linux a fost dezvoltat inițial pentru computere compatibile cu x86 pe 32 de biți ; Până în prezent, diferite versiuni ale nucleului Linux rulează pe următoarele arhitecturi de procesor:
- BRAT :
- Axis Communications CRIS ;
- DEC Alpha ;
- HP PA-RISC ;
- Hitachi : SuperH (SEGA Dreamcast), H8/300 ;
- IBM System/390 ;
- IBM zSeries -mainframe;
- Intel 80386 și superioare: PC IBM și procesoare compatibile:
- 80386 , 80486 și variantele AMD , Cyrix , TI și IBM;
- seria Pentium ;
- Core , Core2 Duo în versiuni pe 32 și 64 de biți;
- AMD Am5x86 , K5 , K6 , Athlon (toate versiunile pe 32 de biți), Duron ;
- AMD64 : tehnologie AMD pe 64 de biți (cunoscută și ca x86-64);
- Seria Cyrix 5x86, 6x86 (M1), 6x86MX și MediaGX (National/AMD Geode);
- VIA C3 și procesoarele ulterioare;
- suportul pentru procesoare Intel 8086 , 8088 , 80186 , 80188 și 80286 este în curs de dezvoltare (proiect ELKS);
- Microsoft Xbox ( Pentium III );
- Intel IA-64 ( Itanium );
- MIPS ;
- Motorola 68020 și mai sus:
- NEC v850e ;
- Renesas M32R ;
- PowerPC și IBM POWER :
- toate computerele Apple noi (toate echipate cu PCI Power Macintosh, suport limitat pentru NuBus Power Mac),
- clone PCI Power Mac dezvoltate de Power Computing , UMAX și Motorola;
- sisteme IBM RS/6000 , iSeries și pSeries ;
- sisteme Pegasos I și II;
- unele sisteme PowerPC încorporate;
- Qualcomm Hexagon [28]
- SPARC și UltraSPARC : stații de lucru și servere din seria Sun 4, SPARCstation / SPARCserver , Ultra , Blade și Fire .
Licență
Nucleul Linux este distribuit în conformitate cu termenii GNU General Public License , ceea ce înseamnă că este gratuit . Această licență a fost aleasă de Linus Torvalds aproape imediat după ce a devenit clar că hobby-ul său a început să se răspândească în întreaga lume. Linus este proprietarul mărcii Linux și ajută la aplicarea drepturilor sale și a termenilor GPL Free Software Foundation .
Simbol
Simbolul oficial al Linux este un pinguin numit Tux , care diferă de pinguinii „obișnuiți” prin culoarea galbenă a ciocului și a labelor sale .
Simbolul pentru versiunea 2.6.29 a nucleului este diavolul tasmanian Tuz, a cărui imagine a servit anterior drept mascota conferinței linux.conf.au din 2009. La această conferință, Linus Torvalds a organizat o vânzare caritabilă de succes a jucăriilor diavolului tasmanian Linux pentru a salva populația diavolului tasmanian. Versiunea 2.6.30 folosește vechiul logo.
Estimarea costului de dezvoltare de la zero
Costul reproiectării versiunii 2.6.0 a nucleului Linux în modul utilizat pentru dezvoltarea software-ului proprietar a fost estimat la 612 milioane USD (467 milioane EUR) la prețurile din 2004 folosind modelul de evaluare COCOMO persoană-lună [29] . În 2006, un studiu finanțat de UE a ridicat costul dezvoltării nucleului Linux la 882 milioane EUR (1,09 USD) [30] .
Acest subiect a fost discutat din nou în octombrie 2008 de Amanda McPherson, Brian Proffitt și Ron Hale-Evans. Folosind metodologia lui David E. Wheeler, ei au estimat dezvoltarea nucleului 2.6.25 la 1,3 miliarde de dolari (o fracțiune din redezvoltarea de 10,8 miliarde de dolari a Fedora 9) [31] . De asemenea, Garcia-Garcia și Alonso de Magdaleno de la Universitatea din Oviedo (Spania) au estimat creșterea anuală a costului nucleului la aproximativ 100 de milioane de euro din 2005 până în 2007. iar 225 de milioane de euro în 2008. Costul total al dezvoltării în Uniunea Europeană în 2009 este estimat la peste 1 miliard de euro (circa 1,23 miliarde de dolari SUA) [32] .
Vezi și
Componentele Kernelului Linux
Note
- ↑ https://web.archive.org/web/20150315012537/http://www.linuxfoundation.org/about
- ↑ Linux 6.0.6 - 2022.
- ↑ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/?h=v6.1-rc1
- ↑ Proiectul Linux Open Source pe Open Hub: Pagina de limbi - 2006.
- ↑ https://www.zdnet.fr/actualites/rust-fait-un-grand-pas-en-avant-en-devenant-le-deuxieme-langage-officiel-de-linux-39933753.htm
- ↑ NOTE DE VERSIUNE PENTRU LINUX v0.12
- ↑ Este oficial, Linux a fost lansat pe 17 septembrie 1991
- ↑ Proiectul Linux Open Source pe Open Hub: Pagina de licențe - 2006.
- ↑ Cum se pronunță Linux? (engleză) . Preluat la 5 martie 2008. Arhivat din original la 21 august 2011.
- ↑ Bruce Byfield. Proiectul Linux-libre întâlnește recepția stâncoasă (engleză) (downlink) . linux.com . SourceForge Inc. (1 august 2008). Preluat la 2 august 2008. Arhivat din original la 5 august 2008.
- ↑ 1 2 Ce ți-ar plăcea să vezi cel mai mult în minix? (eng.) — Postarea inițială a lui Linus Torvalds despre noul său sistem de operare pe grupul de știri comp.os.minix
- ↑ Andrew D. Balsa. Întrebări frecvente despre lista de corespondență Linux-kernel ( link mort) (12 noiembrie 2006). Preluat la 17 mai 2008. Arhivat din original la 1 iulie 2016.
- ↑ Statistici OS
- ↑ Utilizarea Linux pentru site-uri web . În mai 2020, sistemele GNU/Linux sunt utilizate de 31,3% dintre site-urile web de pe Internet. . Tehnici W3. Preluat: 4 iunie 2020.
- ↑ Listă Statistici | TOP500 site-uri de supercomputere
- ↑
De la: [email protected] (Linus Benedikt Torvalds) Grup de știri
: comp.os.minix
Subiect: Un mic sondaj despre noul meu sistem de operare
ID mesaj:<[email protected]>
Data: 25 aug 91 20:57:08 GMT
Organizație: Universitatea din Helsinki
Salutare tuturor celor care folosesc minix -
Fac un sistem de operare (gratuit) (este doar un hobby, nu la fel de mare și profesional ca GNU) pentru 386 (486) clone AT. Acest sistem a fost scris din aprilie și va fi gata în curând. Vreau feedback despre lucrurile pe care oamenii le plac/nu le plac la minix, deoarece sistemul meu de operare este similar cu acesta (același aspect al sistemului de fișiere (din motive practice, printre altele).
În prezent, am portat bash (1.08) și gcc (1.40) și acele programe par să funcționeze. Asta înseamnă că voi obține ceva practic în următoarele câteva luni și vreau să știu ce caracteristici își doresc majoritatea oamenilor. Orice sugestii sunt acceptate, dar nu promit că le voi implementa :-)
Linus ([email protected])
PS Da - nu există cod minix în el și va exista un FS cu mai multe fire. Sistemul NU ESTE PORTAT (folosește comenzi Intel 386 etc.) și probabil va suporta doar hard disk-uri AT, deoarece asta este tot ce am :-(
Text original (engleză)[ arataascunde]
salut tuturor care folosesc minix
Eu fac un sistem de operare (gratuit) (doar un hobby, nu va fi mare și profesionist ca gnu) pentru 386 (486) clone AT. Acesta se prepară din aprilie și începe să se pregătească. Aș dori orice feedback despre lucrurile pe care oamenii le plac/nu le plac în minix, deoarece sistemul meu de operare seamănă oarecum cu el (același aspect fizic al sistemului de fișiere (din motive practice), printre altele).
În prezent, am portat bash (1.08) și gcc (1.40) și lucrurile par să funcționeze. Aceasta înseamnă că voi obține ceva practic în câteva luni și aș dori să știu ce caracteristici și-ar dori majoritatea oamenilor. Orice sugestii sunt binevenite, dar nu promit că le voi implementa :-)
Linus ([email protected])
PS. Da - nu are niciun cod minix și are un fs multi-threaded. NU este portabil (folosește comutarea sarcinilor 386 etc) și probabil că niciodată
va suporta orice altceva decât harddisk-urile AT, deoarece asta este tot ce am:-(.
- ↑ [1 ]
- ↑ alt.os.linux _
- ↑ comp.os.linux _
- ↑ Gmane - Mail To News And Back Again
- ↑ Lista întreținerii Linux
- ↑ [2 ]
- ↑ [3 ]
- ↑ Oaia Ima. Linux 4.0 a fost lansat . Arhiva listei de corespondență Linux Kernel (duminică, 12 apr 2015 15:41:30). (nedefinit)
- ↑ Linus Torvalds. Re: Linux 4.0 lansat (duminică, 12 aprilie 2015 15:49:41 −0700). (nedefinit)
- ↑ JOEY-ELIJAH SNEDDON. Linux Kernel 4.0 Caracteristici Live Kernel Patching, suport PS3 . (nedefinit)
- ↑ Sandra Henry Stocker. UNIX CA A DOUA LIMBĂ: Red Hat ajunge la Summit – un nou supercomputer științific de top . Network World (8 iunie 2018). Preluat: 1 octombrie 2018.
- ↑ http://www.pcweek.ru/foss/article/detail.php?ID=136238 „Nucleul actualizat acceptă Qualcomm Hexagon DSP.”
- ↑ David A. Wheeler. Linux Kernel 2.6: Merită mai mult! . Preluat la 18 septembrie 2010. Arhivat din original la 21 august 2011. (nedefinit)
- ↑ Impactul economic al FLOSS asupra inovației și competitivității sectorului TIC al UE (link nu este disponibil) , tabelul 3 la pagina 50.
- ↑ Estimarea costului total de dezvoltare al unei distribuții Linux Arhivat la 11 iulie 2010 la Wayback Machine , tabel de la pagina 6.
- ↑ The Billion Dollar Kernel
- ↑ 9885 Linux (1994 TM14 ) . Browser JPL pentru baze de date pentru corpuri mici . JPL ( NASA ). Preluat la 23 mai 2008. Arhivat din original la 21 august 2011.
Literatură
- Torvalds, L.; Diamond, D. Pentru distracție = Doar pentru distracție. - M . : EKSMO-Press, 2002. - S. 288. - ISBN 5-04-009285-7 .
- Robert Love. Linux Kernel Development = Linux Kernel Development. - Ed. a II-a. - M . : „Williams” , 2006. - S. 448 . - ISBN 0-672-32720-1 .
- Rodriguez KZ, Fischer G, Smolsky S. Linux: ABC-ul nucleului. - "KUDITS-PRESS" , 2007. - S. 584. - ISBN 978-5-91136-017-7 .
- Barret D. Linux: comenzi de bază. Ghid de buzunar . — ediția a II-a. - „KUDITS-PRESS”, 2007. - S. 288 . — ISBN 5-9579-0050-8 .
- Mayank Sharma. Nașterea kernelului Linux // Formatul Linux . - 2016. - octombrie ( Nr. 10 (215) ). - S. 24-31 .
Link -uri
Site-uri tematice |
|
---|
Nucleul Linux |
---|
Organizare | |
---|
Tehnic | Depanare |
|
---|
Se încarcă |
|
---|
ABI |
|
---|
API | Spațiu utilizator | |
---|
Nuclei | Interfață de apel de sistem |
- POSIX
- ioctls
- Selectați
- deschis
- citit
- închide
- sincronizare
- …
- Numai pentru Linux
|
---|
în nucleu |
|
---|
|
---|
|
---|
Componente |
- initramfs
- KernelCare
- kexec
- kGraft
- kpatch
- Ksplice
|
---|
Opțiuni |
|
---|
|
---|
Adopţie | Domeniu de utilizare |
- Desktop
- Încorporat
- Jocuri
- Client slab:
- Server:
- dispozitive
|
---|
Adoptorii |
- Lista celor care adoptă Linux
- Alianța GENIVI
- Software proprietar pentru Linux
|
---|
|
---|
- Categorie
- Wikimedia Commons
- Carte
- Wikiversitate
- Portal
|
Proiectul Linux |
---|
General |
|
---|
Răspândirea |
|
---|
Aplicații |
|
---|
Personalități |
|
---|
mass media |
|
---|
Liste |
|
---|
Mobilitate |
|
---|
Alte |
|
---|