Linux 6.0 nüvə buraxılışı

İki aylıq inkişafdan sonra Linus Torvalds Linux 6.0 nüvəsinin buraxılışını təqdim etdi. Versiya nömrəsindəki əhəmiyyətli dəyişiklik estetik səbəblərə görədir və seriyada çoxlu sayda problemin yığılması narahatlığını aradan qaldırmaq üçün rəsmi bir addımdır (Linus zarafat etdi ki, filial nömrəsinin dəyişdirilməsinin səbəbi daha çox barmaqlarının tükənməsidir. və versiya nömrələrini saymaq üçün ayaq barmaqları). Ən diqqətəlayiq dəyişikliklər arasında: XFS-də asinxron buferli yazıya dəstək, ublk blok drayveri, tapşırıq planlaşdırıcısının optimallaşdırılması, nüvənin düzgün işləməsini yoxlamaq mexanizmi, ARIA blok şifrəsinə dəstək.

Kernel 6.0-də əsas yeniliklər:

  • Disk alt sistemi, giriş/çıxış və fayl sistemləri
    • XFS fayl sistemi io_uring mexanizmindən istifadə edərək asinxron tamponlu yazılar üçün dəstək əlavə etdi. Fio alətlərindən (1 iplik, 4kB blok ölçüsü, 600 saniyə, ardıcıl yazma) istifadə edilən performans testləri saniyədə giriş/çıxış əməliyyatlarının (IOPS) 77k-dan 209k-a, məlumat ötürmə sürətinin 314MB/s-dən 854MB/s-ə qədər artdığını göstərir, və gecikmə müddətinin 9600ns-dən 120ns-ə (80 dəfə) düşməsi.
    • Btrfs fayl sistemi "göndər" əmri üçün protokolun ikinci versiyasını tətbiq edir ki, bu da əlavə metaməlumatlar üçün dəstəyi həyata keçirir, məlumatların daha böyük bloklarda (64K-dan çox) göndərilməsini və sıxılmış formada genişliklərin ötürülməsini həyata keçirir. 3-a qədər sektorun eyni vaxtda oxunması hesabına birbaşa oxu əməliyyatlarının performansı əhəmiyyətli dərəcədə artırılıb (256 dəfəyə qədər). Təxirə salınmış elementlər üçün qorunan metadatanı azaltmaqla kilidləmə mübahisəsi azaldıldı və metadata yoxlanışı sürətləndirildi.
    • Yeni ioctl əməliyyatları EXT4_IOC_GETFSUUID və EXT4_IC_SETFSUUID superblokda saxlanan UUID-i əldə etmək və ya təyin etmək üçün ext4 fayl sisteminə əlavə edilmişdir.
    • F2FS fayl sistemi az miqdarda RAM olan cihazlarda işi optimallaşdıran və aşağı performans hesabına yaddaş istehlakını azaltmağa imkan verən aşağı yaddaş istehlakı rejimi təklif edir.
    • NVMe sürücüsünün autentifikasiyası üçün əlavə dəstək.
    • NFSv4 serveri aktiv müştərilərin sayına məhdudiyyət tətbiq edir ki, bu da sistemdəki hər giqabayt RAM üçün 1024 etibarlı müştəri olaraq təyin olunur.
    • CIFS müştəri tətbiqi çoxkanallı ötürmə rejimində performansı yaxşılaşdırmışdır.
    • Spesifik hadisələrə məhəl qoymamaq üçün fanotify FS-də hadisə izləmə altsisteminə yeni FAN_MARK_IGNORE bayrağı əlavə edildi.
    • Overlayfs FS-də istifadəçi identifikatoru xəritələşdirilməsi ilə FS-in üstünə quraşdırıldıqda, POSIX-ə uyğun girişə nəzarət siyahıları üçün düzgün dəstək təmin edilir.
    • İstifadəçi məkanında xüsusi məntiqi fon prosesinin tərəfinə keçirən və io_uring alt sistemindən istifadə edən ublk blok sürücüsü əlavə edildi.
  • Yaddaş və sistem xidmətləri
    • DAMON (Data Access MONitor) altsisteminə yeni funksiyalar əlavə edilmişdir ki, bu da nəinki istifadəçi sahəsindən RAM-a prosesə girişi izləməyə, həm də yaddaşın idarə edilməsinə təsir etməyə imkan verir. Xüsusilə, müəyyən yaddaş səhifələrinin prioritetini artırmaq üçün LRU (Ən az istifadə olunan) siyahılarının yenidən qruplaşdırılmasını təmin edən yeni “LRU_SORT” modulu təklif edilmişdir.
    • Yeni yaddaş regionları yaratmaq imkanı CPU və yaddaş qurğuları arasında yüksək sürətli qarşılıqlı əlaqəni təşkil etmək üçün istifadə edilən CXL (Compute Express Link) avtobusunun imkanlarından istifadə etməklə həyata keçirilib. CXL sizə xarici yaddaş cihazları tərəfindən təmin edilən yeni yaddaş bölgələrini birləşdirməyə və sistemin təsadüfi giriş yaddaşını (DDR) və ya daimi yaddaşı (PMEM) genişləndirmək üçün əlavə fiziki ünvan məkanı resursları kimi istifadə etməyə imkan verir.
    • Bəzi çipsetlərdəki hardware problemini həll etmək üçün 20 il əvvəl əlavə edilmiş kodun səbəb olduğu AMD Zen prosessorları ilə bağlı performans problemləri həll edildi (prosessoru yavaşlatmaq üçün əlavə GÖZLƏMƏ təlimatı əlavə edildi, beləliklə çipset boş vəziyyətə keçməyə vaxt tapdı). Dəyişiklik boş və məşğul vəziyyətlər arasında tez-tez dəyişən iş yükləri altında performansın azalması ilə nəticələndi. Məsələn, həlli aradan qaldırdıqdan sonra orta test balları 32191 MB/s-dən 33805 MB/s-ə yüksəldi.
    • Enerji istehlakında proqnozlaşdırılan qazanc nəzərə alınmaqla proseslərin ən az yüklənmiş CPU-lara miqrasiyasını təmin edən evristik kod tapşırıq planlayıcısından silindi. Tərtibatçılar belə qənaətə gəldilər ki, evristik kifayət qədər faydalı deyil və belə miqrasiya potensial olaraq daha az enerji istehlakı ilə nəticələnə bildikdə (məsələn, hədəf CPU daha aşağı güc səviyyəsində olduqda) onu çıxarmaq və prosesləri əlavə qiymətləndirmə olmadan köçürmək daha asandır. Heuristikanın söndürülməsi intensiv tapşırıqları yerinə yetirərkən enerji istehlakının azalmasına gətirib çıxardı, məsələn, video dekodlaşdırma testində enerji istehlakı 5.6% azaldı.
    • Böyük sistemlərdə CPU nüvələri üzrə tapşırıqların paylanması optimallaşdırılıb ki, bu da müəyyən iş yükü növləri üçün performansı artırıb.
    • io_uring asinxron I/O interfeysi eyni şəbəkə rozetkasından eyni anda bir neçə oxu əməliyyatını yerinə yetirmək üçün recv() sistem çağırışı ilə çox çəkiliş rejimindən istifadə etməyə imkan verən yeni IORING_RECV_MULTISHOT bayrağı təklif edir. io_uring həmçinin ara tamponlama (sıfır surət) olmadan şəbəkə ötürülməsini dəstəkləyir.
    • Uprobe əlavə edilmiş BPF proqramlarını yuxu vəziyyətinə gətirmək imkanı tətbiq edilmişdir. BPF həmçinin nüvə simvol cədvəlləri ilə işləmək üçün yeni iterator ksym əlavə edir.
    • UEFI açılış dəyişənlərinə daxil olmaq üçün nəzərdə tutulmuş sysfs-də köhnəlmiş "efivars" interfeysi silindi (efivarfs virtual FS indi EFI məlumatlarına daxil olmaq üçün universal olaraq istifadə olunur).
    • Perf yardım proqramında kilid konfliktlərini və nüvə komponentlərini icra edən prosessorun sərf etdiyi vaxtı təhlil etmək üçün yeni hesabatlar var.
    • CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 parametri silindi, bu da nüvənin "-O3" optimallaşdırma rejimində qurulmasına imkan verdi. Qeyd olunur ki, optimallaşdırma rejimləri ilə təcrübələr montaj zamanı bayraqların ötürülməsi ilə həyata keçirilə bilər (“KCFLAGS=-O3 et”) və Kconfig-ə parametr əlavə etmək təkrarlanan performans profilini tələb edir ki, bu da “-O3” rejimində istifadə edilən döngənin açılmasının imkan verir. “-O2” optimallaşdırma səviyyəsi ilə müqayisədə üstünlük.
    • Ayrı-ayrı “yaddaş kiçildənlərin” (yaddaş istehlakını azaltmaq üçün kifayət qədər yaddaş və qablaşdırma nüvəsi məlumat strukturları olduqda işləyicilər çağırılır) işi haqqında məlumat əldə etmək üçün debugfs interfeysi əlavə edilmişdir.
    • OpenRISC və LoongArch arxitekturaları üçün PCI avtobusuna dəstək həyata keçirilir.
    • RISC-V arxitekturası üçün “Zicbom” genişləndirilməsi keş-koherent olmayan DMA ilə cihazları idarə etmək üçün tətbiq edilmişdir.
  • Virtuallaşdırma və Təhlükəsizlik
    • Heç bir nasazlığa zəmanət verən yüksək etibarlı sistemlərdə düzgün işləməyi yoxlamaq üçün RV (Runtime Verification) yoxlama mexanizmi əlavə edilmişdir. Doğrulama, sistemin gözlənilən davranışını təyin edən maşının əvvəlcədən müəyyən edilmiş istinad deterministik modelinə qarşı faktiki icra gedişatını yoxlayan iz nöqtələrinə işləyiciləri əlavə etməklə iş vaxtında həyata keçirilir. İş vaxtı modellə yoxlama klassik etibarlılığın yoxlanılması üsullarını tamamlayan kritik sistemlərdə icranın düzgünlüyünü təsdiqləmək üçün daha yüngül və asan həyata keçirilən üsul kimi yerləşdirilib. RV-nin üstünlükləri arasında bütün sistemin modelləşdirmə dilində ayrıca tətbiqi olmadan ciddi yoxlama təmin etmək, eləcə də gözlənilməz hadisələrə çevik reaksiya göstərmək imkanı var.
    • Intel SGX2 (Software Guard eXtensions) texnologiyasına əsaslanan anklavları idarə etmək üçün inteqrasiya olunmuş nüvə komponentləri, proqramlara sistemin qalan hissəsinin məhdud girişi olan təcrid olunmuş şifrələnmiş yaddaş sahələrində kod icra etməyə imkan verir. Intel SGX2 texnologiyası Intel Ice Lake və Gemini Lake çiplərində dəstəklənir və anklavların dinamik yaddaşının idarə edilməsi üçün əlavə təlimatlarda Intel SGX1-dən fərqlənir.
    • X86 arxitekturası üçün, yükləyici parametrləri vasitəsilə yalançı təsadüfi nömrə generatoru üçün toxum ötürmək imkanı tətbiq edilmişdir.
    • SafeSetID LSM modulu indi setgroups() çağırışı vasitəsilə edilən dəyişiklikləri idarə etmək imkanına malikdir. SafeSetID sistem xidmətlərinə imtiyazları artırmadan (CAP_SETUID) və kök imtiyazları əldə etmədən istifadəçiləri təhlükəsiz idarə etməyə imkan verir.
    • ARIA blok şifrəsi üçün əlavə dəstək.
    • BPF əsaslı təhlükəsizlik idarəetmə modulu işləyiciləri ayrı-ayrı proseslərə və proses qruplarına (qruplara) əlavə etmək imkanı verir.
    • vCPU fəaliyyətinin monitorinqi əsasında qonaq sistemlərinin asılmalarını aşkar etmək üçün gözətçi tətbiqi ilə mexanizm əlavə edilmişdir.
  • Şəbəkə alt sistemi
    • SYN kukilərinin yaradılması və yoxlanılması üçün işləyicilər BPF altsisteminə əlavə edilmişdir. Əlaqələrin vəziyyətinə daxil olmaq və dəyişdirmək üçün bir sıra funksiyalar (kfunc) əlavə olunur.
    • Simsiz yığın, WiFi 7 spesifikasiyasında müəyyən edilmiş və cihazlara eyni vaxtda müxtəlif tezlik diapazonlarından və kanallardan istifadə edərək məlumatları qəbul etməyə və göndərməyə, məsələn, bir şəbəkə arasında eyni vaxtda bir neçə rabitə kanalı qurmağa imkan verən MLO (Multi-Link Operation) mexanizmi üçün əlavə dəstək verdi. müştəri cihazına giriş nöqtəsi.
    • Kernelə daxil edilmiş TLS protokolunun performansı yaxşılaşdırılıb.
    • İstifadəçi məkanı komponentləri işə salınmazdan əvvəl host adının açılış prosesinin əvvəlində təyin edilməsinə icazə vermək üçün "hostname=" kernel əmr xətti seçimi əlavə edildi.
  • Оборудование
    • i915 (Intel) sürücüsü Intel Arc (DG2/Alchemist) A750 və A770 diskret video kartları üçün dəstək verir. Intel Ponte Vecchio (Xe-HPC) və Meteor Lake GPU-larına dəstəyin ilkin tətbiqi təklif edilmişdir. Intel Raptor Lake platformasını dəstəkləmək üçün işlər davam edir.
    • Amdgpu sürücüsü AMD RDNA3 (RX 7000) və CDNA (Instinct) platformalarına dəstək verməyə davam edir.
    • Nouveau sürücüsü NVIDIA nv50 GPU displey mühərrikləri üçün dəstək kodunu yenidən işləyib.
    • LogiCVC ekranları üçün yeni logicvc DRM sürücüsü əlavə edildi.
    • v3d sürücüsü (Broadcom Video Core GPU üçün) Raspberry Pi 4 lövhələrini dəstəkləyir.
    • MSM sürücüsünə Qualcomm Adreno 619 GPU dəstəyi əlavə edildi.
    • Panfrost sürücüsünə ARM Mali Valhall GPU dəstəyi əlavə edildi.
    • Lenovo ThinkPad X8s noutbuklarında istifadə olunan Qualcomm Snapdragon 3cx Gen13 prosessorları üçün ilkin dəstək əlavə edildi.
    • AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake və Mediatek MT8186 platformaları üçün səs drayverləri əlavə edildi.
    • Intel Habana Gaudi 2 maşın öyrənmə sürətləndiriciləri üçün əlavə dəstək.
    • ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3 üçün əlavə dəstək.

Eyni zamanda, Latın Amerikası Azad Proqram Təminatı Fondu tamamilə pulsuz nüvə 6.0 versiyasını - Linux-libre 6.0-gnu, proqram təminatının elementlərindən və qeyri-azad komponentləri və ya kod bölmələrini ehtiva edən drayverlərdən təmizlənmiş bir versiyasını yaratdı. istehsalçı tərəfindən məhdudlaşdırılır. Yeni buraxılış CS35L41 HD-audio drayverində və STM32G0 mikrokontrollerləri üçün UCSI drayverində blobların istifadəsini qeyri-aktiv edir. Qualcomm və MediaTek çipləri üçün DTS faylları təmizləndi. MediaTek MT76 sürücüsündə blobların söndürülməsi yenidən işlənib. AMDGPU, Adreno, Tegra VIC, Netronome NFP və Habanalabs Gaudi2 sürücüləri və alt sistemlərində yenilənmiş blob təmizləmə kodu. Nüvədən çıxarılan VXGE sürücüsünü təmizləməyi dayandırdı.

Mənbə: opennet.ru

Добавить комментарий