Lëshimi i bërthamës Linux 5.1

Pas dy muajsh zhvillimi Linus Torvalds prezentoi lëshimi i bërthamës Linux 5.1. Ndër ndryshimet më të dukshme janë: një ndërfaqe e re për hyrje/ dalje asinkrone io_uring, mundësia e përdorimit të NVDIMM si RAM, mbështetje për memorie virtuale të ndarë në Nouveau, mbështetje për monitorimin e shkallëzueshëm të sistemeve të mëdha të skedarëve përmes fanotify, mundësia e konfigurimit të niveleve të kompresionit Zstd në Btrfs, një trajtim i ri cpuidle TEO, implementimi i thirrjeve sistemike për të zgjidhur problemin e vitit 2038, mundësia e boot-it nga pajisjet device-mapper pa initramfs, moduli LSM SafeSetID, mbështetje për patch të bashkuar live.

Ndryshimet kryesore risitë:

  • Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarĂ«ve
    • Krijuar njĂ« ndĂ«rfaqe tĂ« re pĂ«r hyrje/ dalje asinkrone — io_uring, e cila Ă«shtĂ« e njohur pĂ«r mbĂ«shtetje tĂ« polling-ut tĂ« hyrjes/ daljeve dhe mundĂ«sinĂ« e punĂ«s si me buferim ashtu edhe pa buferim. KujtojmĂ« se mekanizmi i propozuar mĂ« parĂ« pĂ«r hyrje/ dalje asinkrone "aio" nuk mbĂ«shteste hyrje/ dalje me buferim, mund tĂ« punonte vetĂ«m nĂ« modalitetin O_DIRECT (pa buferim dhe pĂ«r tĂ« anashkaluar cache-in), kishte probleme me bllokimin pĂ«r shkak tĂ« pritjes sĂ« disponueshmĂ«risĂ« sĂ« metadatas dhe tregonte shpenzime tĂ« larta pĂ«r shkak tĂ« kopjimit tĂ« tĂ« dhĂ«nave nĂ« memorie.

      Në kuadër të API
      io_uring zhvilluesit përpiqen të eliminojnë mangësitë e ndërfaqes së vjetër aio. Sipas performancës io_uring është shumë i afërt me SPDK dhe e tejkalon ndjeshëm libaio kur punon me polling aktiv. Për përdorimin e io_uring në aplikacionet përfundimtare që punojnë në hapësirën e përdoruesit, është përgatitur një bibliotekë liburing, e cila ofron një paketë të nivelit të lartë mbi ndërfaqen e kernelit;

    • NĂ« mekanizmin e ndjekjes sĂ« ngjarjeve nĂ« FS fanotify() shtuar mbĂ«shtetje pĂ«r ndjekjen e situatave tĂ« ndryshimit tĂ« superblokut dhe strukturĂ«s dirent (ngjarjet e krijimit, fshirjes dhe lĂ«vizjes sĂ« katalogĂ«ve). MundĂ«sitĂ« e paraqitura ndihmojnĂ« nĂ« zgjidhjen e problemeve me shkallĂ«zueshmĂ«rinĂ«, qĂ« ndodhin gjatĂ« krijimit tĂ« ndjekjeve rekursive pĂ«r ndryshime nĂ« sisteme tĂ« mĂ«dha skedarĂ«sh pĂ«rmes mekanizmit inotify (ndryshimet nĂ« dirent mĂ« parĂ« mund tĂ« ndiqeshin vetĂ«m pĂ«rmes inotify, por
      efikasiteti në kushtet e ndjekjes rekursive të katalogëve të mëdhenj la për të dëshiruar). Tani ky monitorim mund të bëhet me efikasitet përmes fanotify;
    • NĂ« sistemin e skedarĂ«ve Btrfs shtuar mundĂ«sia e konfigurimit tĂ« niveleve tĂ« kompresionit pĂ«r algoritmin zstd, i cili mund tĂ« konsiderohet si njĂ« kompromis optimal, midis lz4 tĂ« shpejtĂ« por tĂ« papĂ«rshtatshĂ«m dhe xz tĂ« ngadaltĂ« por me kompresim tĂ« mirĂ«. Siç ishte mĂ« parĂ« e mundur tĂ« vendoset niveli i kompresionit kur aplikohej zlib pĂ«r zstd Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionin e montimit "-o compress=zstd:level". NĂ« testimin e nivelit tĂ« parĂ« minimal u arrit kompresimi i tĂ« dhĂ«nave me 2.658 herĂ« me shpejtĂ«si kompresimi 438.47 MB/s, shpejtĂ«si shpĂ«rbĂ«rjeje 910.51 MB/s dhe konsum tĂ« memories 780 MB, ndĂ«rsa niveli maksimal 15 arriti 3.126 herĂ«, por me shpejtĂ«si kompresimi 37.30 MB/s, shpĂ«rbĂ«rjeje 878.84 MB/s dhe konsum tĂ« memories 2547 MB;
    • Shtuar mundĂ«sia e boot-it nga sistemi i skedarĂ«ve, i vendosur nĂ« pajisjen device-mapper, pa pĂ«rdorimin e initramfs. Duke filluar nga lĂ«shimi aktual i kernelit pajisjet device-mapper mund tĂ« pĂ«rdoren drejtpĂ«rdrejt nĂ« procesin e boot-it, pĂ«r shembull, si njĂ« ndarje me FS-nĂ« e rrĂ«njĂ«s. Konfigurimi i ndarjes realizohet pĂ«rmes parametrave tĂ« boot-it "dm-mod.create". Mes moduleve tĂ« lejuara pĂ«r boot janĂ«: "crypt", "delay", "linear", "snapshot-origin" dhe "verity";
    • NĂ« sistemin e skedarĂ«ve tĂ« orientuar drejt memorie flash F2FS Ă«shtĂ« shtuar flaga F2FS_NOCOW_FL, qĂ« lejon ndalimin e modit copy-on-write pĂ«r njĂ« skedar tĂ« caktuar;
    • Nga kernel Ă«shtĂ« hequr sistemi i skedarĂ«ve Exofs, i cili pĂ«rfaqĂ«son njĂ« variant tĂ« ext2, i adaptuar pĂ«r punĂ« me depozita objektive OSD (Object-based Storage Device). Po ashtu Ă«shtĂ« hequr mbĂ«shtetje pĂ«r protokollin SCSI pĂ«r pajisjet e tilla tĂ« ruajtjes objektive;
  • Virtualizimi dhe siguria
    • NĂ« prctl() Ă«shtĂ« shtuar opsioni PR_SPEC_DISABLE_NOEXEC pĂ«r menaxhimin e ekzekutimit spekulativ tĂ« instrukcioneve pĂ«r procesin e zgjedhur. Opsioni i ri lejon pĂ«rjashtimin selektiv tĂ« ekzekutimit spekulativ pĂ«r proceset qĂ« potencialisht mund tĂ« sulmohen nga njĂ« sulm i tipit Spectre. Bllokimi qĂ«ndron nĂ« fuqi deri nĂ« thirrjen e parĂ« tĂ« exec();
    • NdĂ«rhyrĂ« Ă«shtĂ« realizuar modul LSM SafeSetID, qĂ« i lejon shĂ«rbimeve sistemike tĂ« menaxhojnĂ« nĂ« mĂ«nyrĂ« tĂ« sigurt pĂ«rdoruesit pa rritur privilegjet (CAP_SETUID) dhe pa fituar autoritetet e pĂ«rdoruesit root. SaktĂ«simi i privilegjeve bĂ«het pĂ«rmes pĂ«rcaktimit nĂ« securityfs tĂ« rregullave mbi bazĂ«n e listĂ«s sĂ« bardhĂ« tĂ« lidhjeve tĂ« lejuara (nĂ« formĂ«n "UID1:UID2");
    • Shtuar janĂ« ndryshime tĂ« nivelit tĂ« ulĂ«t, tĂ« nevojshme pĂ«r organizimin e ngarkesĂ«s sĂ« moduleve tĂ« sigurisĂ« (LSM). Paraqitur Ă«shtĂ« parametri i ngarkesĂ«s sĂ« kernelit "lsm", qĂ« lejon menaxhimin e atyre moduleve qĂ« ngarkohen dhe renditjen e tyre;
    • NĂ« nĂ«n sistemin e auditit Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r hapĂ«sirat e emrave tĂ« skedarĂ«ve;
    • JanĂ« zgjeruar mundĂ«sitĂ« e GCC-pluginit structleak, i cili lejon bllokimin e humbjeve tĂ« mundshme tĂ« pĂ«rmbajtjes sĂ« memories. ËshtĂ« siguruar inicializimi i çdo variabli qĂ« pĂ«rdoret nĂ« kod pĂ«rmes referencave nĂ« stack;
  • Sistemi i rrjetit
    • PĂ«r socketat Ă«shtĂ« realizuar njĂ« opsion i ri "SO_BINDTOIFINDEX", i ngjashĂ«m me
      "SO_BINDTODEVICE", por që merr si argument numrin indeks të ndërfaqes rrjetërore në vend të emrit të ndërfaqes;
    • NĂ« stackun mac80211 Ă«shtĂ« shtuar mundĂ«sia pĂ«r t'i caktuar njĂ« pajisjeje disa BSSID (adresa MAC). Si pjesĂ« e projektit pĂ«r optimizimin e performancĂ«s WiFi, Ă«shtĂ« shtuar marrja nĂ« shqyrtim e shpĂ«rndarjes sĂ« kohĂ«s sĂ« ajrit dhe mundĂ«sia pĂ«r tĂ« shpĂ«rndarĂ« kohĂ«n e ajrit midis disa stacioneve (nĂ« modalitetin e pikĂ«s sĂ« qasjeve, caktimi i njĂ« kohe mĂ« tĂ« vogĂ«l pĂ«r transmetimin e stacioneve tĂ« ngadalta pa tel, nĂ« vend tĂ« shpĂ«rndarjes sĂ« barabartĂ« tĂ« kohĂ«s midis tĂ« gjitha stacioneve);
    • Shtuar mekanizmi "devlink health", i cili krijon njoftime kur ka probleme me ndĂ«rfaqen rrjetĂ«rore;
  • Kujtesa dhe shĂ«rbimet sistemore
    • Implementuar dorĂ«zimi i sigurt i sinjaleve, duke marrĂ« parasysh mundĂ«sinĂ« e ripĂ«rdorimit tĂ« PID. PĂ«r shembull, gjatĂ« thirrjes sĂ« kill, mĂ« parĂ« kishte mundĂ«si qĂ« menjĂ«herĂ« pas dĂ«rgesĂ«s sĂ« sinjalit, PID-i i synuar mund tĂ« kishte qenĂ« liroj nga pĂ«rfundimi i procesit dhe tĂ« ishte marrĂ« nga njĂ« proces tjetĂ«r, dhe pĂ«r pasojĂ«, sinjali dĂ«rgohej nĂ« njĂ« proces tjetĂ«r. PĂ«r tĂ« evituar situata tĂ« tilla, Ă«shtĂ« shtuar njĂ« thirrje e re sistemike pidfd_send_signal, e cila pĂ«rdor deshifrim tĂ« skedarĂ«ve nga /proc/pid pĂ«r tĂ« siguruar njĂ« lidhje stabile me procesin. Edhe nĂ«se PID-i ri do tĂ« pĂ«rdorej gjatĂ« trajtimit tĂ« thirrjes sistemike, deshifrimi i skedarĂ«ve nuk do tĂ« ndryshonte dhe mund tĂ« pĂ«rdorej nĂ« mĂ«nyrĂ« tĂ« sigurt pĂ«r tĂ« dĂ«rguar sinjale te procesi;
    • Shtuar mundĂ«sia e pĂ«rdorimit tĂ« pajisjeve tĂ« memories sĂ« pĂ«rhershme (persistent-memory, pĂ«r shembull NVDIMM) si RAM. Deri mĂ« tani, nĂ« bĂ«rthamĂ« kĂ«to pajisje ishin mbĂ«shtetur si pajisje ruajtjeje, por tani mund tĂ« pĂ«rdoren gjithashtu si RAM shtesĂ«. Kjo mundĂ«si Ă«shtĂ« realizuar nĂ« pĂ«rgjigje tĂ« dĂ«shirave tĂ« pĂ«rdoruesve qĂ« ishin tĂ« gatshĂ«m tĂ« pranonin njĂ« vonesĂ« nĂ« performancĂ« dhe dĂ«shironin tĂ« pĂ«rdornin API-nĂ« e menaxhimit tĂ« memories tĂ« bĂ«rthamĂ«s sĂ« Linux nĂ« vend tĂ« sistemeve ekzistuese pĂ«r shpĂ«rndarjen e memories nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit qĂ« funksiononin mbi mmap pĂ«r skedarin dax;
    • Ă«shtĂ« shtuar njĂ« trajtues i ri i bllokimit tĂ« CPU (cpuidle, i cili vendos se kur mund tĂ« kalojĂ« CPU nĂ« modulet e thella tĂ« kursimit tĂ« energjisĂ«, sa mĂ« i thellĂ« tĂ« jetĂ« moduli, aq mĂ« shumĂ« energji kursen, por gjithashtu Ă«shtĂ« i nevojshĂ«m mĂ« shumĂ« kohĂ« pĂ«r tĂ« dalĂ« nga moduli) - TEO (Timer Events Oriented Governor). Deri mĂ« tani, ishin ofertuar dy trajtues cpuidle - "menu" dhe "ladder", tĂ« cilĂ«t dalloheshin nga heuristika e tyre. NĂ« trajtuesin "menu" kishte probleme tĂ« njohura me marrjen e vendimeve heuristike, pĂ«r tĂ« cilat u vendos tĂ« pĂ«rgatitet njĂ« trajtues i ri. TEO pozicionohet si njĂ« alternativĂ« ndaj trajtuesit "menu", duke lejuar arritjen e performancĂ«s mĂ« tĂ« lartĂ« me ruajtjen e po tĂ« njĂ«jtit nivel energjie;
      Aktivizimi i trajtuesit të ri mund të bëhet nëpërmjet parametrave të ngarkesës "cpuidle.governor=teo";
    • NĂ« kuadĂ«r tĂ« punĂ«s pĂ«r zgjidhjen e problemit tĂ« vitit 2038, i shkaktuar nga mbipopullimi i llojit 32-bit time_t, janĂ« pĂ«rfshirĂ« thirrje sistemike qĂ« ofrojnĂ« pĂ«r arkitekturĂ«n 32-bit numra tĂ« kohĂ«s 64-bit. NĂ« rezultat, struktura 64-bit time_t tani mund tĂ« pĂ«rdoret nĂ« tĂ« gjitha arkitekturĂ«n. Ndryshime tĂ« ngjashme janĂ« realizuar gjithashtu nĂ« sistemin rrjetor pĂ«r opsionet timestamp e socketave rrjetĂ«rore;
    • NĂ« sistemin e ngarkesĂ«s sĂ« nxehtĂ« tĂ« patch-ave pĂ«r bĂ«rthamĂ«n (live patching) shtuar mundĂ«sia "Atomic Replace" pĂ«r aplikimin atomik tĂ« njĂ« serie ndryshimesh nĂ« njĂ« funksion. Kjo mundĂ«si lejon shpĂ«rndarjen e patch-ave pĂ«rmbledhĂ«se qĂ« pĂ«rfshijnĂ« menjĂ«herĂ« disa ndryshime, nĂ« vend tĂ« njĂ« procesi mjaft tĂ« komplikuar pĂ«r ndjekjen e aplikimit tĂ« patch-ave live nĂ« njĂ« rend tĂ« caktuar. NĂ«se mĂ« parĂ«, çdo ndryshim i ardhshĂ«m duhej tĂ« bazohej nĂ« gjendjen e funksionit pas ndryshimit tĂ« mĂ«parshĂ«m, tani mund tĂ« shpĂ«rndahen menjĂ«herĂ« disa ndryshime qĂ« lidhen me njĂ« gjendje tĂ« vetme fillestare (dmth. ata qĂ« ofrojnĂ« mund tĂ« mbĂ«shtesin njĂ« patch tĂ« pĂ«rmbledhur nĂ« lidhje me bĂ«rthamĂ«n bazĂ« nĂ« vend tĂ« njĂ« zinxhiri tĂ« patch-ave tĂ« varur nga njĂ«ra-tjetra);
    • Ă«shtĂ« shpallur e vjetruar mbĂ«shtetje pĂ«r formatin e skedarĂ«ve ekzekutivĂ« a.out dhe
      u hoq kod për formimin e skedarëve core në formatin a.out, i cili ndodhet në një gjendje të braktisur. Formati a.out nuk aplikohet më në sistemet me Linux, dhe gjenerimi i skedarëve a.out nuk mbështetet nga mjetet moderne të konfigurimit për Linux si standard. Për më tepër, ngarkuesi për skedarët a.out mund të realizohet tërësisht në hapësirën e përdoruesit;
    • Mekanizmi i verifikimit tĂ« programeve BPF ka shtuar mundĂ«sinĂ« pĂ«r tĂ« identifikuar dhe eliminuar kodin e papĂ«rdorur. NĂ« bĂ«rthamĂ« janĂ« pĂ«rfshirĂ« gjithashtu patch-e me mbĂ«shtetje pĂ«r spinlock pĂ«r nĂ«n-sistemin BPF, duke ofruar mundĂ«si tĂ« tjera pĂ«r menaxhimin e ekzekutimit tĂ« paralel BPF;
  • Pajisjet
    • NĂ« drejtuesin Nouveau shtuar mbĂ«shtetje pĂ«r menaxhimin heterogjen tĂ« memories, duke ofruar mundĂ«sinĂ« qĂ« CPU dhe GPU tĂ« kenĂ« qasje nĂ« zona tĂ« pĂ«rbashkĂ«ta tĂ« sinkronizuara tĂ« memories. Sistemi i memories virtuale tĂ« ndarĂ« (SVM, shared virtual memory) Ă«shtĂ« realizuar mbi bazĂ«n e nĂ«n-sistemit HMM (Heterogeneous memory management), duke lejuar pĂ«rdorimin e pajisjeve me bllokade vetjake tĂ« menaxhimit tĂ« memories (MMU, memory management unit), tĂ« cilat mund tĂ« kenĂ« qasje nĂ« memorien kryesore. Gjithashtu, me anĂ« tĂ« HMM mund tĂ« organizohet njĂ« hapĂ«sirĂ« adresuese e pĂ«rbashkĂ«t ndĂ«rmjet GPU dhe CPU, ku GPU mund tĂ« ketĂ« qasje nĂ« memorien kryesore tĂ« procesit. MbĂ«shtetje pĂ«r SVM aktualisht Ă«shtĂ« e aktivizuar vetĂ«m pĂ«r GPU tĂ« familjes Pascal, megjithatĂ« mbĂ«shtetje Ă«shtĂ« siguruar edhe pĂ«r GPU Volta dhe Turing. PĂ«r mĂ« tepĂ«r, nĂ« Nouveau; u shtua ioctl i ri pĂ«r menaxhimin e migrimit tĂ« zonave tĂ« memories sĂ« proceseve nĂ« memorien e GPU;
    • NĂ« drajverin DRM tĂ« Intel pĂ«r GPU Skylake dhe mĂ« tĂ« rinjtĂ« (gen9+) aktivizuar nĂ« default Ă«shtĂ« moda fastboot, e cila pĂ«rjashton ndryshimet e panevojshme tĂ« modave gjatĂ« ngarkimit. Shtuar tĂ« reja identifikuesit e pajisjeve mbi bazĂ«n e mikroarkitekturave Coffelake dhe Ice Lake. PĂ«r çipat Coffelake shtuar mbĂ«shtetje GVT (virtualizimi i GPU). PĂ«r GPU-tĂ« virtuale Ă«shtĂ« realizuar mbĂ«shtetje VFIO EDID. PĂ«r panelet LCD MIPI/DSI shtuar mbĂ«shtetje pĂ«r elementĂ«t ACPI/PMIC. JanĂ« realizuar modet e reja TV 1080p30/50/60 TV;
    • NĂ« drajverin amdgpu Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r GPU Vega10/20 BACO. JanĂ« realizuar mjete pĂ«r menaxhimin e energjisĂ« sĂ« Vega 10/20 dhe tabela tĂ« menaxhimit tĂ« ventilatorit tĂ« Vega 10. JanĂ« shtuar identifikues tĂ« rinj PCI pĂ«r pajisjet GPU Picasso. Shtuar interfaci pĂ«r menaxhimin e varĂ«sive tĂ« planifikuara pĂ«r pĂ«rjashtimin e bllokimeve tĂ« ndĂ«rsjellta;
    • Shtuar DRAJVERI DRM/KMS pĂ«r akceleratorĂ«t e operacioneve ekranore ARM Komeda (Mali D71);
    • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r panelet ekran Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 dhe Kingdisplay kd097d04;
    • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kodekĂ«t e zĂ«rit Rockchip RK3328, Cirrus Logic CS4341 dhe CS35L36, MediaTek MT6358, Qualcomm WCD9335 dhe Ingenic JZ4725B, si dhe platformĂ«n audio tĂ« Mediatek MT8183;
    • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kontrollorĂ«t NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r akceleratorĂ«t pĂ«r sistemet e hardware-t Habana AI;
    • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kontrollorĂ«t Ethernet gigabit NXP ENETC dhe ndĂ«rfaqet wireless MediaTek MT7603E (PCIe) dhe MT76x8.

Përveç kësaj, Fondi Latinoamerikan i Softuerit të Lirë formoi
opsion nĂ« bĂ«rthama krejtĂ«sisht tĂ« lira 5.1 — Linux-libre 5.1-gnu, i pastruar nga elementet e firmware dhe drajverĂ«ve qĂ« pĂ«rmbajnĂ« komponente tĂ« pa lira ose fragmente kodi, fusha e pĂ«rdorimit tĂ« tĂ« cilave Ă«shtĂ« e kufizuar nga prodhuesi. NĂ« lĂ«shimin e ri Ă«shtĂ« çaktivizuar ngarkimi i blob-ve nĂ« drajverĂ«t mt7603 dhe goya. ËshtĂ« pĂ«rmirĂ«suar kodi pĂ«r pastrimin e blob-ve nĂ« drajverĂ«t dhe nĂ«n-sistemat wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk dhe touchscreen_dmi. Pastrimi i blob-ve nĂ« ngarkuesin e firmware-t lantiq xrx200 Ă«shtĂ« ndalur pĂ«r shkak tĂ« heqjes sĂ« tij nga bĂ«rthama.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster