ลินุกซ์ 6.2 ออกมาแล้วและนี่คือข่าวของมัน

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

Linux เป็นเคอร์เนลฟรีส่วนใหญ่คล้ายกับเคอร์เนล Unix เป็นหนึ่งในตัวอย่างหลักของซอฟต์แวร์โอเพ่นซอร์สฟรี

หลังจากสองเดือนของการพัฒนา Linus Torvalds ประกาศเปิดตัว Linux Kernel 6.2 โดยที่การเปลี่ยนแปลงที่โดดเด่นที่สุด ได้แก่ รหัสลิขสิทธิ์ Copyleft-Next, การใช้งาน RAID5/6 ที่ได้รับการปรับปรุงใน Btrfs, การผสานรวมการรองรับภาษา Rust อย่างต่อเนื่อง, ลดค่าใช้จ่ายในการป้องกัน Retbleed, เพิ่มข้อจำกัดในการเขียนหน่วยความจำใหม่ และกลไก TCP ที่เพิ่มเข้ามา PLB (Protective Load Balancing ) ได้รับการเพิ่ม

เวอร์ชันใหม่ได้รับการแก้ไข 16843 รายการจากนักพัฒนา 2178 คน ขนาดโปรแกรมแก้ไขคือ 62 MB (การเปลี่ยนแปลงได้รับผลกระทบ 14108 ไฟล์, เพิ่ม 730195 บรรทัดของรหัส, ลบ 409485 บรรทัด) ประมาณ 42% ของการเปลี่ยนแปลงทั้งหมดใน 6.2 เกี่ยวข้องกับไดรเวอร์อุปกรณ์ และประมาณ 16% ของการเปลี่ยนแปลงเกี่ยวข้องกับการอัปเดตรหัสเฉพาะสำหรับสถาปัตยกรรมฮาร์ดแวร์

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

ในเวอร์ชั่นใหม่ที่นำเสนอนี้ รวมถึงรหัสและการเปลี่ยนแปลงที่ให้ไว้ได้รับอนุญาตภายใต้ใบอนุญาต Copyleft-Next 0.3.1 ใบอนุญาต Copyleft-Next สร้างขึ้นโดยหนึ่งในผู้ร่วมให้ข้อมูล GPLv3 และเข้ากันได้กับใบอนุญาต GPLv2 โดยสมบูรณ์ ซึ่งได้รับการตรวจสอบโดยทนายความของ SUSE และ Red Hat เมื่อเปรียบเทียบกับ GPLv2 ใบอนุญาต Copyleft-Next มีขนาดกะทัดรัดและเข้าใจง่ายกว่ามาก (ลบส่วนแนะนำและกล่าวถึงข้อผูกมัดที่เลิกใช้แล้ว) กำหนดเวลาและขั้นตอนในการลบการละเมิด ลบข้อกำหนดของ copyleft โดยอัตโนมัติเมื่อล้าสมัย ซึ่งมากกว่า กว่า 15 ปี

การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งก็คือ รวมยูทิลิตี้ "rv" ซึ่งจัดเตรียมอินเทอร์เฟซสำหรับการโต้ตอบจากพื้นที่ผู้ใช้กับตัวจัดการของระบบย่อย RV (การยืนยันรันไทม์) การตรวจสอบจะดำเนินการที่รันไทม์โดยการแนบตัวควบคุมเข้ากับจุดติดตามที่ตรวจสอบความคืบหน้าที่แท้จริงของการดำเนินการกับแบบจำลองออโตมาตอนที่กำหนดการอ้างอิงเริ่มต้นซึ่งกำหนดลักษณะการทำงานที่คาดหวังของระบบ

เพิ่ม "iommufd" API สำหรับการจัดการพื้นที่ผู้ใช้หน่วยความจำ I/O (หน่วยจัดการหน่วยความจำ) API ใหม่ช่วยให้คุณจัดการตารางหน้าหน่วยความจำ I/O โดยใช้ตัวอธิบายไฟล์

สำหรับกลไกการล็อค RCU (อ่าน-คัดลอก-ปรับปรุง), มีการใช้กลไกการโทรกลับที่เป็นทางเลือก ซึ่งตัวจับเวลาประมวลผลการเรียกกลับหลายรายการพร้อมกันในโหมดแบทช์ การใช้การเพิ่มประสิทธิภาพที่เสนอนี้ช่วยลดการใช้พลังงานในอุปกรณ์ Android และ ChromeOS ได้ 5-10% โดยเลื่อนคำขอ RCU ในช่วงที่ไม่ได้ใช้งานหรือโหลดระบบน้อย

เพิ่มตัวเลือกใหม่ บรรทัดคำสั่งเคอร์เนล "trace_trigger" เพื่อเรียกใช้ทริกเกอร์การติดตาม ซึ่งใช้เพื่อผูกคำสั่งแบบมีเงื่อนไขที่เรียกใช้เมื่อสแต็กเทรซถูกทริกเกอร์ (เช่น trace_trigger=”sched_switch.stacktrace if prev_state == 2”)

การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งก็คือ พอร์ตของฟังก์ชันเพิ่มเติมได้เริ่มต้นจากสาขา Rust-for-Linux เกี่ยวข้องกับการใช้ Rust เป็นภาษาที่สองในการพัฒนาไดรเวอร์และโมดูลเคอร์เนล การสนับสนุนสนิมถูกปิดใช้งานตามค่าเริ่มต้น และไม่ทำให้สนิมรวมเป็นการสร้างเคอร์เนลอ้างอิงที่จำเป็น ฟังก์ชันพื้นฐานที่นำเสนอในเวอร์ชันล่าสุดได้รับการขยายด้วยคุณสมบัติเพื่อรองรับโค้ดระดับต่ำ เช่น ประเภทของ Vec และมาโคร pr_debug!(), pr_cont!() และ pr_alert!() รวมถึง "#[vtable ]" มาโคร » มาโครเชิงขั้นตอน ซึ่งช่วยให้การทำงานกับตารางของตัวชี้เหนือฟังก์ชันง่ายขึ้น คาดว่าจะมีการเพิ่มตัวห่อหุ้ม Rust ระดับสูงที่ด้านบนของระบบย่อยเคอร์เนลในรีลีสในอนาคต ช่วยให้คุณสร้างไดรเวอร์ที่สมบูรณ์ใน Rust

นอกจากนี้ ยังเน้นย้ำว่า ใช้วิธีการใหม่เพื่อป้องกันช่องโหว่ Retbleed ในซีพียู Intel และ AMD ใช้การติดตามความลึกของการโทร ซึ่งไม่ช้าเท่ากับการป้องกันแบบ Retbleed ที่แสดงอยู่ด้านบน เพื่อเปิดใช้งานโหมดใหม่ พารามิเตอร์บรรทัดคำสั่งเคอร์เนล “rebleed=stuff” ถูกเสนอ

En แพลตฟอร์ม อาร์ม 64, ในขั้นตอนการบู๊ต เป็นไปได้ที่จะเปิดและปิดการใช้งานซอฟต์แวร์ของกลไก Shadow Stack ซึ่งใช้เพื่อป้องกันการเขียนทับที่อยู่ส่งคืนของฟังก์ชันในกรณีที่สแต็กบัฟเฟอร์ล้น (ส่วนสำคัญของการป้องกันคือการบันทึกที่อยู่ส่งคืนในสแต็กแยกต่างหากหลังจากผ่านการควบคุมไปยังฟังก์ชันและกู้คืนที่อยู่ที่กำหนดก่อนออกจากฟังก์ชัน ).

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

  • สำหรับ IPv6 เพิ่มการรองรับสำหรับ PLB (Protective Load Balancing) โดยการเปลี่ยนป้ายกำกับโฟลว์ IPv6 ทำให้ PLB สุ่มเปลี่ยนเส้นทางแพ็กเก็ตเพื่อให้โหลดสมดุลระหว่างพอร์ตสวิตช์
  • เพิ่มการรองรับลิงก์ 800 กิกะบิต
  • เพิ่มความสามารถในการเปลี่ยนชื่ออินเทอร์เฟซเครือข่ายได้ทันทีโดยไม่ต้องหยุดทำงาน
  • เพิ่มการกล่าวถึงที่อยู่ IP ที่แพ็กเก็ตมาถึงข้อความน้ำท่วม SYN ที่เขียนลงในบันทึก
  • สำหรับ UDP จะใช้ความสามารถในการใช้ตารางแฮชแยกต่างหากสำหรับเนมสเปซเครือข่ายที่แตกต่างกัน
  • สะพานเครือข่ายรองรับวิธีการตรวจสอบความถูกต้อง MAB (MAC Authentication Bypass)
  • ไดรเวอร์ i915 (Intel) รองรับกราฟิกการ์ดแยก Intel Arc (DG2/Alchemist) อย่างเสถียร และปรับปรุงการรองรับ GPU Meteor Lake
  • ไดรเวอร์ Nouveau รองรับ GPU NVIDIA GA102 (RTX 30) ที่ใช้สถาปัตยกรรม Ampere สำหรับการ์ด nva3 (GT215) ได้เพิ่มความสามารถในการควบคุมแบ็คไลท์แล้ว

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


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

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

*

*

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