Linux 6.0 çekirdek sürümü

İki aylık geliştirme sürecinin ardından Linus Torvalds, Linux 6.0 çekirdeğinin sürümünü sundu. Sürüm numarasındaki önemli değişiklik estetik nedenlerden kaynaklanmaktadır ve seride çok sayıda sayının birikmesinden kaynaklanan rahatsızlığı gidermek için resmi bir adımdır (Linus, şube numarasını değiştirmenin sebebinin muhtemelen parmaklarının bitmesi olduğunu söyleyerek şaka yaptı) ve sürüm numaralarını saymak için ayak parmakları). En dikkate değer değişiklikler arasında: XFS'de eşzamansız arabelleğe alınmış yazma desteği, ublk blok sürücüsü, görev zamanlayıcının optimizasyonu, çekirdeğin doğru çalıştığını doğrulamaya yönelik bir mekanizma, ARIA blok şifresi desteği.

Çekirdek 6.0'teki önemli yenilikler:

  • Disk Alt Sistemi, G/Ç ve Dosya Sistemleri
    • XFS dosya sistemi, io_uring mekanizmasını kullanarak eşzamansız ara belleğe alınmış yazmalar için destek ekledi. Fio araçları (1 iş parçacığı, 4kB blok boyutu, 600 saniye, sıralı yazma) kullanılarak gerçekleştirilen performans testleri, saniye başına giriş/çıkış işlemlerinde (IOPS) 77k'den 209k'ye, veri aktarım hızının 314MB/s'den 854MB/s'ye çıktığını, ve gecikmede 9600 ns'den 120 ns'ye (80 kez) bir düşüş.
    • Btrfs dosya sistemi, ek meta veriler için destek uygulayan, verileri daha büyük bloklar halinde (64K'dan fazla) gönderen ve kapsamları sıkıştırılmış biçimde ileten "gönder" komutu için protokolün ikinci bir versiyonunu uygular. 3 sektöre kadar eşzamanlı okuma sayesinde doğrudan okuma işlemlerinin performansı önemli ölçüde (256 kata kadar) artırıldı. Ertelenen öğeler için ayrılmış meta verileri azaltarak kilitleme çekişmesi azaltıldı ve meta veri kontrolü hızlandırıldı.
    • Süper blokta depolanan UUID'yi almak veya ayarlamak için ext4 dosya sistemine yeni ioctl işlemleri EXT4_IOC_GETFSUUID ve EXT4_IC_SETFSUUID eklendi.
    • F2FS dosya sistemi, az miktarda RAM'e sahip cihazlarda çalışmayı optimize eden ve düşük performans pahasına bellek tüketimini azaltmanıza olanak tanıyan düşük bellek tüketimi modu sunar.
    • NVMe sürücü kimlik doğrulaması için destek eklendi.
    • NFSv4 sunucusu, sistemdeki her gigabayt RAM için 1024 geçerli istemci olarak belirlenen aktif istemci sayısına bir sınır uygular.
    • CIFS istemci uygulaması, çok kanallı iletim modunda performansı artırdı.
    • Belirli olayları göz ardı etmek için fanotify FS'deki olay izleme alt sistemine yeni bir FAN_MARK_IGNORE bayrağı eklendi.
    • Overlayfs FS'de, kullanıcı kimliği eşlemeli bir FS'nin üstüne monte edildiğinde POSIX uyumlu erişim kontrol listeleri için doğru destek sağlanır.
    • Belirli mantığı kullanıcı alanında arka plan işleminin yanına taşıyan ve io_uring alt sistemini kullanan ublk blok sürücüsü eklendi.
  • Bellek ve sistem hizmetleri
    • DAMON (Veri Erişim Monitörü) alt sistemine, yalnızca kullanıcı alanından RAM'e süreç erişimini izlemekle kalmayıp aynı zamanda bellek yönetimini etkilemeye de olanak tanıyan yeni özellikler eklenmiştir. Özellikle, belirli bellek sayfalarının önceliğini artırmak için LRU (En Son Kullanılan) listelerinin yeniden gruplandırılmasını sağlayan yeni bir “LRU_SORT” modülü önerilmiştir.
    • Yeni bellek bölgeleri oluşturma yeteneği, CPU ile bellek aygıtları arasında yüksek hızlı etkileşimi düzenlemek için kullanılan CXL (Compute Express Link) veri yolunun yetenekleri kullanılarak uygulanmıştır. CXL, harici bellek aygıtları tarafından sağlanan yeni bellek bölgelerini bağlamanıza ve bunları sistemin rastgele erişim belleğini (DDR) veya kalıcı belleğini (PMEM) genişletmek için ek fiziksel adres alanı kaynakları olarak kullanmanıza olanak tanır.
    • Bazı yonga setlerindeki bir donanım sorununu çözmek için 20 yıl önce eklenen kodun neden olduğu AMD Zen işlemcilerindeki performans sorunları çözüldü (işlemciyi yavaşlatmak için ek bir WAIT talimatı eklendi, böylece yonga setinin boş duruma geçmesi için zaman vardı). Değişiklik, sıklıkla boşta kalma ve meşgul durumları arasında geçiş yapan iş yükleri altında performansın düşmesine neden oldu. Örneğin, geçici çözümü devre dışı bıraktıktan sonra ortalama tbench testi puanları 32191 MB/s'den 33805 MB/s'ye yükseldi.
    • Buluşsal kod içeren kod, görev zamanlayıcıdan kaldırılarak, enerji tüketiminde öngörülen kazanç dikkate alınarak süreçlerin en az yüklü CPU'lara taşınması sağlandı. Geliştiriciler, buluşsal yöntemin yeterince kullanışlı olmadığı ve bu tür bir geçişin potansiyel olarak daha düşük güç tüketimiyle sonuçlanabileceği durumlarda (örneğin, hedef CPU daha düşük bir güç katmanında olduğunda) onu kaldırmanın ve ek değerlendirme olmadan süreçleri taşımanın daha kolay olduğu sonucuna vardı. Buluşsal yöntemin devre dışı bırakılması, yoğun görevler gerçekleştirilirken güç tüketiminde azalmaya yol açtı; örneğin video kod çözme testinde güç tüketimi %5.6 azaldı.
    • Görevlerin büyük sistemlerdeki CPU çekirdekleri arasındaki dağılımı optimize edildi ve bu, belirli iş yükü türleri için performansı artırdı.
    • io_uring eşzamansız G/Ç arayüzü, aynı ağ soketinden aynı anda birden fazla okuma işlemi gerçekleştirmek için recv() sistem çağrısıyla çoklu çekim modunu kullanmanıza olanak tanıyan yeni bir IORING_RECV_MULTISHOT bayrağı sunar. io_uring ayrıca ara ara belleğe alma (sıfır kopya) olmadan ağ aktarımını da destekler.
    • Uprobe'a bağlı BPF programlarını uyku durumuna geçirme yeteneği uygulandı. BPF ayrıca çekirdek sembol tablolarıyla çalışmak için yeni bir yineleyici ksym ekler.
    • UEFI önyükleme değişkenlerine erişim için tasarlanan, sysfs'deki eski "efivars" arayüzü kaldırıldı (efivarfs sanal FS artık evrensel olarak EFI verilerine erişmek için kullanılıyor).
    • perf yardımcı programı, kilit çakışmalarını ve çekirdek bileşenlerini çalıştıran işlemci tarafından harcanan zamanı analiz etmek için yeni raporlara sahiptir.
    • CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 ayarı kaldırıldı, bu da çekirdeğin "-O3" optimizasyon modunda oluşturulmasına izin verdi. Optimizasyon modlarıyla yapılan deneylerin montaj sırasında bayraklar geçirilerek gerçekleştirilebileceği ("KCFLAGS=-O3 yap") ve Kconfig'e bir ayar eklemenin "-O3" modunda kullanılan döngü açmanın şunu gösterdiğini gösteren tekrarlanabilir performans profili oluşturmayı gerektirdiği belirtilmektedir. “-O2” optimizasyon seviyesine kıyasla bir avantaj.
    • Bireysel "bellek küçültücülerin" (yetersiz bellek olduğunda çağrılan işleyiciler ve bellek tüketimini azaltmak için çekirdek veri yapılarını paketleyen işleyiciler) çalışması hakkında bilgi almak için bir hata ayıklama arayüzü eklendi.
    • OpenRISC ve LoongArch mimarileri için PCI veri yolu desteği uygulanır.
    • RISC-V mimarisi için, önbellek uyumlu olmayan DMA'lı cihazları yönetmek için "Zicbom" uzantısı uygulanmıştır.
  • Sanallaştırma ve Güvenlik
    • Hiçbir arızayı garanti etmeyen son derece güvenilir sistemlerde doğru çalışmayı doğrulamak için bir RV (Çalışma Zamanı Doğrulaması) doğrulama mekanizması eklenmiştir. Doğrulama, sistemin beklenen davranışını tanımlayan makinenin önceden belirlenmiş bir referans deterministik modeline göre yürütmenin gerçek ilerlemesini kontrol eden izleme noktalarına işleyiciler eklenerek çalışma zamanında gerçekleştirilir. Çalışma zamanında modelle doğrulama, kritik sistemlerde yürütmenin doğruluğunu teyit etmek için klasik güvenilirlik doğrulama yöntemlerini tamamlayan daha hafif ve uygulaması kolay bir yöntem olarak konumlandırılmıştır. RV'nin avantajları arasında, tüm sistemin bir modelleme dilinde ayrı olarak uygulanmasına gerek kalmadan katı doğrulama sağlama yeteneğinin yanı sıra öngörülemeyen olaylara esnek yanıt verme yeteneği de yer almaktadır.
    • Uygulamaların, sistemin geri kalanının sınırlı erişime sahip olduğu, belleğin yalıtılmış, şifrelenmiş alanlarında kod yürütmesine olanak tanıyan Intel SGX2 (Software Guard eXtensions) teknolojisine dayanan, koruma alanlarını yönetmek için entegre çekirdek bileşenleri. Intel SGX2 teknolojisi, Intel Ice Lake ve Gemini Lake yongalarında desteklenir ve yerleşim bölgelerinin dinamik bellek yönetimine yönelik ek talimatlar bakımından Intel SGX1'den farklıdır.
    • X86 mimarisi için, sözde rastgele sayı üretecinin çekirdeğini önyükleyici ayarları aracılığıyla aktarma yeteneği uygulandı.
    • SafeSetID LSM modülü artık setgroups() çağrısı yoluyla yapılan değişiklikleri yönetme yeteneğine sahiptir. SafeSetID, sistem hizmetlerinin, ayrıcalıkları yükseltmeden (CAP_SETUID) ve kök ayrıcalıkları kazanmadan kullanıcıları güvenli bir şekilde yönetmesine olanak tanır.
    • ARIA blok şifresi için destek eklendi.
    • BPF tabanlı güvenlik yönetimi modülü, işleyicileri bireysel işlemlere ve işlem gruplarına (cgroups) ekleme yeteneği sağlar.
    • vCPU etkinliğini izlemeye dayalı olarak konuk sistemlerin kilitlenmesini tespit etmek için izleme uygulamasına sahip bir mekanizma eklenmiştir.
  • Ağ alt sistemi
    • SYN çerezlerini oluşturmaya ve kontrol etmeye yönelik işleyiciler BPF alt sistemine eklenmiştir. Ayrıca bağlantıların durumuna erişmek ve bunları değiştirmek için bir dizi işlev (kfunc) eklenmiştir.
    • Kablosuz yığın, WiFi 7 spesifikasyonunda tanımlanan MLO (Çoklu Bağlantı Operasyonu) mekanizması için ek desteğe sahiptir ve cihazların farklı frekans bantları ve kanalları kullanarak aynı anda veri alıp göndermesine, örneğin bir cihaz arasında aynı anda birden fazla iletişim kanalı kurmasına olanak tanır. istemci cihazına erişim noktası.
    • Çekirdeğe yerleşik TLS protokolünün performansı iyileştirildi.
    • Ana bilgisayar adının, kullanıcı alanı bileşenleri başlatılmadan önce, önyükleme işleminin başlarında ayarlanmasına izin vermek için bir çekirdek komut satırı seçeneği "ana bilgisayar adı =" eklendi.
  • Оборудование
    • i915 (Intel) sürücüsü, Intel Arc (DG2/Alchemist) A750 ve A770 ayrık video kartları için destek sağlar. Intel Ponte Vecchio (Xe-HPC) ve Meteor Lake GPU'ları için ilk destek uygulaması önerildi. Intel Raptor Lake platformunu destekleme çalışmaları devam ediyor.
    • Amdgpu sürücüsü, AMD RDNA3 (RX 7000) ve CDNA (Instinct) platformları için destek sağlamaya devam ediyor.
    • Nouveau sürücüsü, NVIDIA nv50 GPU ekran motorları için destek kodunu yeniden düzenledi.
    • LogiCVC ekranları için yeni Logicvc DRM sürücüsü eklendi.
    • V3d sürücüsü (Broadcom Video Core GPU için) Raspberry Pi 4 kartlarını destekler.
    • Msm sürücüsüne Qualcomm Adreno 619 GPU desteği eklendi.
    • Panfrost sürücüsüne ARM Mali Valhall GPU desteği eklendi.
    • Lenovo ThinkPad X8s dizüstü bilgisayarlarda kullanılan Qualcomm Snapdragon 3cx Gen13 işlemciler için başlangıç ​​desteği eklendi.
    • AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake ve Mediatek MT8186 platformları için ses sürücüleri eklendi.
    • Intel Habana Gaudi 2 makine öğrenimi hızlandırıcıları için destek eklendi.
    • ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3 için destek eklendi.

Aynı zamanda, Latin Amerika Özgür Yazılım Vakfı, kapsamı özgür olmayan bileşenler veya kod bölümleri içeren ürün yazılımı ve sürücü öğelerinden arındırılmış, tamamen ücretsiz çekirdek 6.0 - Linux-libre 6.0-gnu'nun bir sürümünü oluşturdu. üretici tarafından sınırlandırılmıştır. Yeni sürüm, CS35L41 HD ses sürücüsündeki ve STM32G0 mikro denetleyicileri için UCSI sürücüsündeki blobların kullanımını devre dışı bırakıyor. Qualcomm ve MediaTek çiplerinin DTS dosyaları temizlendi. MediaTek MT76 sürücüsündeki blobların devre dışı bırakılması yeniden düzenlendi. AMDGPU, Adreno, Tegra VIC, Netronome NFP ve Habanalabs Gaudi2 sürücüleri ve alt sistemlerindeki blob temizleme kodu güncellendi. Çekirdekten kaldırılan VXGE sürücüsünün temizlenmesi durduruldu.

Kaynak: opennet.ru

Yorum ekle