ปี 2022 นี้อาจเป็นปีแห่ง Rust ภายในเคอร์เนลลินุกซ์ตั้งแต่ Rust สำหรับ Linux น่าจะพร้อมสำหรับเคอร์เนล Linux เวอร์ชัน 6.1. นี่คือสิ่งที่เกิดขึ้นจากคำปราศรัยล่าสุดของ Linus Torvalds ในการประชุมสุดยอดโอเพ่นซอร์สครั้งล่าสุด
และก็คือผู้ดูแลหลักของเคอร์เนล Linux นั้นคุ้นเคยกับภาษา C ซึ่งพิจารณาอายุแล้ว เนื่องจากบางคนอายุใกล้จะหกสิบแล้ว ในขณะที่ผู้ดูแลรุ่นใหม่ซึ่งกลุ่มอายุในวัยสามสิบกำลังเพิ่มขึ้น ซึ่งมีแนวโน้มที่จะเพิ่มความยากในการค้นหาผู้ดูแลสำหรับเคอร์เนล Linux หากการพัฒนายังคงดำเนินต่อไปในภาษา C
ระหว่างงาน Open Source Summit Europe, Linus Torvalds ประกาศ ที่ยกเว้นปัญหาที่คาดไม่ถึง sและจะรวมแพตช์เพื่อรองรับการพัฒนาไดรเวอร์ Rust ในเคอร์เนล Linux 6.1 ซึ่งคาดว่าจะออกในเดือนธันวาคม
บางส่วน ประโยชน์ของการได้รับการสนับสนุน Rust ในเคอร์เนล ทำให้ง่ายต่อการเขียนคอนโทรลเลอร์ ของอุปกรณ์ที่ปลอดภัย โดยลดโอกาสความผิดพลาดของหน่วยความจำ และสนับสนุนให้นักพัฒนาใหม่เข้ามามีส่วนร่วมในเคอร์เนล
"สนิมเป็นหนึ่งในสิ่งเหล่านั้นที่ฉันคิดว่าจะนำมาซึ่งหน้าใหม่... เราแก่แล้วและเทา" Linus กล่าว
บันทึกประจำรุ่นสำหรับ Linux 6.0 rc1 ให้การอัปเดตเกี่ยวกับความคืบหน้าของโครงการ Rust สำหรับ Linux: มีคณะทำงานที่เกี่ยวข้อง มีไดร์เวอร์เบื้องต้นสำหรับสื่อเก็บข้อมูล NVMe ที่พัฒนาด้วยภาษานั้น รวมถึงไดรเวอร์สำหรับเซิร์ฟเวอร์สำหรับโปรโตคอลเครือข่าย 9P
อย่างไรก็ตาม ทีมยังคงประสบปัญหาในการสร้าง อันที่จริงมันเสร็จสิ้นด้วย GCC สำหรับเคอร์เนลในขณะที่ Rust ยังอยู่กับ LLVM อินเทอร์เฟซ Rust สำหรับ GCC อยู่ในระหว่างดำเนินการ แต่การริเริ่มยังอยู่ในช่วงเริ่มต้น
จุดเริ่มต้นของการสนับสนุน Rust สำหรับการพัฒนาเคอร์เนลลินุกซ์ ถือเป็น “ก้าวสำคัญ เพื่อให้สามารถเขียนตัวควบคุมในภาษาที่ปลอดภัยยิ่งขึ้น” Rust ของ Mozilla Research เป็นภาษาโปรแกรมประเภทหนึ่งที่เขียนโค้ดสำหรับระบบอินพุต/เอาต์พุตพื้นฐาน (BIOS) บูตโหลดเดอร์ ระบบปฏิบัติการ ฯลฯ มีความสนใจ
ตามที่ผู้สังเกตการณ์กล่าวว่านี่เป็นอนาคตของการเขียนโปรแกรมระบบมากกว่าภาษา C ในความเป็นจริงผู้เชี่ยวชาญกล่าวว่ามีการรับประกันความปลอดภัยของซอฟต์แวร์ที่ดีกว่าคู่ C/C++ ที่ AWS พวกเขาระบุว่าการเลือก Rust สำหรับโครงการพัฒนาหมายถึงการเพิ่มประสิทธิภาพการใช้พลังงานและประสิทธิภาพการดำเนินการของ C เพื่อประโยชน์ด้านความปลอดภัย
Linus ยังประกาศว่าเคอร์เนลเวอร์ชัน 6.1 จะปรับปรุงบางส่วนที่เก่ากว่า และพื้นฐานของเคอร์เนล เช่น ฟังก์ชัน printk() นอกจากนี้ Linus ยังจำได้ว่าเมื่อไม่กี่สิบปีที่แล้ว Intel พยายามโน้มน้าวเขาว่าโปรเซสเซอร์ Itanium คืออนาคต แต่เขาตอบโต้
“ไม่ สิ่งนี้จะไม่เกิดขึ้น เพราะไม่มีแพลตฟอร์มการพัฒนาสำหรับมัน ARM ทำทุกอย่างถูกต้องแล้ว” «
ปัญหาอีกประการหนึ่งที่ Torvalds ชี้ให้เห็นคือความไม่สอดคล้องกันในการผลิตโปรเซสเซอร์ ARM:
"บริษัทฮาร์ดแวร์บ้าๆ จาก Wild West ที่ผลิตชิปเฉพาะสำหรับงานต่างๆ" เขาเสริมว่า "มันเป็นเรื่องใหญ่เมื่อโปรเซสเซอร์ตัวแรกออกมา วันนี้มีมาตรฐานเพียงพอที่จะทำให้ง่ายต่อการถ่ายโอนคอร์ไปยังโปรเซสเซอร์ ARM ใหม่"
นอกจากนี้ เราสามารถชี้ไปที่การเปิดตัวของการใช้งานเริ่มต้นของไดรเวอร์ rust-e1000 สำหรับอแด็ปเตอร์ Intel Ethernet ซึ่งเขียนด้วยภาษา Rust บางส่วน
รหัสยังคงมีการเรียกโดยตรงไปยังการเชื่อมโยง C บางตัว แต่งานกำลังดำเนินการเพื่อแทนที่และเพิ่มนามธรรมของ Rust ที่จำเป็นในการเขียนไดรเวอร์เครือข่าย (เพื่อเข้าถึง PCI, DMA และ API เครือข่ายเคอร์เนล) ในรูปแบบปัจจุบัน ไดรเวอร์ผ่านการทดสอบ ping ได้สำเร็จเมื่อบูตเข้าสู่ QEMU แต่ก็ยังใช้งานไม่ได้กับฮาร์ดแวร์จริง
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.