Pas dy muajsh zhvillimi, Linus Torvalds publikoi bërthamën. Linux 6.0. Ky ndryshim i rëndësishëm i numrit të versionit u bë për arsye estetike dhe është një hap formal për të lehtësuar shqetësimin e shkaktuar nga akumulimi i një numri të madh të lëshimeve në seri (Linus bëri shaka se arsyeja për ndryshimin e numrit të degëve ishte më shumë sepse po i mbaronin gishtat e duarve dhe të këmbëve për të numëruar numrat e versioneve). Ndër ndryshimet më të dukshme: mbështetja për shkrimet asinkrone të buferuara në XFS, drajveri i bllokut ublk, optimizimet e planifikuesit të detyrave, një mekanizëm verifikimi i saktësisë së bërthamës dhe mbështetja për shifrën e bllokut ARIA.
Risitë kryesore në kernel 6.0:
- Nënsistemi i diskut, I/O dhe sistemet e skedarëve
- Sistemi i skedarëve XFS tani mbështet shkrime asinkrone të buferuara duke përdorur mekanizmin io_uring. Testet e performancës të kryera duke përdorur mjetin fio (1 fije, madhësi blloku 4 KB, 600 sekonda, shkrim sekuencial) tregojnë një rritje të operacioneve I/O për sekondë (IOPS) nga 77k në 209k, shpejtësitë e transferimit të të dhënave nga 314 MB/s në 854 MB/s dhe një ulje të latencës nga 9600 ns në 120 ns (një përmirësim 80-fish).
- Sistemi i skedarëve Btrfs zbaton versionin 2 të protokollit të komandës "dërgo", i cili mbështet meta të dhëna shtesë, dërgimin e të dhënave në blloqe më të mëdha (mbi 64K) dhe transferimin e shtrirjeve në formë të kompresuar. Performanca e leximit të drejtpërdrejtë është rritur ndjeshëm (deri në 3 herë) duke lejuar leximin e njëkohshëm të deri në 256 sektorëve. Konfliktet e kyçjes janë zvogëluar dhe validimi i meta të dhënave është përshpejtuar duke zvogëluar sasinë e meta të dhënave të rezervuara për elementët e shtyrë.
- Sistemi i skedarëve ext4 shton operacione të reja ioctl EXT4_IOC_GETFSUUID dhe EXT4_IC_SETFSUUID për të rikuperuar ose vendosur UUID-in e ruajtur në superbllokun.
- Sistemi i skedarëve F2FS ofron një modalitet me memorie të ulët që optimizon performancën në pajisjet me RAM të kufizuar dhe zvogëlon konsumin e memories në kurriz të performancës.
- U shtua mbështetje për autentifikimin e diskut NVMe.
- Рserver NFSv4 zbaton një limit në numrin e klientëve aktivë, i cili është vendosur në 1024 klientë të lejuar për çdo gigabajt RAM në sistem.
- Implementimi i klientit CIFS ka përmirësuar performancën në modalitetin shumëkanalësh.
- Një flamur i ri FAN_MARK_IGNORE është shtuar në nënsistemin e ndjekjes së ngjarjeve të fanotify FS për të lejuar injorimin e ngjarjeve specifike.
- Në sistemin e skedarëve Overlayfs, kur montohet mbi një sistem skedarësh me hartëzim të ID-së së përdoruesit, ofrohet mbështetje e saktë për listat e kontrollit të aksesit të pajtueshme me POSIX.
- U shtua drajveri i bllokut ublk, i cili zhvendos logjikë specifike në procesin e sfondit në hapësirën e përdoruesit dhe përdor nënsistemin io_uring.
- Shërbimet e kujtesës dhe sistemit
- Në nënsistemin DAMON (Data Access MONItor) janë shtuar aftësi të reja, duke lejuar jo vetëm monitorimin e qasjes së proceseve në RAM nga hapësira e përdoruesit, por edhe duke ndikuar në menaxhimin e memories. Në mënyrë specifike, është prezantuar një modul i ri "LRU_SORT", i cili mundëson riorganizimin e listave LRU (Least Recently Used - Më Pak të Përdorura Kohët e Fundit) për të rritur përparësinë e faqeve specifike të memories.
- Mundësia për të krijuar rajone të reja memorieje tani mbështetet duke përdorur autobusin Compute Express Link (CXL), i cili përdoret për të siguruar komunikim me shpejtësi të lartë midis CPU-së dhe pajisjeve të memories. CXL lejon që rajonet e reja të memories të ofruara nga pajisjet e jashtme të memories të lidhen dhe të përdoren si burime shtesë të hapësirës fizike të adresave për të zgjeruar memorien me akses të rastësishëm (DDR) ose memorien e përhershme (PMEM) të sistemit.
- U zgjidhën problemet e performancës me procesorët AMD Zen të shkaktuara nga kodi i shtuar 20 vjet më parë për të anashkaluar një problem hardueri në disa çipsete (u shtua një udhëzim shtesë WAIT, duke ngadalësuar procesorin në mënyrë që çipseti të mund të hynte në gjendje joaktive). Ky ndryshim rezultoi në ulje të performancës nën ngarkesa pune që shpesh alternojnë midis gjendjeve joaktive dhe të zëna. Për shembull, pas çaktivizimit të zgjidhjes alternative, rezultatet mesatare të testit të bench-it tbench u rritën nga 32191 MB/s në 33805 MB/s.
- Planifikuesi i detyrave ka hequr kodin heuristik qĂ« migron proceset nĂ« CPU-tĂ« mĂ« pak tĂ« ngarkuara bazuar nĂ« kursimet e parashikuara tĂ« energjisĂ«. Zhvilluesit arritĂ«n nĂ« pĂ«rfundimin se heuristikat nuk po ofronin pĂ«rfitimin e dĂ«shiruar dhe Ă«shtĂ« mĂ« e lehtĂ« t'i heqĂ«sh ato dhe tĂ« migrosh proceset pa vlerĂ«sim shtesĂ« sa herĂ« qĂ« njĂ« veprim i tillĂ« mund tĂ« çojĂ« potencialisht nĂ« njĂ« ulje tĂ« konsumit tĂ« energjisĂ« (pĂ«r shembull, kur CPU-ja e synuar Ă«shtĂ« nĂ« njĂ« nivel mĂ« tĂ« ulĂ«t tĂ« energjisĂ«). Ăaktivizimi i heuristikave rezultoi nĂ« ulje tĂ« konsumit tĂ« energjisĂ« gjatĂ« detyrave intensive; pĂ«r shembull, nĂ« testin e dekodimit tĂ« videos, konsumi i energjisĂ« u ul me 5.6%.
- ĂshtĂ« kryer optimizimi i shpĂ«rndarjes sĂ« detyrave nĂ«pĂ«r bĂ«rthamat e CPU-sĂ« nĂ« sisteme tĂ« mĂ«dha, gjĂ« qĂ« ka pĂ«rmirĂ«suar performancĂ«n nĂ« lloje tĂ« caktuara tĂ« ngarkesave tĂ« punĂ«s.
- Ndërfaqja asinkrone e hyrjes/daljes io_uring prezanton një flamur të ri, IORING_RECV_MULTISHOT, i cili mundëson përdorimin e modalitetit me shumë të dhëna me thirrjen e sistemit recv() për të kryer operacione të shumëfishta leximi nga një prizë e vetme rrjeti. io_uring gjithashtu zbaton mbështetje për transferimet e rrjetit me kopje zero.
- ĂshtĂ« zbatuar mundĂ«sia pĂ«r tĂ« vĂ«nĂ« programet BPF tĂ« lidhura me uprobe nĂ« gjendje gjumi. BPF ka shtuar gjithashtu njĂ« iterator tĂ« ri ksym pĂ«r tĂ« punuar me tabelat e simboleve tĂ« bĂ«rthamĂ«s.
- Ndërfaqja e vjetëruar "efivars" në sysfs, e destinuar për qasje në variablat e nisjes UEFI, është hequr (sistemi virtual i skedarëve efivarfs tani përdoret gjerësisht për të qasje në të dhënat EFI).
- Programi perf ka raporte të reja për analizimin e mosmarrëveshjeve të kyçjeve dhe kohën që procesori shpenzon duke ekzekutuar komponentët e kernelit.
- Cilësimi CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, i cili lejonte që bërthama të ndërtohej në modalitetin e optimizimit "-O3", është hequr. Vërehet se eksperimentimi me modalitetet e optimizimit mund të kryhet duke kaluar flamuj gjatë kompilimit ("make KCFLAGS=-O3"), dhe shtimi i cilësimit në Kconfig kërkon profilizim të përsëritshëm të performancës që demonstron se zhbërthimi i lakut i përdorur në modalitetin "-O3" jep një përfitim të performancës krahasuar me nivelin e optimizimit "-O2".
- U shtua një ndërfaqe debugfs për të marrë informacion në lidhje me funksionimin e "shkurtuesve të kujtesës" individualë (trajtues të thirrur kur kujtesa është e ulët dhe të cilët paketojnë strukturat e të dhënave të bërthamës për të zvogëluar konsumin e kujtesës së tyre).
- Mbështetja e autobusit PCI është zbatuar për arkitekturat OpenRISC dhe LoongArch.
- Arkitektura RISC-V zbaton zgjerimin "Zicbom" për menaxhimin e pajisjeve me DMA jo-koherent me memorien e përkohshme.
- Virtualizimi dhe Siguria
- Një mekanizëm Verifikimi në Kohën e Ekzekutimit (RV) është shtuar për të verifikuar funksionimin e saktë në sisteme shumë të besueshme që garantojnë mungesën e dështimeve. Verifikimi kryhet gjatë kohës së ekzekutimit duke bashkangjitur trajtues në pikat e gjurmimit, të cilat krahasojnë rrjedhën aktuale të ekzekutimit me një model automatik referimi determinist të paracaktuar që përcakton sjelljen e pritur të sistemit. Verifikimi në kohë ekzekutimi pozicionohet si një metodë më e lehtë dhe më e lehtë për t'u zbatuar për të konfirmuar ekzekutimin e saktë në sistemet kritike për misionin, duke plotësuar metodat klasike të verifikimit të besueshmërisë. Ndër avantazhet e RV janë aftësia për të siguruar verifikim rigoroz pa zbatuar veçmas të gjithë sistemin në një gjuhë modelimi, si dhe përgjigjet fleksibile ndaj ngjarjeve të paparashikuara.
- Janë integruar komponentë të bërthamës për menaxhimin e enklavave bazuar në teknologjinë Intel SGX2 (Software Guard eXtensions). Kjo teknologji u lejon aplikacioneve të ekzekutojnë kod në rajone të izoluara dhe të enkriptuara të memories, të kufizuara nga qasja nga pjesa tjetër e sistemit. Intel SGX2 mbështetet në procesorët Intel Ice Lake dhe Gemini Lake dhe ndryshon nga Intel SGX1 në atë që përfshin udhëzime shtesë për menaxhimin dinamik të memories së enklavave.
- Për arkitekturën x86, është zbatuar aftësia për të kaluar një seed për gjeneratorin e numrave pseudo-të rastësishëm përmes cilësimeve të bootloader-it.
- Moduli SafeSetID LSM është përditësuar për të mbështetur ndryshimet e bëra nëpërmjet thirrjes setgroups(). SafeSetID u lejon shërbimeve të sistemit të menaxhojnë në mënyrë të sigurt përdoruesit pa përshkallëzuar privilegjet (CAP_SETUID) ose pa fituar akses root.
- U shtua mbështetje për kodin bllok ARIA.
- Moduli i menaxhimit të sigurisë i bazuar në BPF zbaton aftësinë për të bashkangjitur trajtues në procese individuale dhe grupe procesesh (grupe c).
- U shtua një mekanizëm mbikëqyrës për të zbuluar bllokimet e sistemit mysafir bazuar në monitorimin e aktivitetit të vCPU-së.
- Nënsistemi i rrjetit
- NĂ« nĂ«nsistemin BPF janĂ« shtuar trajtues pĂ«r gjenerimin dhe validimin e cookie-ve SYN. ââĂshtĂ« shtuar gjithashtu njĂ« grup funksionesh (kfunc) pĂ«r aksesimin dhe modifikimin e gjendjes sĂ« lidhjes.
- Stacku pa tel tani mbështet mekanizmin MLO (Multi-Link Operation), i përcaktuar në specifikimin WiFi 7 dhe që lejon pajisjet të marrin dhe dërgojnë njëkohësisht të dhëna duke përdorur banda dhe kanale të ndryshme frekuencash, për shembull, për të krijuar kanale të shumta komunikimi midis një pike aksesi dhe një pajisjeje klienti.
- Performancë e përmirësuar e implementimit të protokollit TLS të integruar të kernelit.
- U shtua parametri i rreshtit të komandës së kernelit "hostname=" për të lejuar caktimin e emrit të hostit herët në procesin e nisjes, përpara se të nisen komponentët e hapësirës së përdoruesit.
- ĐĐ±ĐŸŃŃĐŽĐŸĐČĐ°ĐœĐžĐ”
- Drajveri i915 (Intel) shton mbĂ«shtetje pĂ«r kartat grafike diskrete Intel Arc (DG2/Alchemist) A750 dhe A770. ĂshtĂ« zbatuar mbĂ«shtetja fillestare pĂ«r GPU-tĂ« Intel Ponte Vecchio (Xe-HPC) dhe Meteor Lake. Puna vazhdon pĂ«r mbĂ«shtetjen e platformĂ«s Intel Raptor Lake.
- Drajveri amdgpu vazhdon të ofrojë mbështetje për platformat AMD RDNA3 (RX 7000) dhe CDNA (Instinct).
- Drajveri Nouveau ka ripërpunuar kodin që mbështet motorët e ekranit të GPU-së NVIDIA nv50.
- U shtua drajveri i ri DRM logicvc për ekranet LogiCVC.
- Drajveri v3d (për GPU-të Broadcom Video Core) tani mbështet pllakat Raspberry Pi 4.
- U shtua mbështetje për GPU-në Qualcomm Adreno 619 në drajverin msm.
- Drajveri Panfrost është përditësuar për të mbështetur GPU-të ARM Mali Valhall.
- U shtua mbështetja fillestare për procesorët Qualcomm Snapdragon 8cx Gen3 të përdorur në laptopët Lenovo ThinkPad X13s.
- U shtuan drajverë audio për platformat AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake dhe Mediatek MT8186.
- U shtua mbështetje për përshpejtuesit e të mësuarit automatik Intel Habana Gaudi 2.
- U shtua mbështetje për ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.
NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Fondacioni i Softuerit tĂ« LirĂ« tĂ« AmerikĂ«s Latine krijoi njĂ« version tĂ« kernelit plotĂ«sisht falas 6.0 - Linux-libre 6.0-gnu, i pastruar nga elementĂ«t e firmware-it dhe drajverit qĂ« pĂ«rmbajnĂ« komponentĂ« jo tĂ« lirĂ« ose seksione kodi me fushĂ«veprim tĂ« kufizuar. Ky version çaktivizon blob-et nĂ« drajverin CS35L41 HD-audio dhe drajverin UCSI pĂ«r mikrokontrolluesit STM32G0. SkedarĂ«t DTS pĂ«r çipat Qualcomm dhe MediaTek janĂ« pastruar. Ăaktivizimi i blob-eve nĂ« drajverin MediaTek MT76 Ă«shtĂ« ripunuar. Kodi i pastrimit tĂ« blob-eve Ă«shtĂ« pĂ«rditĂ«suar pĂ«r drajverĂ«t dhe nĂ«nsistemet AMDGPU, Adreno, Tegra VIC, Netronome NFP dhe Habanalas Gaudi2. Pastrimi i drajverit VXGE, i cili u hoq nga bĂ«rthama, Ă«shtĂ« ndĂ«rprerĂ«.
Burimi: opennet.ru
