Yadro chiqarilishi Linux 7.1

Ikki oylik ishlab chiqishdan so'ng, Linus Torvalds yadroni chiqardi. Linux 7.1. Eng diqqatga sazovor o'zgarishlar qatorida: yangi ntfsplus drayveri, i486 protsessorini qo'llab-quvvatlashni to'xtatishning birinchi bosqichi, eski Ethernet adapterlarini olib tashlash, ISDN va AX.25 protokollarini olib tashlash, Intel FRED mexanizmini sukut bo'yicha yoqish, io_uringda BPF ishlov beruvchilarini qo'llab-quvvatlash, almashtirish quyi tizimini optimallashtirish, sched_extda quyi rejalashtiruvchilarni qo'llab-quvvatlash, ublk drayverida nol nusxali I/O, Btrfsda ioctl operatsiyasini "o'chirish", amd-pstate drayverida ishlash rejimini dinamik ravishda almashtirish, Unix soketlari uchun xattrni qo'llab-quvvatlash.

Yangi versiyada 17275 ta ishlab chiquvchilar tomonidan 2589 XNUMX tuzatish kiritilgan,
Yamoq hajmi 57 MB ni tashkil etadi (o'zgarishlar 13 528 ta faylga ta'sir qildi, 751 785 ta kod satri qo'shildi va 405 916 ta satr olib tashlandi). Avvalgi nashrda 2477 ta ishlab chiquvchidan 15 624 ta tuzatish mavjud edi va yamoq hajmi 56 MB ni tashkil qiladi. 7.1 dagi barcha o'zgarishlarning taxminan 41% qurilma drayverlari bilan bog'liq, o'zgarishlarning taxminan 12% apparat arxitekturasiga xos kod yangilanishlari bilan, 14% tarmoq steki bilan, 5% fayl tizimlari bilan va 3% ichki yadro quyi tizimlari bilan bog'liq.

7.1 yadrosidagi asosiy yangi xususiyatlar (1, 2, 3):

  • Disk quyi tizimi, kiritish-chiqarish va fayl tizimlari
    • NTFS fayl tizimining yangi implementatsiyasi, ntfsplus, qabul qilindi. U yadrodan olib tashlangan klassik ntfs drayverining kodiga asoslangan. Eski drayver qayta ishlangan, ma'lumotlarni yozish imkoniyati bilan kengaytirilgan va buffer_head tuzilmasi o'rniga xotira sahifasi foliosidan (folios) foydalanish kabi zamonaviy xususiyatlarni qo'llab-quvvatlashga moslashtirilgan. Yangi drayver yuqori yozish samaradorligi va parchalanishni kamaytirish imkonini beruvchi dangasa blok ajratishni amalga oshiradi. iomap kutubxonasi buferlangan o'qish/yozish operatsiyalari, to'g'ridan-to'g'ri kirish/chiqish, kengaytma xaritalash va sahifa o'qish/yozish operatsiyalari uchun ishlatiladi. iozone sinovlarida ntfsplus drayveri bitta oqimli rejimda yozishda ntfs3 ga qaraganda 3-5% tezroq va 4 oqimdan foydalanganda 35-110% tezroq edi. ntfsplus va ntfs3 ning o'qish tezligi taxminan bir xil. ntfs3 drayveri yadroda qoladi va tuzatishlar va kichik yaxshilanishlar bilan yangilandi.
    • Blok qurilmasi darajasida emas, balki fayl tizimi darajasida T10 yaxlitligini tekshirish ma'lumotlarini yaratish va tasdiqlash uchun qo'llab-quvvatlash qo'shildi, bu esa o'qish operatsiyalarining samaradorligini oshiradi.
    • Muayyan mantiqni foydalanuvchi maydoni jarayoniga ko'chirish imkonini beruvchi ublk blok qurilmasi drayveri endi buferlar o'rtasida ma'lumotlarni nusxalamasdan (nol nusxalash rejimi) umumiy xotira orqali kirish/chiqishni qo'llab-quvvatlaydi.
    • SED-OPAL o'z-o'zini shifrlaydigan blok qurilmalari uchun bitta foydalanuvchi rejimini boshqarish uchun ioctl-lar qo'shildi va STACK_RESET buyrug'i amalga oshirildi.
    • Btrfs "o'chirish" ioctl operatsiyasini barqaror qo'llab-quvvatlashini e'lon qildi, bu fayl tizimiga allaqachon ishlayotgan operatsiyalarni tugatishga urinadigan holatga kirishga imkon beradi, lekin barcha yangi operatsiyalarni bloklaydi.
    • exfat fallocate() funksiyasini chaqirish orqali bo'sh joylarni band qilish imkoniyatini amalga oshiradi.
    • CIFS fayl tizimi endi O_TMPFILE bayrog'i bilan vaqtinchalik fayllarni yaratishni qo'llab-quvvatlaydi.
    • fsmount() tizim chaqiruvi endi FSMOUNT_NAMESPACE opsiyasini o'z ichiga oladi, bu o'rnatilgan fayl tizimi uchun yangi o'rnatish nuqtasi nom maydonini yaratadi. Clone3() va unshare() tizim chaqiruvlariga faqat o'rnatilgan, bo'sh, nullfs asosidagi fayl tizimi stubini va DAX (to'g'ridan-to'g'ri kirish) qurilmalariga fayl tizimi interfeysiga ega fs-dax drayverini o'z ichiga olgan yangi o'rnatish nuqtasi nom maydonini qaytarish uchun bayroqlar qo'shildi.
    • NFS serveri endi fayl tavsiflovchilariga qo'pol kuch hujumlaridan himoya qilish xususiyatiga ega, bu kriptografik imzo tavsiflovchilari orqali amalga oshiriladi. Ushbu himoya sign_fh mount opsiyasi orqali yoqiladi.
    • Sahifa keshini chetlab o'tishni qo'llab-quvvatlaydigan DAX (to'g'ridan-to'g'ri kirish) qurilmalari bilan o'zaro ishlash uchun interfeysni ta'minlaydigan fs-dax ramziy drayveri qo'shildi. Ushbu interfeys famfs xotiradagi fayl tizimini yadroga integratsiya qilish uchun zarur.
    • Ceph fayl tizimi har bir jild uchun I/O metrikalarini to'plashni amalga oshiradi.
  • Xotira va tizim xizmatlari
    • i486 protsessorlarini qo'llab-quvvatlashni olib tashlash bo'yicha birinchi bosqich o'zgarishlari qabul qilindi. 486DX, 486SX va AMD ELAN protsessorlarini (CONFIG_M486, CONFIG_M486SX va CONFIG_MELAN) qo'llab-quvvatlaydigan yadroni yaratish variantlari Kconfig'dan olib tashlandi va i486 tizimlari uchun kompilyatsiya variantlari (-march=i486) Makefile'dan olib tashlandi. i486 protsessorlarini qo'llab-quvvatlashning haqiqiy kodi hali ham yadroda, ammo bunday tizimlarni yaratish endi makefile'larga yamalar kiritishni talab qiladi. i486 protsessorlarini qo'llab-quvvatlashni olib tashlashning sababi, yadroni CX8 (8 baytni taqqoslash va almashtirish) va TSC (vazifa rejalashtiruvchisida ishlatiladigan protsessor sikli hisoblagichi) kabi muayyan apparat operatsiyalarini taqlid qiluvchi murakkab koddan xalos qilishdir.
    • AMD protsessorli tizimlarda quvvatni boshqarish uchun ishlatiladigan amd-pstate drayveri endi tizim batareya quvvatida yoki quvvat manbaida ishlayotganiga qarab ishlash sozlamalarini dinamik ravishda o'zgartiradi va quvvatni boshqarish xatti-harakatlarini o'zgartiradi. Quvvat manbasiga ulanganda, endi "ishlash" rejimi yoqiladi, batareya quvvatida ishlayotganda esa "balance_performance" rejimi yoqiladi.
    • Intelning moslashuvchan qaytish va hodisalarni yetkazib berish (FRED) mexanizmi sukut bo'yicha yoqilgan bo'lib, past darajadagi hodisalarni yetkazib berish samaradorligi va ishonchliligini oshiradi. Ishlash va kechikish hodisalarni Interrupt Descriptor Table (IDT) orqali o'tkazish o'rniga IRET protsessor ko'rsatmalaridan foydalanib qaytarish orqali yaxshilanadi. Ishonchlilik yadro va foydalanuvchi kontekstlarida hodisa qabullarini ajratish, ichki NMI bajarilishidan himoya qilish va barcha istisnolarga bog'liq protsessor registrlarini kengaytirilgan stek freymida saqlash orqali yaxshilanadi.
    • Perf quyi tizimi NVIDIA Tegra410 SoC da ishlatiladigan Performance Monitoring Unit (PMU) xotira monitoring birliklarini qo'llab-quvvatlash uchun yangilandi.
    • ARM tizimlarida Futex operatsiyalari Arm 9.6 LSUI ko'rsatmalaridan foydalanish orqali tezlashtirildi, bu esa yadroga PAN (Imtiyozli Kirish Hech Qachon) himoya rejimini o'chirmasdan foydalanuvchi maydoni xotirasiga kirish imkonini beradi.
    • ARM protsessorlariga ega tizimlarda Xotira Tizimi Resurslarini Bo'lish va Monitoring (MPAM) ko'rsatmalar to'plami arxitekturasi kengaytmasini qo'llab-quvvatlash yaxshilandi, uni foydalanuvchi maydonida resctrl mexanizmi orqali resurslarni boshqarish uchun ishlatish imkoniyati mavjud. MPAM har bir xotiraga kirishni bo'lim identifikatori (PARTID) va monitoring guruhi identifikatori (PMG) bilan belgilaydi. PARTIDlardan foydalanib, bitta vazifalar guruhi barcha resurslarni iste'mol qilishining oldini olish uchun xotira o'tkazish qobiliyati yoki kesh hajmi kabi resurs sarfini cheklashingiz mumkin. Monitoring kontekstida, PMG va PARTID kombinatsiyasi ma'lum ish yuklamalari ostida xotira resurslari sarfini kuzatish uchun ishlatilishi mumkin.
    • 32-bitli ARM protsessorlarida real vaqt rejimini (PREEMPT_RT) qo'llab-quvvatlash qo'shildi. Ilgari, PREEMPT_RT qo'llab-quvvatlashi x86 va x86-64, ARM64, RISC-V va LoongArch arxitekturalari uchun taqdim etilgan edi.
    • clone3() tizim chaqiruviga yangi bayroqlar qo'shildi: CLONE_NNP — yangi yaratilgan jarayonning yangi imtiyozlarga ega bo'lishining oldini oladi; CLONE_AUTOREAP — ota-ona jarayoni wait() funktsiyasini bajarmaguncha jarayonni zombi jarayoniga aylantirish o'rniga uni avtomatik ravishda tugatadi;
      CLONE_PIDFD_AUTOKILL - agar u bilan bog'liq pidfd deskripsiyasi yopilgan bo'lsa (masalan, ota-ona jarayoni tugaganda), bola jarayonini tugatadi.
    • Har bir yadro moduli uchun import qilingan belgi nomlari maydonlari ro'yxatini o'z ichiga olgan import_ns fayli /sys/module katalogiga qo'shildi.
    • io_uring asinxron I/O tizimi endi ishlov beruvchilarni yaratish uchun BPF quyi tizimidan foydalanishni qo'llab-quvvatlaydi. Masalan, asosiy dispetcherlik tsiklini BPF dasturi bilan almashtirish mumkin.
    • BPF quyi tizimi stekdan foydalanish tahlilini modernizatsiya qildi, bu esa tekshiruvchining ko'plab BPF dasturlarini tekshirishini sezilarli darajada tezlashtirdi.
    • Hrtimer (yuqori aniqlikdagi taymer) quyi tizimi unumdorlikni optimallashtirish uchun qayta yozildi. Vazifalarni rejalashtiruvchi endi aniqligi pastroq taymerlar o'rniga unumdorlikni yo'qotmasdan yuqori aniqlikdagi taymerlardan foydalanishi mumkin.
    • Rust-for-branchdan o'zgarishlarni ko'chirishda davom etmoqdaLinux, drayverlar va yadro modullarini ishlab chiqish uchun Rust tilidan ikkinchi til sifatida foydalanish bilan bog'liq (Rust qo'llab-quvvatlashi sukut bo'yicha faol emas va Rust yadro uchun majburiy tuzilish bog'liqliklari ro'yxatiga kiritilishiga olib kelmaydi). 1.85 versiyasigacha (yetkazib berilgan sana Debian 13) Yadro komponentlarini yaratish uchun zarur bo'lgan Rust versiyasiga qo'yiladigan talablar oshirildi. Kompilyatsiya paytida C interpolyatsiyalarini Rust kodiga kiritish uchun eksperimental Kconfig CONFIG_RUST_INLINE_HELPERS opsiyasi qo'shildi (bu optimallashtirish null blok drayverining ishlashini 2% ga oshirdi). 'const_assert!' makrosi qo'shildi. 'sizes', 'clk', 'ptr', 'sync' va 'error' modullarining imkoniyatlari kengaytirildi.
    • BPF yordamida protsessor rejalashtiruvchilarini yaratishga imkon beruvchi SCHED_EXT mexanizmi har bir cgroupga o'z vazifa rejalashtiruvchisidan foydalanish imkonini beruvchi ichki rejalashtiruvchilarni (sub-rejalashtiruvchilar) yaratishning dastlabki imkoniyati bilan to'ldirildi.
    • Swap quyi tizimini optimallashtirish davom etdi. Eski swap_map tuzilmasi olib tashlandi va uning o'rniga "Swap Table" mexanizmi qo'yildi. Bu o'zgarish swap quyi tizimida ishlashni yaxshiladi va xotira sarfini kamaytirdi.
    • Jarayonning RAMdagi ma'lumotlarga kirishini kuzatish imkonini beruvchi DAMON (Ma'lumotlarga kirish MONitor) quyi tizimi (masalan, jarayon qaysi xotira sohalariga kirganini va qaysi xotira sohalari ishlatilmaganligini bilib olishingiz mumkin) turli xil avtomatik kvotalarni sozlash algoritmlarini qo'llab-quvvatlash bilan to'ldirildi.
    • Kuzatuv quyi tizimi tashqi halqa buferlari kontseptsiyasini amalga oshiradi, bu esa virtual mashinalardan kuzatuv ma'lumotlarini olish imkonini beradi. Ushbu xususiyat KVM va nVHE gipervizorlarida kuzatuv ma'lumotlarini mehmon tizimidan xostga uzatish uchun ishlatiladi.
    • Yuqori darajada ishonchli tizimlarning to'g'ri ishlashini tekshirish uchun mo'ljallangan RV (Runtime Verification) quyi tizimi bajarilishi vaqtincha to'xtatilgan yoki bloklangan vazifalarni kuzatish uchun "to'xtash" monitoring komponentlari va vazifa rejalashtiruvchisining xatti-harakatlarini tahlil qilish uchun "oxirgi muddat" bilan to'ldirildi.
  • Virtualizatsiya va xavfsizlik
    • Odatiy bo'lib, PROC_MEM_FORCE_PTRACE bayrog'i o'rnatilgan bo'lib, u faqat ptrace() tizim chaqiruvidan foydalanib, disk raskadrovka qiladigan jarayonlar uchun /proc/PID/mem fayli orqali jarayon xotirasiga kirish huquqlarini chetlab o'tishga imkon beradi.
    • LSM modullari uchun yangi ilgaklar to'plami qo'shildi (Linux Xavfsizlik moduli), bu overlayfs kabi stack-asosidagi fayl tizimlari uchun siyosatlarni amalga oshirishni soddalashtiradi. LSM shuningdek, Unix soketlariga kirishni boshqarish uchun ilgak qo'shdi, bu esa Landlock LSM modulida Unix soketlariga kirish siyosatlarini tayinlash uchun ishlatiladi.
    • An'anaviy kripto API-ga qaraganda sodda va tezroq funksiyalarni taqdim etuvchi o'rnatilgan kripto kutubxonasi lib/crypto AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH va SM3 algoritmlarini qo'llab-quvvatlash uchun yangilandi. Lib/crypto uchun hujjatlar qo'shildi.
    • Biz AArch64 arxitekturasi uchun virtualizatsiya kengaytmalaridan foydalangan holda qat'iy anonim xotira izolyatsiyasi uchun pKVM (Protected KVM) rejimini joriy qildik. Ushbu rejimda mehmon xotirasi sahifalari xost tizimining virtual manzillar jadvalidan chiqarib tashlanadi.
    • KVM gipervizori endi ARM Virtual Generic Interrupt Controller (VGICv5) ning beshinchi versiyasini qo'llab-quvvatlaydi.
  • Tarmoq quyi tizimi
    • Kengaytirilgan fayl atributlarini (xattr) "user.*" qo'llab-quvvatlash socket() funktsiyasi tomonidan yaratilgan Unix soketlari uchun amalga oshirildi. Qo'llanilish sohalaridan biri Varlink IPC uchun ishlatiladigan Unix soketlarini kengaytirilgan atributlar orqali belgilashdir, bu ularni BPF dasturlari yordamida IPC tekshiruvi va nosozliklarni tuzatish uchun boshqalardan ajratish imkonini beradi. systemd-journald da kengaytirilgan atributlar /dev/log soketining jurnal formatini aniqlash uchun ishlatilishi mo'ljallangan.
    • Masalan, qisman shikastlangan audio va video ma'lumotlarini kodek darajasida tiklash umidida noto'g'ri checksumli paketlarni yetkazib berishga imkon beruvchi UDP-Lite protokoli (RFC 3828) qo'llab-quvvatlandi. Ushbu protokol hech kim undan foydalanmagani uchun olib tashlandi.
    • IPv6 stekini yadro moduli sifatida yaratish imkoniyati olib tashlandi. Bu amalda qo'llanilmadi (IPv6 yadroga o'rnatilgan yoki butunlay o'chirib qo'yilgan), lekin bu texnik xizmat ko'rsatishni murakkablashtirdi, chunki IPv6 ni yadro moduli sifatida yaratishda (CONFIG_IPV6=m), ko'plab quyi tizimlar IPv6 moduli yuklanmagan taqdirda foydasiz ishlov beruvchilarni qo'shishga majbur bo'ladi.
  • uskunalar
    • AMDGPU drayveri AMD HD 7000 seriyali APUlar (Sea Islands, GCN 1.1) uchun yangi displey dvigatelini (DC) o'z ichiga oladi.
    • Nouveau drayveri Ampere mikroarxitekturasiga asoslangan NVIDIA GA100 GPU uchun dastlabki qo'llab-quvvatlashni qo'shadi.
    • Intel Xe arxitekturasiga asoslangan GPUlar uchun Xe DRM (Direct Rendering Manager) drayveri ustida ishlar davom ettirildi, u Tiger Lake protsessorlaridan boshlab Intel Arc seriyali grafik kartalari va integratsiyalashgan grafikalarda qo'llaniladi. Intel Nova Lake-P protsessorlarining grafik quyi tizimini qo'llab-quvvatlash qo'shildi. Purgeable Buffer Objects joriy etildi.
    • Biz Turing mikroarxitekturasiga asoslangan NVIDIA GeForce RTX 2000 seriyasidan beri ishlatilgan GSP dasturiy ta'minoti bilan jihozlangan NVIDIA GPU'lari uchun Nova drayver komponentlarini integratsiyalashda davom etdik. Drayver Rust tilida yozilgan. Turing mikroarxitekturasiga asoslangan GPU'lar uchun dastlabki qo'llab-quvvatlash qo'shildi.
    • CoreBoot asosidagi dasturiy ta'minotning freymbuferi orqali grafikalarni chiqarish uchun corebootdrm DRM drayveri qo'shildi.
    • Quyidagi ASoClar uchun qo'llab-quvvatlash qo'shildi: AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP va WM8962. USB audio qurilmalari uchun qo'llab-quvvatlash yaxshilandi: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow,
      PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
    • Lenovo Yoga, Legion va IdeaPad noutbuklarida ventilyator tezligini kuzatish uchun yogafan drayveri qo'shildi.
    • ARM platalari, SoC va qurilmalar uchun qo'llab-quvvatlash qo'shildi: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 va ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
    • Baikal-T1 SoC da ishlatiladigan AHCI SATA va PCIe kontrollerlarini, shuningdek, taymer, xotira, fizmap, avtobus, hwmon, dwc va bt1-rom drayverlarini qo'llab-quvvatlash olib tashlandi. Olib tashlash sababi, Rossiyada ishlab chiqarish 2025-yil noyabr oyida to'xtatilganligi sababli, qo'llab-quvvatlashning yo'qligi va Baikal platformasi komponentlarining yadroga to'liq integratsiya qilinmaganligidir.
    • 2002-yildan oldin chiqarilgan, ishlab chiqarish tizimlarida ulardan foydalanayotgan foydalanuvchilar topilmagan ISA va PCMCIA interfeyslariga ega Ethernet qurilmalari uchun 12 ta drayver olib tashlandi. Shuningdek, yadrodan olib tashlandi.
      ISDN quyi tizimi, AX.25, CAIF va Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol) protokollarining implementatsiyalari, yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport va logibm (busmouse) drayverlari olib tashlandi. Olib tashlash sababi syzbot va AI vositalari tomonidan aniqlangan xatolar sonining ko'payishi fonida faol texnik xizmat ko'rsatuvchilarning yo'qligi edi, ularni hech kim tuzatishni istamadi, bu esa jiddiy muammolarni hal qilishning butun yukini yadroning asosiy tarmoq quyi tizimlari texnik xizmat ko'rsatuvchilariga yukladi. Jami 140 000 dan ortiq kod satrlari olib tashlandi.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster