Kernelaren kaleratzea Linux 5.6

Bi hilabeteko garapenaren ondoren, Linus Torvalds aurkeztu nukleoa askatzea Linux 5.6Aldaketa aipagarrienen artean: VPN interfazearen integrazioa WireGuard, USB4 euskarria, denbora-izen-espazioak, BPF erabiliz TCP kongestio-kudeatzaileak sortzeko gaitasuna, MultiPath TCP-ren hasierako euskarria, 2038. urteko arazoaren kernel-konponketa, "bootconfig" mekanismoa, ZoneFS.

Bertsio berriak 13702 garatzaileren 1810 konponketa biltzen ditu,
adabakiaren tamaina - 40 MB (aldaketak 11577 fitxategiri eragin die, 610012 kode lerro gehitu dira,
294828 errenkada kendu dira). 45an aurkeztutako guztien %5.6 inguru
aldaketak gailu kontrolatzaileekin lotuta daude, aldaketen %15 gutxi gorabehera
Hardware-arkitekturari dagokion kodea eguneratzeko jarrera, %12.
sareko pilari dagozkio, % 4 fitxategi-sistemei eta % 3 barnekoei
nukleoaren azpisistemak.

Nagusia berrikuntzak:

  • Sarearen azpisistema
    • Gehituta VPN interfazearen inplementazioa WireGuard, enkriptazio-metodo modernoetan (ChaCha20, Poly1305, Curve25519, BLAKE2s) oinarrituta inplementatzen dena, erabiltzeko erraza da, konplikaziorik gabekoa, hainbat inplementazio handitan frogatu du bere gaitasuna eta errendimendu oso handia eskaintzen du (3,9 aldiz azkarragoa OpenVPN errendimenduaren arabera). WireGuard Enkriptazio-giltzen bideratzearen kontzeptua erabiltzen da, eta horrek gako pribatu bat sare-interfaze bakoitzari lotzea eta loturarako gako publikoak erabiltzea dakar. Konexio bat ezartzeko gako publikoen trukea SSHren antzekoa da. Funtzionamendurako beharrezkoa. WireGuard kriptografia-primitiboak Ginen eraman liburutegitik zinc Crypto API estandarraren zati gisa eta barne muinean sartu 5.5.
    • Hasita MPTCP (MultiPath TCP) euskarrirako beharrezkoak diren osagaien integrazioa. TCP protokoloaren luzapena da, TCP konexioak antolatzeko, hainbat ibilbidetan zehar paketeak aldi berean bidaltzeko, IP helbide desberdinetara lotutako sare-interfaze desberdinen bidez. Sareko aplikazioetarako, halako konexio agregatu bat TCP konexio arrunt gisa agertzen da, eta jarioen bereizketa-logika guztia MPTCP-k egiten du. Multipath TCP erabil daiteke bai errendimendua zabaltzeko, bai fidagarritasuna hobetzeko. Adibidez, MPTCP erabil daiteke datu-transferentzia telefono batean antolatzeko, bai WiFi eta 4G loturak erabiliz, edo kostuak murrizteko, zerbitzari bat hainbat lotura merkea erabiliz konektatuz, lotura garesti baten ordez.
    • Gehituta sch_ets sareko ilara prozesatzeko diziplinaren laguntza (Transmisioaren hautaketa hobetua, IEEE 802.1Qaz), banda-zabalera trafiko-klase desberdinen artean banatzeko gaitasuna ematen duena. Trafiko-klase jakin baten karga esleitutako banda-zabalera baino txikiagoa bada, ETS-k beste trafiko-klase batzuei eskuragarri dagoen (erabili gabeko) banda-zabalera erabiltzea ahalbidetzen die. Qdisc sch_ets PRIO diziplina gisa konfiguratuta dago eta trafiko-klaseak erabiltzen ditu banda-zabalera muga zorrotzak eta partekatuak definitzeko. ETS diziplinen konbinazio gisa funtzionatzen du. AURRETIK и DRR — trafiko klaseak zorrotz mugatuak badira, PRIO erabiltzen da, baina ilaran trafikorik ez badago, DRR gisa funtzionatzen du.
    • BPF programa mota berri bat gehitu da BPF_PROG_MOTA_ESTRUKTURA_OPS, eta horrek kernel funtzioen kudeatzaileak BPF bidez inplementatzea ahalbidetzen du. Gaitasun hau orain erabil daiteke TCP pilaketa kontrolerako algoritmoak BPF programa gisa inplementatzeko. Adibidez, proposatu BPF programa algoritmoaren inplementazioarekin DCTCP.
    • Muinean onartua. aldaketak, itzulpen tresnak tresna etnikoa ioctl() erabiliz erabiltzeko sare-lotura interfazeaInterfaze berriak luzapenak gehitzea errazten du, erroreen kudeaketa hobetzen du, egoera aldatzen denean jakinarazpenak bidaltzea ahalbidetzen du, nukleoaren eta erabiltzaile-espazioaren arteko elkarrekintza errazten du eta sinkronizatu beharreko izendatutako zerrenden kopurua murrizten du.
    • Flow Queue PIE (FQ-PIE) sareko ilara kudeatzeko algoritmoaren inplementazio bat gehitu da. Algoritmo hau tarteko paketeen buffering-ak ertzeko sareko ekipamenduan duen eragin negatiboa (bufferbloat) murrizteko diseinatuta dago. FQ-PIE-k eraginkortasun handia erakusten du kable-modem sistemetan erabiltzen denean.
  • Disko azpisistema, I/O eta fitxategi sistemak
    • Btrfs fitxategi-sistemarako gehitu DISCARD eragiketaren inplementazio asinkronoa (fisikoki gorde ezin daitezkeen bloke askatuak markatzea). Hasieran, DISCARD eragiketak sinkronoki egiten ziren, eta horrek errendimendu-zigorra ekar zezakeen unitateek dagokien komandoak bete arte itxaroteagatik. Inplementazio asinkronoak unitateak DISCARD bete arte itxarotearen beharra ezabatzen du eta eragiketa hau atzeko planoan egitea ahalbidetzen du.
    • XFSn egindako 32 biteko denbora-kontagailu zaharrak erabiltzen zituen kodea garbitu da (time_t mota time64_t-rekin ordezkatu da), 2038. urteko arazoa sortuz. 32 biteko plataformetan gertatzen ziren erroreak eta memoria-ustelkeriak konpondu dira. Atributu hedatuak kudeatzeko kodea berregituratu da.
    • ext4 fitxategi sistemara sartu Irakurketa eta idazketa eragiketetan inodoen blokeoaren kudeaketarekin lotutako errendimendu optimizazioak. Berridazketa errendimendua hobetu da Direct I/O moduan. Arazoen diagnostikoa errazteko, lehen eta azken errore kodeak superblokean gordetzen dira orain.
    • F2FS fitxategi sisteman ezarrita Datuak formatu konprimituan gordetzeko gaitasuna. Konpresioa fitxategi edo direktorio indibidual baterako gaitu daiteke "chattr +c file" edo "chattr +c dir; touch dir/file" komandoa erabiliz. Partizio oso bat konprimitzeko, erabili muntaketa utilitatean "-o compress_extension=ext" aukera.
    • Fitxategi-sistema kernelean hartu da ZoneFS, eta horrek zonifikatutako biltegiratze gailuekin maila baxuko lana errazten du. Zonatutako unitateak disko gogorrak edo NVMe SSDak dira, eta biltegiratze espazioa zonetan banatzen da, eta hauek bloke edo sektore taldeak osatzen dituzte. Datuen gehiketa sekuentzialak baino ez dira onartzen, bloke talde osoa eguneratuta. Western Digitalek garatua, ZoneFS-k unitate bateko zona bakoitza fitxategi bereizi batekin lotzen du, eta fitxategi hori datuak gordinean gordetzeko erabil daiteke, sektore edo bloke mailako manipulaziorik gabe, aplikazioei fitxategi API bat erabiltzeko aukera emanez, ioctl erabiliz bloke gailura zuzenean sartu beharrean.
    • NFS-n partizioak UDP bidez muntatzea desgaituta dago lehenespenez. NFS 4.2 espezifikazioan definitzen den bezala, zerbitzarien artean fitxategiak zuzenean kopiatzeko laguntza gehitu da. "Softreval" muntatzeko aukera berri bat gehitu da, zerbitzari baten akatsen kasuan cachean gordetako atributuen balioak erabiltzea ahalbidetzen duena. Adibidez, aukera hau zehazteak NFS partizio batean bidea zeharkatzea eta cachean gordetako informaziora sartzea ahalbidetzen du zerbitzari bat erabilgarri ez dagoenean.
    • Egindako Banakako fitxategien osotasuna eta benetakotasuna kontrolatzeko erabiltzen den fs-verity mekanismoaren errendimendu optimizazioak. Irakurketa sekuentzialaren errendimendua handitu da Merkle zuhaitz bat erabiltzeari esker. FS_IOC_ENABLE_VERITY-ren errendimendua optimizatu da cache falta den baldintzetan (datu-orrialdeen aurrerapen irakurketa gaituta dago orain).
  • Birtualizazioa eta segurtasuna
    • SE modulua desgaitzeko gaitasuna zaharkituta dago.Linux funtzionamenduan zehar, eta etorkizunean, dagoeneko aktibatutako SE deskargatuzLinux debekatuta egongo da. SE desgaitzekoLinux "selinux=0" parametroa kernelaren komando-lerroan pasa beharko duzu.
    • Gehituta denbora-izen-espazioetarako laguntza, sistemaren erlojuaren egoera (CLOCK_REALTIME) edukiontzi bati lotzea ahalbidetzen duena
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), erabili zure denbora edukiontzian eta, edukiontzia beste ostalari batera migratzean, ziurtatu CLOCK_MONOTONIC eta CLOCK_BOOTTIME balioak aldatu gabe mantentzen direla (kontuan hartu abiarazi ondorengo denbora, lo moduan egotea kontuan hartu edo ez).
    • /dev/random blokeatze-multzoa kendu da. /dev/random-en portaera /dev/urandom-enaren antzekoagoa da, multzoaren hasieraketaren ondoren entropia blokeatzea saihesteko orduan.
    • Nukleo nagusiak VirtualBox exekutatzen duten gonbidatu-sistemei ostalari-inguruneak esportatutako direktorioak (VirtualBox Shared Folder) muntatzeko aukera ematen dien kontrolatzaile bat dauka.
    • Adabaki multzo bat gehitu zaio BPF azpisistemari (BPF bidaltzailea), Spectre V2 erasoen aurka babesteko Retpoline mekanismoa erabiltzearen testuinguruan, BPF programei deitzeko eraginkortasuna handitzea ahalbidetzen du, haiekin lotutako gertaerak gertatzen direnean (adibidez, XDP kudeatzaileen deitzea bizkortzea ahalbidetzen du sareko pakete bat iristen denean).
    • AMD APUen TEE (Trusted Execution Environment) ingurune integratuak onartzeko kontrolatzailea gehitu da.
  • Memoria eta sistema zerbitzuak
    • BPF-k funtzio globalen euskarria gehitu du. Garapen hau BPF programetan sar daitezkeen funtzio liburutegien euskarria gehitzeko ekimen baten parte da. Hurrengo urratsa luzapen dinamikoen euskarria izango da, funtzio globalak kargatzea ahalbidetuz, baita dauden funtzio globalak erabiltzen ari diren bitartean ordezkatzea ere. BPF azpisistemak mapa eragiketaren aldaera baten euskarria ere gehitu du (datu iraunkorrak gordetzeko erabiltzen dena), batch exekuzioa onartzen duena.
    • -k gehitua "cpu_cooling" gailuak gehiegi berotutako CPU bat hozteko aukera ematen dizu, denbora tarte laburretarako inaktibo egoeran jarriz.
    • Sistema-deia gehitu da ireki2(), fitxategien bideen bereizmena mugatzeko bandera multzo gehigarri bat eskaintzen duena (muntaketa puntuen gurutzaketak, esteka sinbolikoak, esteka magikoak (/proc/PID/fd), "../" osagaiak) saihestea.
    • big.LITTLE arkitekturan oinarritutako sistema heterogeneoetarako, txipa bakarrean CPU nukleo indartsuak eta energia-eraginkortasun gutxiagokoak konbinatuz, uclamp_min parametroa denbora errealeko zereginak exekutatzean ezartzen da (agertu (5.3 kernelean, karga finkatzeko mekanismoa). Parametro honek ziurtatzen du zeregina programatzaileak programatuko duela errendimendu nahikoa duen CPU nukleo batean.
    • Kernel-a askatzen da 2038ko arazoak. Ordeztu dira 32 biteko (signed int) time_t mota erabiltzen zuten azken kudeatzaileak, denbora-kontagailu epokalerako, zeinak, 1970eko txostena kontuan hartuta, 2038an gainezka egin beharko lukeen.
    • S/I interfaze asinkronoaren hobekuntza jarraitua io_uring, zeinetan emandako eragiketa berrietarako laguntza: IORING_OP_FALLOCATE (eremu hutsak erreserbatu), IORING_OP_OPENAT,
      IORING_OP_IREKITA2,
      IORING_OP_CLOSE (fitxategiak ireki eta ixten),
      IORING_OP_FILES_UPDATE (fitxategiak sarbide azkarreko zerrendatik gehitzea eta kentzea),
      IORING_OP_STATX (fitxategiaren informazio kontsulta),
      IORING_OP_IRAKURKETA,
      IORING_OP_WRITE (IORING_OP_READV eta IORING_OP_WRITEV-ren analogo sinplifikatuak),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (posix_fadvise eta madvise deien aldaera asinkronoak), IORING_OP_SEND,
      IORING_OP_RECV (sareko datuak bidaltzea eta jasotzea),
      IORING_OP_EPOLL_CTL (epoll fitxategi deskriptoreetan eragiketak egiten).
    • Sistema-deia gehitu da pidfd_getfd(), eta horri esker, prozesu batek beste prozesu batetik fitxategi ireki baten fitxategi-deskriptorea berreskura dezake.
    • Inplementatua "bootconfig" mekanismoak kernelaren parametroak konfigurazio fitxategi baten bidez definitzea ahalbidetzen du, komando-lerroko aukerekin batera. Bootconfig utilitatea fitxategi horiek initramfs irudira gehitzeko diseinatuta dago. Ezaugarri hau erabil daiteke, adibidez, abiaraztean kprobeak konfiguratzeko.
    • Berriz landua Izenik gabeko hodietatik datuak idatzi eta irakurri arte itxaroteko mekanismo bat. Aldaketa honek proiektu handien paraleloan eraikitako zereginen errendimendua hobetu du. Hala ere, optimizazio honek lasterketa-baldintza bat sor dezake GNU Make-n, 4.2.1 bertsioko akats baten ondorioz, 4.3 bertsioan konpondu zena.
    • PR_SET_IO_FLUSHER bandera gehitu zaio prctl() funtzioari, memoria askatzen ari diren prozesuak memoria gutxiko murrizketen menpe ez daudela markatzeko erabil daitekeena.
    • Erabilitako teknologian oinarrituta Android ION memoria esleipen sistemak azpisistema bat dauka inplementatuta dma-buf pilak, eta horri esker, DMA bufferren esleipena kudeatu dezakezu memoria-eremuak kontrolatzaileen, aplikazioen eta hainbat azpisistemaren artean partekatzeko.
  • Hardware arkitekturak
    • ARMv8.5-en sartutako E0PD luzapenaren euskarria gehitu da eta CPUan argibideen exekuzio espekulatiboa dakarten erasoen aurkako babesa ahalbidetzen du. E0PD oinarritutako babesak KPTI (Kernel Page Table Isolation) babesak baino gainkarga txikiagoa dakar.
    • ARMv8.5 arkitekturan oinarritutako sistemetarako RNG instrukzioaren euskarria gehitu da, hardware ausazko zenbaki-sortzaile baterako sarbidea ematen duena. Kernelean, RNG instrukzioa entropia sortzeko erabiltzen da kernelak emandako ausazko zenbaki-sortzailea hasieratzean.
    • Kernelean gehitutako MPX (Memory Protection Extensions) euskarria kendu da. 3.19 eta erakusleak memoria-mugak betetzen direla egiaztatzeko aukera ematen du. Teknologia hau ez zen konpiladoreek asko erabili eta GCCtik kendu zen.
    • RISC-V arkitekturarako, KASan (Kernel address sanitizer) arazketa tresnaren euskarria ezarri da, memoriarekin lan egitean akatsak detektatzeko aukera ematen duena.
  • Оборудование
    • Espezifikazioen laguntza ezarri da USB 4.0, Thunderbolt 3 protokoloan oinarrituta dagoena eta 40 Gbps-ko abiadura eskaintzen duena, USB 2.0 eta USB 3.2-rekin atzeranzko bateragarritasuna mantenduz. Honen antzekoa Thunderbolt USB 4.0 interfazeak protokolo desberdinak tunelizatzea ahalbidetzen du konektore bakarra duen kable bakar baten bidez. Mota-C, PCIe, Display Port eta USB 3.x barne, baita protokoloen software inplementazioak ere, hala nola ostalarien arteko sareko loturak ezartzekoak. Inplementazioa kernelean dagoeneko sartuta dagoenean oinarritzen da. Linux Thunderbolt kontrolatzailea eguneratu eta USB4-rekin bateragarriak diren ostalari eta gailuekin funtzionatzeko egokitu da. Aldaketek Thunderbolt 3 gailuen euskarria ere gehitzen diote Connection Manager-en software inplementazioari, eta azken honek hainbat gailu portu bakar baten bidez konektatzeko tunelak sortzeaz arduratzen da.
    • Amdgpu kontrolatzailean gehitu HDCP 2.x (High-bandwidth Digital Content Protection) kopia-babes teknologiaren hasierako laguntza. Raven 2-n oinarritutako AMD Pollock ASIC txiparen laguntza gehitu da. Renoir eta Navi familien GPU berrezartzeko gaitasuna inplementatu da.
    • Intel txartel grafikoetarako DRM kontrolatzailean gehitu DSI VDSC euskarria Ice Lake eta Tiger Lake mikroarkitekturan oinarritutako txipentzat, LMEM mmap (gailuaren tokiko memoria) inplementatua, VBT (Video BIOS Table) parsing-a hobetua, HDCP 2.2 euskarria inplementatua Coffee Lake txipentzat.
    • amdkfd kontrolatzailearen kodea (Fiji, Tonga, Polaris bezalako GPU diskretuetarako) amdgpu kontrolatzailearekin bateratzeko lanean jarraitu zen.
    • k10temp kontrolatzailea berritu da AMD Zen CPUetarako tentsio eta korronte parametroen irteera onartzeko, baita Zen eta Zen 2 CPUetan erabiltzen diren tenperatura sentsoreen informazio zabalagoa ere.
    • Gidari berrian. gehitu Turing mikroarkitekturan (GeForce RTX 2000) oinarritutako NVIDIA GPUetarako egiaztatutako firmware deskargatzeko moduaren euskarria, txartel horientzako 3D azelerazio euskarria gaitzen duena (NVIDIAren sinadura digitala duen firmware ofiziala deskargatzea eskatzen du). TU10x grafiko-motorraren euskarria gehitu da. HD Audioarekin zeuden arazoak konpondu dira.
    • Datuen konpresioaren euskarria gehitu da DisplayPort MST (Multi-Stream Transport) bidez transmititzean.
    • Gidari berria gehitu da "ath11k» 802.11ax euskarria duten Qualcomm haririk gabeko txipetarako.
      Kontrolatzailea mac80211 pilan oinarritzen da eta sarbide puntu, lan-estazio eta sareko nodo moduak onartzen ditu.
    • sysfs-ek disko gogor eta SSD modernoetan erabiltzen diren tenperatura sentsoreen irakurketa irakurgarrietarako sarbidea ematen du.
    • Aurkeztua ALSA soinu-sisteman aldaketa esanguratsuak, kodea askatzeko helburuarekin 2038ko arazoak (snd_pcm_mmap_status eta snd_pcm_mmap_control interfazeetan 32 biteko time_t mota erabiltzeari utziz). Audio kodek berrietarako euskarria gehitu da.
      Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.
    • Gehituta LCD paneletarako kontrolatzaileak Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Zorrotz LS020B1DD01D.
    • Gehituta ARM plaka eta Gen1 plataformetarako euskarria: Amazon Echo (OMAP3630 oinarriduna), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 liburu elektronikoen irakurgailua
      Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX eta HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
      Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
      ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863A, Qualcomm SC7180. Raspberry Pi 4-n erabiltzen den PCIe kontrolagailurako euskarria gehitu da.

Aldi berean, Latinoamerikako Software Librearen Fundazioa eratu
aukera guztiz doako nukleoa 5.6 - Linux-libre 5.6-gnu, firmware eta kontrolatzaile elementuetatik garbituta, jabedun osagaiak edo esparru mugatuko kode atalak dituztenak. Bertsio berriak blob kargatzea desgaitzen du AMD TEE, ATH11K eta Mediatek SCP kontrolatzaileetarako. Blob garbiketa kodea eguneratu da AMD PSP, amdgpu eta nouveau kontrolatzaile eta azpisistemetarako.

Iturria: opennet.ru

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak 🔥 Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster