Rust สำหรับ Linux ถูกรวมเข้ากับ Linux 6.1 . อย่างเป็นทางการแล้ว

ไดรเวอร์สนิมบน Linux

รหัสของ Rust สำหรับ Linux ถูกรวมเข้ากับทรีหลักของ Linux 6.1 Git เมื่อวันจันทร์ที่ผ่านมา และรหัสบรรทัดเริ่มต้นใหม่ 12 นี้ให้โครงสร้างพื้นฐานและการบูรณาการขั้นพื้นฐานเท่านั้น ในขณะที่คำขอดึงในอนาคตจะเพิ่มสิ่งที่เป็นนามธรรมของระบบย่อยเพิ่มเติม ไดรเวอร์ต่างๆ ที่เขียนด้วย Rust และอีกมากมาย

การรวบรวมเคอร์เนล Linux พร้อมการสนับสนุน Rust ยังคงเป็นทางเลือกเนื่องจากโปรเจ็กต์ "Rust for Linux" กำลังก้าวไปอีกขั้น แต่นักพัฒนาบางคนยังคงสงสัยเกี่ยวกับการนำภาษา Rust มาสู่เคอร์เนล Linux

ในข้อความถึงชุมชนเคอร์เนล Torvalds กล่าวว่า:

“ต้นไม้เพิ่งมีรากฐานมา แต่โดยพื้นฐานแล้วมันอยู่บน linux-next เป็นเวลาหนึ่งปีครึ่ง อัปเดตตามความคิดเห็นจาก Kernel Maintenance Summit

มิเกลเป็นผู้ดูแลหลัก และฉันจะช่วยเมื่อจำเป็น แผนของเราคือให้ต้นไม้เปลี่ยนไปใช้แนวปฏิบัติมาตรฐานในการไม่เปลี่ยนฐานเมื่อโครงสร้างพื้นฐานรอบแรกเสร็จสมบูรณ์ เนื้อหาเป็นเนื้อหาขั้นต่ำสุดที่อนุญาตให้รวมรหัส Rust เข้ากับเคอร์เนลโดยมีอินเทอร์เฟซอื่น ๆ อีกมากมาย (และไดรเวอร์: NVMe, 9p, GPU M1) อยู่ระหว่างทาง"

เพื่อเป็นการเตือนความจำ โครงการ "Rust for Linux" มีเป้าหมายเพื่อแนะนำภาษาการเขียนโปรแกรมใหม่ในเคอร์เนล. Rust มีคุณสมบัติสำคัญที่ทำให้การพิจารณาเป็นภาษาเคอร์เนลที่สองมีความน่าสนใจ: ช่วยให้มั่นใจได้ว่าจะไม่มีพฤติกรรมที่ไม่ได้กำหนดเกิดขึ้น ซึ่งรวมถึงข้อผิดพลาดของการไม่ใช้ After-free, Double frees, data races เป็นต้น

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

การสนับสนุน Rust บน linux-next เป็นเวลาหนึ่งปีครึ่งและบันทึกสั้น ๆ นั้นไม่ยุติธรรมกับจำนวนผู้ที่มีส่วนร่วมในทั้งฝั่งเคอร์เนล Linux และฝั่ง Rust upstream เพื่อรองรับความต้องการของเคอร์เนล . . .

ขอบคุณ 173 คนเหล่านี้และอีกหลายคนที่มีส่วนร่วมในทุกรูปแบบ

Torvalds ประกาศในรายชื่อส่งเมลเคอร์เนลว่า การสนับสนุนเบื้องต้นสำหรับ Rust สำหรับ Linux มีประมาณ 4 ด้าน และซึ่งรวมถึง:

  • เคอร์เนล internals (การขยาย kallsyms สำหรับสัญลักษณ์ Rust, รูปแบบ % pA);
  • เฟรมเวิร์ก Kbuild (กฎการสร้างสนิมและสคริปต์สนับสนุน)
  • เอกสารและตัวอย่างแกนสนิม

เมื่อเร็ว ๆ นี้ Torvalds ได้ตรวจสอบปัญหาด้านความปลอดภัยที่อาจเกิดขึ้นกับรายการดั้งเดิมของการดำเนินการเก็งกำไรที่เชื่อมโยงกับรายการลิงก์ของเคอร์เนลที่เขียนใน ANSI C ในขณะที่แก้ไขปัญหานี้ เขาตระหนักว่า 'ใน C99 ตัววนซ้ำที่ส่งผ่านไปยังรายการแมโครการข้ามผ่านจะต้องถูกประกาศในขอบเขตภายนอก วนรอบตัวเอง

จากข้อสังเกตนี้เองที่การตัดสินใจล่าสุดของเขาในการอัพเกรดเคอร์เนล Linux เป็น C11 ซึ่งสร้างมาตรฐานเสร็จสิ้นในปี 2011 ได้เกิดขึ้น นี่เป็นเหตุผลทางเทคนิคประเภทหนึ่งที่อาจเป็นเหตุให้ละทิ้งภาษา C แทน Rust ไปเป็นเวลานาน นอกเหนือจากเงื่อนไขการพัฒนาขั้นพื้นฐาน

การสนับสนุนของ Rust สำหรับการพัฒนาเคอร์เนล Linux ยังคงดำเนินต่อไปและถือเป็น "ขั้นตอนสำคัญ เพื่อให้สามารถเขียนตัวควบคุมในภาษาที่ปลอดภัยยิ่งขึ้น” ภาษา Rust ที่พัฒนาโดย Mozilla Research เป็นประเภทของภาษาการเขียนโปรแกรมที่ใช้โดยผู้ที่เขียนโค้ดสำหรับระบบอินพุต/เอาต์พุตพื้นฐาน (BIOS) ตัวจัดการการบูต ระบบปฏิบัติการ และอื่นๆ มีความสนใจ

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

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


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

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

*

*

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

  1.   เอดูอาร์โดอาวิลา dijo

    ข่าวดีอะไร. เป็นสิ่งที่เห็นมา โดยเฉพาะอย่างยิ่งเนื่องจากสนิมมีความแข็งแรงมากขึ้น โดยส่วนตัวแล้ว การเขียนโปรแกรมใน Rust ทำให้ฉันหลงใหล และในไม่ช้าฉันก็จะกลายเป็นมืออาชีพใน Rust