Хоёр сарын турш хөгжүүлсний дараа Линус Торвалдс цөмийг гаргасан. Linux 6.13. Хамгийн мэдэгдэхүйц өөрчлөлтүүдийн дунд: даалгаврын хуваарьлагч дахь залхуу урьдчилан сэргийлэх горим, XFS болон Ext4 дахь атомын бичлэгийг дэмжих, "олон ширхэгтэй цагийн тэмдэг" механизм, сүлжээний дэд систем дэх дасан зохицох санал асуулгын горим, AutoFDO оновчлолоор бүтээх чадвар, ARM65 Хамгаалагдсан Хяналтын Стекийн хамгаалалтын механизмыг дэмжих, ARM CCA өргөтгөл ашиглан виртуал машин тусгаарлах, BPF дахь тусдаа стекүүд, ReiserFS-ийг устгах, виртуал-cpufreq драйвер, netlink API net-shaper, том жижиг үсэг мэдрэмтгий tmpfs холбох горим, SMB3 дахь POSIX өргөтгөлүүдийг дэмжих, AMD Cache Optimizer драйвер.
Шинэ хувилбарт 14172 хөгжүүлэгчийн 2086 засвар орсон, засварын хэмжээ 46 МБ (өөрчлөлтөд 15375 файл нөлөөлж, 598707 мөр код нэмэгдсэн, 406294 мөр хасагдсан). Сүүлийн хувилбар нь 14607 хөгжүүлэгчээс 2167 засвар хийсэн бөгөөд засварын хэмжээ 37 MB байв. 52-т оруулсан бүх өөрчлөлтийн 6.13 орчим хувь нь төхөөрөмжийн драйверуудтай холбоотой, өөрчлөлтүүдийн 13 орчим хувь нь техник хангамжийн архитектурт хамаарах кодыг шинэчлэхтэй холбоотой, 11 хувь нь сүлжээний стектэй, 4 хувь нь файлын системтэй, 3 хувь нь дотоод цөмийн дэд системтэй холбоотой байна.
Цөм 6.13 дахь гол шинэчлэлүүд:
- Дискний дэд систем, I/O болон файлын системүүд
- "Олон талт цагийн тэмдэглэгээ" механизмыг нэмсэн бөгөөд энэ нь файлд өөрчлөлт оруулах, хандах хугацааны талаарх мэдээллийг миллисекундээс илүү нарийвчлалтай авах боломжийг олгодог боловч гүйцэтгэлд сөрөг нөлөө үзүүлэхгүй. Шошгоны нарийвчлалыг нэмэгдүүлэх нь диск рүү мета өгөгдөл бичих эрчмийг нэмэгдүүлснээр нэмэлт зардал гарахад хүргэдэг тул санал болгож буй хэрэгжүүлэхэд илүү нарийвчлалтай шошго нь бүх файлд зориулагдаагүй, зөвхөн процессууд нь дараах хаягаар дамжуулан ийм шошго шаарддаг хүмүүст зориулагдсан болно. getattr() дуудна.
- Салбарын хэмжээнээс том өгөгдлийг энэ боломжийг олгодог хадгалах төхөөрөмж дээр атомын хэлбэрээр бичдэг атомын бичвэрийн дэмжлэг нэмэгдсэн. Одоогоор XFS, Ext4-д O_DIRECT (Шууд I/O) горим болон md RAID 0/1/10-д атомын бичвэр хэрэгжиж байна.
- 3-аас дээш урсгалтай ажлын ачааллыг 5-255% -иар нэмэгдүүлэх боломжтой файлын лавлагаа тоолох шинэ механизмыг санал болгож байна.
- Өнгөрсөн жилийн өмнө хуучирсан гэж зарласан ReiserFS файлын системийн хэрэгжилтийг устгасан.
- Шүдний оруулгуудыг (сангийн элементүүдийн дотоод дүрслэл) тэдгээртэй холбоотой файлуудыг устгасны дараа цэвэрлэх VFS бодлогыг тохируулахын тулд "fs.dentry-negative" sysctl параметрийг нэмсэн. Зарим төрлийн ажлын ачааллын хувьд устгасан файлуудын ийм бүртгэлийг үлдээх нь илүү дээр байдаг бол бусад хүмүүсийн хувьд тэдгээрийг устгах нь дээр байдаг тул цөм нь сонгох боломжийг олгодог (анхдагчаар "dentry" автоматаар устгагддаггүй).
- STATMOUNT_OPT_ARRAY тугийг statmount() системийн дуудлагад нэмсэн бөгөөд файлын системийн сонголтуудын жагсаалтыг "\000" escape ашигладаггүй хоосон төгсгөлтэй мөрийн массив болгон буцаалаа. FS дэд төрөл (fs_subtype, FUSE ашиглах эсэхийг тодорхойлох), аюулгүй холбох сонголтууд болон эх сурвалжийн суперблок (sb_source)-ийг буцаах дэмжлэг нэмэгдсэн.
- OverlayFS нь файлын замын нэрээс илүүтэй файлын тодорхойлогчоор дамжуулан давхаргыг тодорхойлох боломжийг олгодог.
- Tmpfs файлын систем нь том жижиг үсгийн тооноос хамааралгүй болгох "casefold" холбох сонголттой болж, хүчингүй UTF-8 тэмдэгт агуулсан файлуудыг үүсгэхийг хориглох "strict_encoding" сонголттой болсон.
- Өргөтгөсөн файлын шинж чанаруудыг удирдах системийн дуудлагын шинэ багцыг санал болгож байна: setxattrat(), getxattrat(), listxattrat() болон removexattrat(). Setxattr(), getxattr(), listxattr() болон removexattr() системийн дуудлагуудаас ялгаатай нь шинэ хувилбарууд нь файлын замыг хайж буй директорийн файлын тодорхойлогчийг шаарддаг.
- Btrfs нь BTRFS_IOC_SUBVOL_SYNC_WAIT ioctl үйлдлийг нэмж, дэд боть цэвэрлэгээ дуусах хүртэл хүлээлтийг идэвхжүүлж, "btrfs subvolume sync" командыг SEARCH_TREE ioctl (нөөцлөхөд хэрэгтэй программууд)-д хандах эрхгүй, эрхгүй хэрэглэгч гүйцэтгэх боломжийг олгосон. Кодлогдсон өгөгдлийг io_uring-ээр унших, жишээлбэл, шахалтгүйгээр шууд шахаж уншихад зориулагдсан ENCODED_READ ioctl үйлдлийг нэмсэн. Хуудасны хуудасны хэрэглээнд шилжих ажил үргэлжилж байна. Суулгасан арын лавлагаа хайх болон хүрээний буферийг тоолох үед түгжигдэх зөрчил багассан. Газрын зургийн шахалтын үр ашгийг сайжруулсан.
- Зөвхөн унших горимд хандах боломжтой хуваалтуудад ашиглах зориулалттай EROFS (Extendable Read-Only File System) файлын системд lseek() системийн дуудлагад SEEK_HOLE болон SEEK_DATA сонголтуудыг ашиглах боломжтой.
- F2FS одоо төхөөрөмжийн нэрийн нэрийг дэмждэг бөгөөд энэ нь таныг өөр FS-д блок төхөөрөмжийн хэсгийг ашиглахын тулд F2FS дахь хэсгийг түр хугацаагаар нөөцлөх боломжийг олгодог. Гаднах ажиллагаа дууссаны дараа нөөцлөгдсөн талбайг F2FS руу буцаах боломжтой. Жишээлбэл, та "mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb" командыг ашиглан FS үүсгэж болох бөгөөд үүний дараа /dev/vdc төхөөрөмжийн агуулгыг нөөцөлж, vdc.file файлд тусгах ба /dev/vdc хэсгийг өөрийн хэрэгцээнд зориулж форматлах боломжтой, жишээлбэл, FS. Захиалагдсан контентыг буцаахын тулд vdc.file-г устгахад л хангалттай.
- XFS нь бодит цагийн төхөөрөмжүүдийн квотыг дэмждэг. Бүх мета өгөгдлийн инодуудыг агуулсан мета өгөгдлийн лавлах нэмэлт дэмжлэг.
- FUSE хөдөлгүүр нь "sysctl fs.fuse.max_pages_limit" ашиглан хуудасны дээд хэмжээг (FUSE_MAX_MAX_PAGES) динамикаар өөрчлөх чадварыг агуулдаг. Уг ажил нь санах ойн хуудасны фолиог агуулдаг.
- SMB нь одоо FIFO, төхөөрөмжийн файл, симбол холбоос зэрэг тусгай файлын төрлүүдийг хадгалахад шаардлагатай SMB3-д зориулсан POSIX өргөтгөлүүдийг дэмждэг болсон. Нууц үгийг эргүүлэх өөр нууц үгтэй хуваалтыг холбох чадварыг нэмсэн. Нэрийн орон зайг тодорхойлоход зориулсан "cifs.upcall" гэсэн шинэ холбох сонголтыг нэмсэн. Тэмдэгт болон блок төхөөрөмжийн файлуудыг үүсгэсэн Windows NFS сервер. WSL маягийн симбол холбоосуудын дэмжлэг нэмэгдсэн (Windows Дэд систем Linux).
- UBIFS, ADFS, BEFS, HFS, HFSPLUS, HPFS, JFS болон ECRYPTFS файлын системийг шинэ хуваалт холбох API ашиглахаар шилжүүлсэн.
- ECRYPTFS, UFS болон NILFS2 файлын системүүдийг хуудасны фолиог ашиглахаар хөрвүүлсэн.
- Санах ой болон системийн үйлчилгээ
- Хуваарьлагч нь бодит цагийн даалгавруудын (RR/FIFO/DEADLINE) бүрэн урьдчилан сэргийлэх загвартай (PREEMPT_LAZY) тохирох залхуу урьдчилан сэргийлэх загварыг хэрэгжүүлдэг боловч ердийн даалгавруудыг (SCHED_NORMAL) тэмдэглэгээний хязгаар хүртэл хойшлуулдаг. Энэхүү саатал нь цоож эзэмшигчийг нүүлгэхэд хүргэдэг бөгөөд сайн дурын урьдчилан сэргийлэх загварыг ашиглан гүйцэтгэлийг тохиргоонд ойртуулдаг. Тиймээс шинэ загвар нь бодит цагийн даалгавруудыг бүрэн урьдчилан сэргийлэх боломжийг хадгалах боломжийг олгодог боловч ердийн ажлуудын гүйцэтгэлийн торгуулийг багасгадаг. Нэмж дурдахад, шинэ загвар нь цөмийн бусад бүрэлдэхүүн хэсгүүдэд (даалгавар төлөвлөгчийн гадна) байрлах процессоруудыг хуваарьт оруулахгүй байх замаар цөм дэх даалгаврыг урьдчилан авах үйлдлүүдийн логикийг хялбаршуулсан.
- Clang хөрвүүлэгч ашиглан бүтээхдээ оновчлолыг ашиглах боломжийг олгодог
Эх сурвалж: opennet.ru
