Lanso i kernelit Linux 6.0

Pas dy muaj zhvillimi, Linus Torvalds paraqiti lanson e kernelit Linux 6.0. Ndryshimi i madh i numrit të versionit është bërë për arsye estetike dhe është një hap formalisht që heq discomfort-in për shkak të akumuluar të një numri të madh lëshimesh në seri (Linus bëri shaka se arsyeja për ndryshimin e numrit të degës është se po i mbarojnë gishti në duar dhe këmbë për të numëruar numrat e versioneve). Në mesin e ndryshimeve më të dukshme janë: mbështetje për shkrimin e arsuetuar asinkron në XFS, drejtori bllokues ublk, optimizimi i planifikuesit të detyrave, mekanizmi i verifikimit të korrektësisë së kernelit, mbështetje për enkriptimin bllok ARIA.

Kryesore novacione në kernelin 6.0:

  • Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarëve
    • Në sistemin e skedarëve XFS është shtuar mbështetje për shkrimin e arsuetuar asinkron duke përdorur mekanizmin io_uring. Testet e performancës të kryera me ndihmën e instrumentit fio (1 rrjedhë, madhësia e bllokut 4kB, 600 sekonda, shkrim sekuencial), tregojnë një rritje të numrit të operacioneve të hyrjes/daljes për sekondë (IOPS) nga 77k në 209k, shpejtësinë e transferimit të të dhënave – nga 314MB/s në 854MB/s dhe rënien e vonesave nga 9600ns në 120ns (80 herë).
    • Në sistemin e skedarëve Btrfs është implementuar versioni i dytë i protokollit për komandën "send", i cili implementon mbështetje për metadatat shtesë, dërgimin e të dhënave në blloqe më të mëdha (më shumë se 64K) dhe transmetimin e ekstentëve në formë të kompresuar. Performanca e operacioneve të leximit direkt (direct read) është rritur ndjeshëm (deri në 3 herë) për shkak të leximit të përbashkët deri në 256 sektorë. Konfliktet e bllokimeve janë reduktuar dhe kontrolli i metadatas është përshpejtuar për shkak të reduktimit të metadatave të rezervuara për elementet e vonuara.
    • Në sistemin e skedarëve ext4 janë shtuar operacionet e reja ioctl-EXT4_IOC_GETFSUUID dhe EXT4_IC_SETFSUUID për nxjerrjen ose vendosjen e identifikuesit UUID, të ruajtur në superblok.
    • Në sistemin e skedarëve F2FS është propozuar një mod i konsumit të ulët të memorie, që optimizon punën në pajisjet me një sasi të vogël RAM dhe lejon reduktimin e konsumit të memories në kosto të uljes së performancës.
    • Shtuar mbështetje për autentikimin e pajisjeve NVMe.
    • сервере NFSv4 është realizuar një kufi për numrin e klientëve aktivë, i cili përcaktohet si 1024 klientë të lejuar për çdo gigabajt RAM në sistem.
    • Në realizimin e klientit CIFS është rritur performanca në modin e transmetimit të shumë-kanalshëm.
    • Në sistemin e ndjekjes së ngjarjeve në FS fanotify është shtuar një flamur i ri FAN_MARK_IGNORE për të injoruar ngjarjet specifike.
    • Në FS Overlayfs, gjatë montimit mbi FS me mapimin e identifikuesve të përdoruesve, është siguruar mbështetje e saktë për listat e kontrollit të qasjes në përputhje me POSIX.
    • Është shtuar një drejtues bllokesh ublk, i cili nxjerr logjikën specifike në procesin ndaj sfondit në hapësirën e përdoruesit dhe përdor sistemin io_uring.
  • Memorie dhe shërbime sistemike
    • Në sistemin DAMON (Monitorimi i Qasjes në Të Dhëna) janë shtuar mundësi të reja, të cilat lejojnë jo vetëm ndjekjen e qasjes së proceseve në kujtesën e operativit nga hapësira e përdoruesit, por gjithashtu të ndikojnë në menaxhimin e kujtesës. Saktësisht, është propozuar një modul i ri 'LRU_SORT', që siguron ribashkimin e listave LRU (Më së Fundi të Përdorur) për të rritur prioritetin e disa faqeve të kujtesës.
    • Është realizuar mundësia për krijimin e rajoneve të reja të kujtesës, duke përdorur mundësitë e autobusit CXL (Compute Express Link), i përdorur për organizimin e bashkëpunimit me shpejtësi të lartë midis CPU-së dhe njësive të kujtesës. CXL lejon lidhjen e rajoneve të reja të kujtesës, të ofruara nga pajisjet e jashtme të kujtesës, dhe t'i përdorë ato si resurse shtesë të hapësirës fizike adresuese për zgjerimin e kujtesës sistemike (DDR) ose kujtesës që ruhet (PMEM).
    • Janë zgjidhur problemet me performancën e sistemeve me procesorë AMD Zen, të shkaktuara nga kodi i shtuar 20 vjet më parë për të anashkaluar një problem harduerik në disa chipset-e (ishte shtuar një udhëzim shtesë WAIT, që ngadalësonte procesorin në mënyrë që chipset-i të kishte kohë të kalonte në gjendjen e qetësisë). Ky ndryshim çonte në uljen e performancës në ngarkesa, ku ndodhin shpesh kalime midis gjendjeve të qetësisë (idle) dhe aktivitetit (busy). Për shembull, pas çaktivizimit të këtij manovri, mesatarja e rezultateve të testit tbench u rrit nga 32191 MB/s në 33805 MB/s.
    • Në planifikuesin e detyrave është hequr kodi me heuristikën që siguron migracionin e proceseve në CPU me ngarkesë më të ulët duke marrë parasysh fitimin e parashikuar në konsumimin e energjisë. Zhvilluesit arritën në përfundimin se heuristika nuk ofron ndihmë të madhe dhe është më e lehtë të hiqen proceset pa vlerësime shtesë çdo herë kur një transferim i tillë mund të çojë potencialisht në uljen e konsumit të energjisë (për shembull, kur CPU qëllimor është në një nivel me konsum më të ulët). Çaktivizimi i heuristikës çoi në një ulje të konsumit të energjisë gjatë ekzekutimit të detyrave intensive, për shembull, në testin me dekodimin e videos, konsumi i energjisë u ul me 5.6%.
    • është bërë optimizimi i shpërndarjes së detyrave në bërthamat e CPU në sisteme të mëdha, duke e lejuar rritjen e produktivitetit në disa lloje ngarkesash.
    • Në ndërfaqen e inputit/zhvillimit asinkron io_uring është propozuar një flamur i ri IORING_RECV_MULTISHOT, që lejon përdorimin e modit "multi-shot" me thirrjen sistemike recv() për të kryer disa operacione të leximit nga një soket rrjetit në një herë. Në io_uring gjithashtu është realizuar mbështetje për transmetimin rrjetor pa buffer të ndërmjetëm (zero-copy).
    • Është realizuar mundësia e transferimit të programeve BPF, të lidhura me uprobe, në një gjendje gjumi. Në BPF gjithashtu është shtuar një iterues i ri ksym për të punuar me tabelat e simboleve të bërthamës.
    • është hequr ndërfaqja e vjetruar "efivars" në sysfs, e cila ishte e destinuar për qasjen në variablat e ngarkimit UEFI (për qasjen në të dhënat EFI tani përdoret gjerësisht sistemi virtual i skedarëve efivarfs).
    • Në utilitarin perf janë realizuar raporte të reja për analizimin e konflikteve të bllokimit dhe kohës që kalon procesori për të ekzekutuar komponentët e bërthamës.
    • është hequr konfigurimi CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, i cili lejonte ndërtimin e bërthamës me nivelin e optimizimit "-O3". Vërehet se eksperimentet me modet e optimizimit mund të kryhen përmes kalimit të flamujve gjatë ndërtimit ("make KCFLAGS=-O3"), dhe për të shtuar konfigurimin në Kconfig kërkohet të sigurohet profilizimi i përsëritur i performancës, i cili tregon se zhvillimi i cikleve në modin "-O3" ofron përfitim krahas nivelit të optimizimit "-O2".
    • Shtuar interfacinë debugfs për të marrë informacion mbi funksionimin e 'memory shrinker'-ave (menaxherët që thirren kur ka mungesë memorjeje dhe që paketojnë strukturat e të dhënave të bërthamës për të reduktuar konsumimin e tyre të memorjes).
    • Për arkitekturën OpenRISC dhe LoongArch është implementuar mbështetje për busin PCI.
    • Për arkitekturën RISC-V është realizuar zgjatimi 'Zicbom' për menaxhimin e pajisjeve me DMA, të cilat nuk janë në përputhje me cache-në (non-cache-coherent).
  • Virtualizimi dhe siguria
    • Shtuar mekanizmi i verifikimit RV (Verifikimi në Kohë) për të kontrolluar saktësinë e funksionimit në sisteme me besueshmëri të lartë, që garantojnë mungesën e defekteve. Kontrolli kryhet gjatë ekzekutimit përmes lidhjes së menaxherëve me pika gjurmimi, të cilat krahasojnë rrjedhën e realitetit të ekzekutimit me një model të përcaktuar paraprakisht të automatit, i cili përcakton sjelljen e pritur të sistemit. Krahasimi me modelin gjatë ekzekutimit pozicionohet si një mënyrë më e lehtë dhe e thjeshtë për t’u zbatuar në praktikë për të konfirmuar saktësinë e ekzekutimit në sisteme kritikisht të rëndësishme, duke plotësuar metodat klasike të konfirmimit të besueshmërisë. Një nga avantazhet e RV është mundësia për të siguruar verifikim të ngurtë pa zbatuar të gjithë sistemin në një gjuhë modelimi, si dhe reagim të fleksibilizuar ndaj ngjarjeve të paparashikuara.
    • Integruar komponentët e bërthamës për menaxhimin e enklavave mbi bazën e teknologjisë Intel SGX2 (Software Guard eXtensions), e cila lejon aplikacioneve të ekzekutojnë kodin në zona të izoluara dhe të enkriptuara të memorjes, ku aksesin e sistemin e mbetur është i kufizuar. Teknologjia Intel SGX2 mbështetet në çipat Intel Ice Lake dhe Gemini Lake dhe dallohet nga Intel SGX1 përmes instrukcioneve të rajave për menaxhimin dinamik të memorjes së enklavave.
    • Për arkitekturën x86 është realizuar mundësia për të transmetuar farën për gjeneratorin e numrave të rastit përmes configurimeve të bootloader-it.
    • Në modulin LSM SafeSetID është shtuar mundësia për të menaxhuar ndryshimet e bëra përmes thirrjes setgroups(). SafeSetID u lejon shërbimeve sistemike të menaxhojnë sigurt përdoruesit pa rritur privilegjet (CAP_SETUID) dhe pa marrë autorizimet e përdoruesit root.
    • Shtuar mbështetje për algoritmin e enkriptimit ARIA.
    • Në modulin e menaxhimit të sigurisë mbi bazën e BPF është realizuar mundësia për të lidhur menaxherët me procese të veçanta dhe grupe procesesh (cgroup).
    • Është shtuar mekanizmi me realizimin e watchdog për të përcaktuar ngjarjet e sistemit mysafir duke u bazuar në monitorimin e aktivitetit të vCPU.
  • Sistemi rrjetor
    • Në nën-sistemin BPF janë shtuar trajtues për gjenerimin dhe verifikimin e SYN cookies. Është shtuar gjithashtu një grup funksionesh (kfunc) për qasje dhe ndryshim të gjendjes së lidhjeve.
    • Në grafikën pa kabllo është shtuar mbështetje për mekanizmin MLO (Multi-Link Operation), i përcaktuar në specifikimin WiFi 7, i cili lejon pajisjet të marrin dhe dërgojnë të dhëna njëkohësisht duke përdorur frekuenca dhe kanale të ndryshme, për shembull, për të vendosur disa kanale komunikimi mes pikës së qasjes dhe pajisjes klient.
    • Është rritur performanca e implementimit të protokollit TLS të integruar në bërthamë.
    • Është shtuar parametri i linjës së komandave të bërthamës "hostname=", që lejon caktimin e emrit të hostit në fazën e hershme të ngarkimit, përpara se komponentët e hapësirës së përdoruesit të startohen.
  • Pajisje
    • Në drejtuesin i915 (Intel) është siguruar mbështetje për kartat grafike të dedikuara Intel Arc (DG2/Alchemist) A750 dhe A770. Është ofruar një implementim fillestar i mbështetjes për GPU Intel Ponte Vecchio (Xe-HPC) dhe Meteor Lake. Është vazhduar puna për mbështetje të platformës Intel Raptor Lake.
    • Në drejtuesin amdgpu është vazhduar puna për të siguruar mbështetje për platformat AMD RDNA3 (RX 7000) dhe CDNA (Instinct).
    • Në drejtuesin Nouveau është riparuar kodi i mbështetjes për motorët e ekranit GPU NVIDIA nv50.
    • Është shtuar një drejtues i ri DRM logicvc për ekranet LogiCVC.
    • Në drejtuesin v3d (për GPU Broadcom Video Core) është realizuar mbështetje për kartat Raspberry Pi 4.
    • Në drejtuesin msm është shtuar mbështetje për GPU Qualcomm Adreno 619.
    • Në drejtuesin Panfrost është shtuar mbështetje për GPU ARM Mali Valhall.
    • Është shtuar mbështetje fillestare për procesorët Qualcomm Snapdragon 8cx Gen3, të përdorur në laptopët Lenovo ThinkPad X13s.
    • Janë shtuar drejtues të zërit për platformat AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake dhe Mediatek MT8186.
    • Është shtuar mbështetje për akceleratorët e sistemeve të mësimit në Intel Habana Gaudi 2.
    • Është shtuar mbështetje për ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530 dhe Google Chameleon v3.

Në të njëjtën kohë, Fondi Latin Amerikan i Softuerit të Lirë ka formuar variantin e plotë të lirë të kernelit 6.0 — Linux-libre 6.0-gnu, i pastruar nga elementët e firmware-it dhe drejtorëve që përmbajnë komponente ose kode të pa-lira, të cilat janë të kufizuara nga prodhuesi. Në këtë version të ri, është ndaluar përdorimi i blob-ave në drejtorin CS35L41 HD-audio dhe në drejtorin me ndërfaqen UCSI për mikro-kontrollerët STM32G0. Janë pastruar skedarët dts për çipat Qualcomm dhe MediaTek. Rregullimi i ndalimit të blob-ave në drejtorin MediaTek MT76 është rindërtuar. Kodi i pastrimit të blob-ave në drejtorët dhe nën-sistemet AMDGPU, Adreno, Tegra VIC, Netronome NFP dhe Habanalabs Gaudi2 është azhurnuar. Pastrimi i drejtorit VXGE është ndalur, i cili është hequr nga kernel-i.

Burimi: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster