บริษัทออราเคิล
แพ็คเกจ Unbreakable Enterprise Kernel 6 ขึ้นอยู่กับเคอร์เนล
สำคัญ
- ขยายการรองรับสำหรับระบบที่ใช้สถาปัตยกรรม ARM 64 บิต (aarch64)
- มีการรองรับคุณสมบัติทั้งหมดของ Cgroup v2 แล้ว
- กรอบงาน ktask ได้รับการปรับใช้เพื่อทำให้งานขนานกันในเคอร์เนลที่ใช้ทรัพยากร CPU จำนวนมาก ตัวอย่างเช่น การใช้ ktask สามารถจัดระเบียบการดำเนินการแบบขนานเพื่อล้างช่วงของเพจหน่วยความจำหรือประมวลผลรายการ inodes ได้
- kswapd เวอร์ชันขนานได้รับการเปิดใช้งานเพื่อประมวลผลการสลับหน้าหน่วยความจำแบบอะซิงโครนัส ช่วยลดจำนวนการสลับโดยตรง (ซิงโครนัส) เมื่อจำนวนเพจหน่วยความจำที่ว่างลดลง kswapd จะทำการสแกนเพื่อระบุเพจที่ไม่ได้ใช้ซึ่งสามารถปล่อยได้
- รองรับการตรวจสอบความสมบูรณ์ของเคอร์เนลอิมเมจและเฟิร์มแวร์โดยใช้ลายเซ็นดิจิทัลเมื่อโหลดเคอร์เนลโดยใช้กลไก Kexec (โหลดเคอร์เนลจากระบบที่โหลดแล้ว)
- ประสิทธิภาพของระบบการจัดการหน่วยความจำเสมือนได้รับการปรับให้เหมาะสม ประสิทธิภาพในการล้างหน่วยความจำและหน้าแคชได้รับการปรับปรุง และการประมวลผลการเข้าถึงหน้าหน่วยความจำที่ไม่ได้ถูกจัดสรร (ข้อบกพร่องของหน้า) ได้รับการปรับปรุง
- การรองรับ NVDIMM ได้รับการขยาย ทำให้หน่วยความจำถาวรนี้สามารถใช้เป็น RAM แบบดั้งเดิมได้แล้ว
- มีการเปลี่ยนไปใช้ระบบดีบักแบบไดนามิก DTrace 2.0 ซึ่ง
แปลแล้ว เพื่อใช้ระบบย่อยเคอร์เนล eBPF ขณะนี้ DTrace ทำงานบน eBPF คล้ายกับวิธีที่เครื่องมือติดตาม Linux ที่มีอยู่ทำงานบน eBPF - มีการปรับปรุงระบบไฟล์ OCFS2 (Oracle Cluster File System)
- ปรับปรุงการรองรับระบบไฟล์ Btrfs เพิ่มความสามารถในการใช้ Btrfs บนพาร์ติชันรูท มีการเพิ่มตัวเลือกให้กับตัวติดตั้งเพื่อเลือก Btrfs เมื่อทำการฟอร์แมตอุปกรณ์ เพิ่มความสามารถในการวางไฟล์สลับบนพาร์ติชันด้วย Btrfs Btrfs ได้เพิ่มการรองรับการบีบอัดโดยใช้อัลกอริธึม ZStandard
- เพิ่มการรองรับอินเทอร์เฟซสำหรับ I/O แบบอะซิงโครนัส - io_uring ซึ่งมีความโดดเด่นในด้านการสนับสนุนการโพล I/O และความสามารถในการทำงานโดยมีหรือไม่มีการบัฟเฟอร์ ในแง่ของประสิทธิภาพ io_uring นั้นใกล้เคียงกับ SPDK มากและเหนือกว่า libaio อย่างมากเมื่อทำงานกับการเปิดใช้งานการโพล หากต้องการใช้ io_uring ในแอปพลิเคชันปลายทางที่ทำงานในพื้นที่ผู้ใช้ ไลบรารี liburing ได้ถูกจัดเตรียมไว้ โดยจัดให้มีการเชื่อมโยงระดับสูงผ่านอินเทอร์เฟซเคอร์เนล
- เพิ่มการรองรับโหมด
adiantum เพื่อการเข้ารหัสการจัดเก็บข้อมูลที่รวดเร็ว - เพิ่มการรองรับการบีบอัดโดยใช้อัลกอริทึม
มาตรฐาน (zstd) - ระบบไฟล์ ext4 ใช้การประทับเวลา 64 บิตในฟิลด์ซูเปอร์บล็อก
- XFS มีเครื่องมือสำหรับการรายงานสถานะความสมบูรณ์ของระบบไฟล์ระหว่างการดำเนินการและรับสถานะการดำเนินการ fsck ได้ทันที
- สแต็ค TCP เริ่มต้นถูกสลับไปที่ "
เวลาออกเดินทางก่อนเวลา " แทน "เร็วที่สุด" เมื่อส่งแพ็กเก็ต เปิดใช้งานการสนับสนุน GRO (การรับส่งข้อมูลทั่วไป) สำหรับ UDP แล้ว เพิ่มการรองรับการรับและส่งแพ็กเก็ต TCP ในโหมด Zero-Copy - มีการใช้โปรโตคอล TLS ในระดับเคอร์เนล (KTLS) ซึ่งขณะนี้สามารถใช้ได้ไม่เพียงแต่สำหรับการส่งเท่านั้น แต่ยังรวมถึงข้อมูลที่ได้รับด้วย
- เปิดใช้งานเป็นแบ็กเอนด์สำหรับไฟร์วอลล์ตามค่าเริ่มต้น
nftables เพิ่มการสนับสนุนเพิ่มเติมbpfilter . - เพิ่มการรองรับสำหรับระบบย่อย XDP (eXpress Data Path) ซึ่งอนุญาตให้รันโปรแกรม BPF บน Linux ที่ระดับไดรเวอร์เครือข่ายพร้อมความสามารถในการเข้าถึงบัฟเฟอร์แพ็กเก็ต DMA โดยตรงและในขั้นตอนก่อนที่บัฟเฟอร์ skbuff จะถูกจัดสรรโดยสแต็กเครือข่าย
- ปรับปรุงและเปิดใช้งานเมื่อใช้โหมด UEFI Secure Boot
ออกโรง ซึ่งจำกัดการเข้าถึงเคอร์เนลของผู้ใช้รูทและบล็อกเส้นทางบายพาส UEFI Secure Boot ตัวอย่างเช่น ในโหมดล็อคดาวน์ เข้าถึง /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, โหมดดีบัก kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (โครงสร้างข้อมูลการ์ด) บางส่วน อินเทอร์เฟซถูกจำกัด การลงทะเบียน ACPI และ MSR ของ CPU, การเรียกไปยัง kexec_file และ kexec_load ถูกบล็อก, ห้ามใช้โหมดสลีป, การใช้ DMA สำหรับอุปกรณ์ PCI ถูกจำกัด, ห้ามนำเข้ารหัส ACPI จากตัวแปร EFI, ห้ามจัดการกับพอร์ต I/O อนุญาต รวมถึงการเปลี่ยนหมายเลขอินเตอร์รัปต์และพอร์ต I/O สำหรับพอร์ตอนุกรม - เพิ่มการรองรับสำหรับคำสั่ง IBRS (Enhanced Indirect Branch Restricted Speculation) ที่ได้รับการปรับปรุง ซึ่งช่วยให้คุณสามารถเปิดใช้งานและปิดใช้งานการดำเนินการคำสั่งแบบเก็งกำไรได้อย่างปรับเปลี่ยนในระหว่างการประมวลผลขัดจังหวะ การเรียกระบบ และการสลับบริบท ด้วยการสนับสนุน IBRS ที่ปรับปรุงแล้ว วิธีการนี้ใช้เพื่อป้องกันการโจมตี Spectre V2 แทน Retpoline เนื่องจากช่วยให้มีประสิทธิภาพสูงขึ้น
- ปรับปรุงความปลอดภัยในไดเร็กทอรีที่สามารถเขียนได้ทั่วโลก ในไดเร็กทอรีดังกล่าว ห้ามมิให้สร้างไฟล์ FIFO และไฟล์ของผู้ใช้ที่ไม่ตรงกับเจ้าของไดเร็กทอรีที่มีแฟล็กติดหนึบ
- ตามค่าเริ่มต้นบนระบบ ARM การสุ่มพื้นที่ที่อยู่เคอร์เนลบนระบบ (KASLR) จะถูกเปิดใช้งาน เปิดใช้งานการรับรองความถูกต้องของตัวชี้สำหรับ Aarch64
- เพิ่มการรองรับ "NVMe บน Fabrics TCP"
- เพิ่มไดรเวอร์ virtio-pmem เพื่อให้สามารถเข้าถึงอุปกรณ์จัดเก็บข้อมูลที่แมปพื้นที่ที่อยู่ทางกายภาพ เช่น NVDIMM
ที่มา: opennet.ru