Linux 6.1 มาพร้อมกับ Rust การปรับปรุงประสิทธิภาพ ไดรเวอร์ และอื่นๆ

ลินุกซ์เคอร์เนล

ลินุกซ์เคอร์เนล

หลังจากสองเดือนของการพัฒนา Linus Torvalds ประกาศเปิดตัวเคอร์เนล Linux 6.1 เวอร์ชันใหม่ซึ่งในการเปลี่ยนแปลงที่โดดเด่นที่สุด: รองรับการพัฒนาไดรเวอร์และโมดูลในภาษา Rust, ความทันสมัยของกลไกในการกำหนดหน้าหน่วยความจำที่ใช้, ตัวจัดการหน่วยความจำพิเศษสำหรับโปรแกรม BPF, ระบบวินิจฉัยปัญหาของหน่วยความจำ KMSAN กลไกการป้องกัน KCFI (Kernel Control -Flow Integrity) การแนะนำของต้นไม้โครงสร้างเมเปิ้ล

รุ่นใหม่ ได้รับการแก้ไข 15115 จากนักพัฒนา 2139ขนาดแพตช์คือ 51 MB ซึ่งน้อยกว่าขนาดของแพตช์เคอร์เนล 2 และ 6.0 ประมาณ 5.19 เท่า

ข่าวหลักใน Linux 6.1

ในเคอร์เนลเวอร์ชันใหม่ที่นำเสนอนี้ เราพบว่า เพิ่มความสามารถในการใช้ Rust เป็นภาษาที่สอง เพื่อพัฒนาไดรเวอร์และโมดูลเคอร์เนล เหตุผลหลักที่อยู่เบื้องหลังการรองรับ Rust คือการทำให้ง่ายต่อการเขียนไดรเวอร์อุปกรณ์คุณภาพสูงและปลอดภัยโดยลดโอกาสที่หน่วยความจำจะผิดพลาด

การสนับสนุนสนิมถูกปิดใช้งานตามค่าเริ่มต้น และไม่ทำให้สนิมรวมเป็นการสร้างเคอร์เนลที่จำเป็น จนถึงตอนนี้ เคอร์เนลได้ใช้เวอร์ชันแพตช์ขั้นต่ำแบบแยกส่วน ซึ่งลดโค้ดจาก 40 เหลือ 13 บรรทัดและให้โค้ดขั้นต่ำเปล่าเท่านั้น ซึ่งเพียงพอที่จะสร้างโมดูลเคอร์เนลอย่างง่ายที่เขียนใน Rust

ในอนาคตมีการวางแผนที่จะค่อยๆ เพิ่มฟังก์ชันการทำงานที่มีอยู่พอร์ตการเปลี่ยนแปลงอื่นๆ จากสาขา Rust-for-Linux ในขณะเดียวกัน โครงการกำลังได้รับการพัฒนาเพื่อใช้โครงสร้างพื้นฐานที่เสนอเพื่อพัฒนาตัวควบคุมดิสก์ NVMe, โปรโตคอลเครือข่าย 9p และ Apple M1 GPU บน Rust

การเปลี่ยนแปลงที่โดดเด่นอีกอย่างคือใน AArch64, RISC-V และ LoongArch พร้อม EFI ซึ่งใช้ความสามารถในการโหลดอิมเมจเคอร์เนลที่บีบอัดโดยตรงนอกจากนี้พวกเขายังเพิ่ม ไดรเวอร์สำหรับการโหลด รัน และดาวน์โหลดเคอร์เนลอิมเมจ เรียกโดยตรงจาก EFI zboot

มีการเพิ่มไดรเวอร์สำหรับการติดตั้งและลบโปรโตคอลจากฐานข้อมูลโปรโตคอล EFI ก่อนหน้านี้ การคลายแพ็กทำได้โดย bootloader แยกต่างหาก แต่ตอนนี้สามารถทำได้โดยไดรเวอร์ในเคอร์เนลเอง: อิมเมจเคอร์เนลถูกสร้างขึ้นเป็นแอปพลิเคชัน EFI

ส่วนหนึ่งของแพทช์ ถูกนำมาใช้กับการดำเนินการของรูปแบบการจัดการหน่วยความจำ ในระดับต่างๆนั้น อนุญาตให้ธนาคารหน่วยความจำแยกต่างหากที่มีลักษณะการทำงานที่แตกต่างกัน. ตัวอย่างเช่น เพจที่ใช้บ่อยอาจถูกจัดเก็บไว้ในหน่วยความจำที่เร็วที่สุด ในขณะที่เพจที่ใช้บ่อยน้อยกว่าอาจถูกจัดเก็บไว้ในหน่วยความจำที่ค่อนข้างช้า เคอร์เนล 6.1 ใช้กลไกเพื่อตรวจสอบว่าเพจที่ใช้งานหนักอยู่ในหน่วยความจำช้าหรือไม่ เพื่อที่จะย้ายเพจไปยังหน่วยความจำเร็ว และใช้แนวคิดทั่วไปของระดับหน่วยความจำและประสิทธิภาพที่สัมพันธ์กัน

นอกจากนี้เรายังสามารถพบได้ว่า เพิ่มความสามารถในการสร้างโปรแกรม BPF ที่ "ทำลายล้าง" ให้กับระบบย่อย BPF ออกแบบมาโดยเฉพาะเพื่อทำให้เกิดข้อขัดข้องผ่านการเรียก crash_kexec() โปรแกรม BPF ดังกล่าวอาจจำเป็นสำหรับการดีบักเพื่อทริกเกอร์การสร้างการถ่ายโอนข้อมูลหน่วยความจำในช่วงเวลาหนึ่ง การเข้าถึงการดำเนินการทำลายเมื่อโหลดโปรแกรม BPF จำเป็นต้องระบุแฟล็ก BPF_F_DESTRUCTIVE ตั้งค่า sysctl kernel.destructive_bpf_enabled และตั้งค่าสิทธิ์ CAP_SYS_BOOT

เคยทำแล้วo การเพิ่มประสิทธิภาพที่สำคัญในระบบไฟล์ Btrfsเหนือสิ่งอื่นใด ประสิทธิภาพของการดำเนินการ fiemap และ lseek เพิ่มขึ้นตามลำดับความสำคัญ (การตรวจสอบส่วนขยายที่ใช้ร่วมกันนั้นเร็วขึ้น 2-3 เท่า และการเปลี่ยนตำแหน่งในไฟล์เร็วขึ้น 1.3-4 เท่า) อีกด้วย, เพิ่มความเร็วในการบันทึกไอโหนดสำหรับไดเร็กทอรี (ประสิทธิภาพเพิ่มขึ้น 25% และลดเวลาแฝงลง 21% ใน dbench) I/O ที่บัฟเฟอร์ได้รับการปรับปรุงและการใช้หน่วยความจำลดลง

Ext4 เพิ่มการปรับแต่งประสิทธิภาพ ที่เกี่ยวข้องกับการทำเจอร์นัลและการอ่านอย่างเดียว ยกเลิกการรองรับแอตทริบิวต์ noacl และ nouser_xattr ที่เลิกใช้แล้ว รวมถึงใน EROFS (Enhanced Read-Only File System) ที่ออกแบบมาเพื่อใช้กับพาร์ติชันแบบอ่านอย่างเดียว ใช้ความเป็นไปได้ในการจัดเก็บชุดข้อมูลที่ซ้ำกันในไฟล์อื่น ระบบ

ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • เพิ่มการรองรับสำหรับระบบย่อยเสียงที่ใช้ในโปรเซสเซอร์ Apple Silicon, Intel SkyLake และ Intel KabyLake
  • ตัวควบคุมเสียง HDA CS35L41 รองรับโหมดสลีป
  • เพิ่มการรองรับคอนโทรลเลอร์ AHCI SATA ที่ใช้ใน Baikal-T1 SoC
  • เพิ่มการรองรับชิป Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, การเชื่อมต่อในตัว), Realtek RTL8852C, RTW8852AE และ RTL8761BUV (Edimax BT-8500)
  • เพิ่มไดรเวอร์สำหรับ PinePhone Keyboard, InterTouch Touchpads (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, IBM Operation Panels, XBOX One Elite, XP-PEN Deco Pro S Tablets และ Intuos Pro ขนาดเล็ก (PTH-460)
  • เพิ่มไดรเวอร์สำหรับตัวเร่งความเร็วการเข้ารหัส Aspeed HACE (Hash และ Crypto Engine)
  • เพิ่มการรองรับสำหรับคอนโทรลเลอร์ Intel Meteor Lake Thunderbolt/USB4
  • เพิ่มการสนับสนุนสำหรับ Sony Xperia 1 IV, Samsung Galaxy E5, E7 และ Grand Max, สมาร์ทโฟน Pine64 Pinephone Pro
  • ARM SoC เข้ากันได้กับ AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 และ RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p ข้อมูลเกี่ยวกับ SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom และ NXP

สุดท้ายนี้ หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา