ความเป็นไปได้ในการรวมการสนับสนุน Rust เข้ากับเคอร์เนล Linux 5.20 ไม่ได้ถูกตัดออก

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

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

ควรจำไว้ว่าตั้งแต่ปีที่แล้ว Rust ได้กลายเป็นหนึ่งในรายการโปรดที่จะรวมอยู่ในโครงการสำคัญต่าง ๆ และในช่วงเวลาที่ผ่านไป งานได้เสร็จสิ้นแล้วที่เกี่ยวข้องกับการดำเนินการสนับสนุน Rust

ภายในโครงการดังที่ให้ความสนใจสนิมมาตั้งแต่ปีที่แล้ว เราสามารถไฮไลท์ เช่น Android ได้ เนื่องจากสนใจ สนิม เพราะมันช่วยให้ บรรลุประสิทธิภาพใกล้เคียงกับภาษา C และ C++ทำให้สามารถใช้เพื่อพัฒนาชิ้นส่วนระดับต่ำของแพลตฟอร์มและส่วนประกอบเพื่อเชื่อมต่อกับฮาร์ดแวร์

เพื่อให้มั่นใจในความปลอดภัยของรหัส C และ C ++ Android จึงใช้การแยกแซนด์บ็อกซ์การวิเคราะห์แบบคงที่และการทดสอบแบบฟัซซ์ ความสามารถในการแยกแซนด์บ็อกซ์มี จำกัด และถึงขีด จำกัด ของความสามารถแล้ว (การแยกส่วนเพิ่มเติมในกระบวนการไม่สามารถใช้งานได้จริงจากมุมมองการใช้ทรัพยากร)

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

สนิม-Android
บทความที่เกี่ยวข้อง:
Rust เป็นที่ชื่นชอบสำหรับการพัฒนา Android อยู่แล้ว

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

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

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

Linus Torvalds
บทความที่เกี่ยวข้อง:
Rust ไม่ได้รับการยกเว้นจากการวิพากษ์วิจารณ์ของ Linus Torvalds

แต่เป็นเวลาหลายเดือนแล้วที่ Linus ให้ข้อเสนอแนะและทำงานอย่างหนักเพื่อปรับปรุงการใช้งาน ดังกล่าว ขณะนี้ยังไม่ได้ส่งคำขอดึงสำหรับคอร์ไปยัง Torvalds แต่ชุดโปรแกรมแก้ไขได้รับการแก้ไขเพิ่มเติม ลบประเด็นสำคัญ ทดสอบบนสาขา linux-next มาระยะหนึ่งแล้ว และนำไปสู่สถานะที่เหมาะสมสำหรับการสร้างเลเยอร์นามธรรมที่ด้านบนของระบบย่อยเคอร์เนล การเขียนไดรเวอร์ และโมดูล

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

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

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


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

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

*

*

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