Josh Triplett ซึ่งทำงานที่ Intel และอยู่ในคณะกรรมการดูแลการพัฒนา Crates.io โดยพูดในการประชุมสุดยอดเทคโนโลยีโอเพ่นซอร์ส
ในคณะทำงานที่อยู่ระหว่างการสร้าง นักพัฒนา Rust ร่วมกับวิศวกรจาก Intel จะเตรียมข้อกำหนดที่กำหนดฟังก์ชันการทำงานที่ต้องใช้ใน Rust สำหรับการเขียนโปรแกรมระบบ การเขียนโปรแกรมระบบมักต้องมีการจัดการในระดับต่ำ เช่น การดำเนินการคำสั่งตัวประมวลผลพิเศษ และการได้รับข้อมูลโดยละเอียดเกี่ยวกับสถานะของตัวประมวลผล จากคุณสมบัติที่คล้ายกันที่ได้รับการพัฒนาสำหรับ Rust แล้ว การสนับสนุนโครงสร้างที่ไม่มีชื่อ สหภาพ การแทรกภาษาแอสเซมบลี (มาโคร "asm!") และรูปแบบตัวเลขจุดลอยตัว BFLOAT16 จะถูกบันทึกไว้
Josh เชื่อว่าอนาคตของการเขียนโปรแกรมระบบเป็นของ Rust และภาษา C ในความเป็นจริงสมัยใหม่กำลังอ้างสิทธิ์ในสถานที่ที่ Assembly ครอบครองในปีที่ผ่านมา สนิม
ไม่เพียงบรรเทานักพัฒนาจากปัญหาที่มีอยู่ในภาษา C ที่เกิดขึ้นเนื่องจากการทำงานระดับต่ำกับหน่วยความจำ แต่ยังให้โอกาสในการใช้ในการพัฒนากระบวนทัศน์การเขียนโปรแกรมสมัยใหม่อีกด้วย
ระหว่าง
Josh เกิดแนวคิดในการเพิ่มความสามารถในการพัฒนาไดรเวอร์ในเคอร์เนล Linux ในภาษา Rust ซึ่งจะทำให้สามารถสร้างไดรเวอร์ที่ปลอดภัยและดีขึ้นได้โดยใช้ความพยายามเพียงเล็กน้อยโดยปราศจากปัญหาเช่นการเข้าถึงหน่วยความจำหลังจากว่างแล้ว null การอ้างอิงตัวชี้และการโอเวอร์รันบัฟเฟอร์
Greg Kroah-Hartman ผู้รับผิดชอบในการรักษาสาขาที่มั่นคงของเคอร์เนล Linux แสดงความพร้อมที่จะเพิ่มเฟรมเวิร์กสำหรับการพัฒนาไดรเวอร์ในภาษา Rust ให้กับเคอร์เนล หากเคอร์เนลมีข้อได้เปรียบเหนือ C อย่างแท้จริง เช่น จะให้ความปลอดภัย การเชื่อมโยงผ่าน Kernel API นอกจากนี้ Greg ถือว่าเฟรมเวิร์กนี้เป็นเพียงตัวเลือกเท่านั้น โดยจะไม่ทำงานตามค่าเริ่มต้น เพื่อที่จะไม่รวม Rust เป็นการพึ่งพาบิลด์บนเคอร์เนล
ปรากฎว่าหลายทีมกำลังทำงานไปในทิศทางนี้แล้ว ตัวอย่างเช่น นักพัฒนาจากบริษัท “Fish in a Barrel”
ขนาน
แต่เฟรมเวิร์กนั้นค่อนข้างเหมาะสำหรับการทำงานอยู่แล้วและใช้ในการเขียนไดรเวอร์ที่ใช้งานได้สำหรับคอนโทรลเลอร์ LAN9512 USB Ethernet ที่ให้มาในบอร์ด Raspberry Pi 3 ไดรเวอร์ smsc95xx ที่มีอยู่เขียนโดยใน ภาษาซี มีข้อสังเกตว่าขนาดโมดูลและโอเวอร์เฮดจากส่วนประกอบรันไทม์เมื่อพัฒนาไดรเวอร์ใน Rust นั้นไม่มีนัยสำคัญซึ่งทำให้สามารถใช้เฟรมเวิร์กสำหรับอุปกรณ์ที่มีทรัพยากร จำกัด
ที่มา: opennet.ru