ระบบปฏิบัติการ Redox ของ Rust สามารถแสดงเทคนิคใหม่ ๆ ของ Linux ได้

ภาษา Rust ของ Mozilla ถูกออกแบบโดยนักออกแบบเพื่อเป็นตัวเลือกในการเขียนซอฟต์แวร์หลายประเภทอย่างรวดเร็วและปลอดภัยรวมถึงระบบปฏิบัติการเต็มรูปแบบ

ในช่วงหลายเดือนที่ผ่านมาทีมนักพัฒนากำลังยุ่งอยู่กับการทำอย่างนั้น: การใช้ Rust เพื่อสร้าง Redox ซึ่งเป็นระบบปฏิบัติการที่คล้ายกับ Unix ที่ได้รับการออกแบบมาเพื่อคิดทบทวนแนวทางของ Linux

ทำความสะอาดกระดานชนวน

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

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

พฤติกรรมภายในของระบบปฏิบัติการหลายอย่างได้รับการพิจารณาใหม่ด้วย Unix และ Linux ต่างใช้แนวคิดของทุกรายการเป็นไฟล์ Redox ก้าวไปอีกขั้นและถือว่าทุกอย่างเหมือนกับ URL ดังนั้นจึงเป็นเรื่องง่ายที่จะลงทะเบียนตัวจัดการสำหรับเหตุการณ์และมีลักษณะที่สอดคล้องกันในการดำเนินการนามธรรมประเภทอื่น ๆ

//github.com/redox-os/redox

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

การแยกส่วนที่รุนแรงอีกอย่างจาก Linux ไม่ได้อยู่ในซอฟต์แวร์ แต่อยู่ในการออกใบอนุญาต: โครงการทั้งหมดได้รับอนุญาตจาก MIT และไม่ใช่ GPL เหตุผลก็คือใบอนุญาตของ MIT สนับสนุนให้มีการนำระบบดาวน์สตรีมมาใช้งานได้ง่ายกว่า GPL มาก "เนื่องจากดาวน์สตรีมเป็นสิ่งที่สำคัญมาก: ฐานผู้ใช้ชุมชนความพร้อมใช้งาน"

หนทางอันยาวไกลข้างหน้า

แม้ว่าจะสามารถดาวน์โหลดและบูต ISOs of Redox ได้ แต่คุณก็ไม่น่าจะทิ้ง Linux สำหรับ Redox ในการผลิตในเร็ว ๆ นี้

ประการหนึ่ง Redox ยังไม่ได้ทดสอบโดยมีคุณสมบัติที่ขาดหายไปจำนวนมากและคุณสมบัติที่ไม่สมบูรณ์จำนวนมาก นักพัฒนาของ Redox ยอมรับว่าเป็นไปไม่ได้ที่จะสร้าง "ความเข้ากันได้แบบ 1: 1 Posix ที่สมบูรณ์" (เนื่องจากระบบปฏิบัติการละเว้นระบบปฏิบัติการ Unix จำนวนมาก) ดังนั้นซอฟต์แวร์ Linux ที่มีอยู่อาจต้องใช้เลเยอร์การสนับสนุนบน Redox เพื่อให้ทำงานได้ซึ่งเป็นสิ่งกีดขวางสำหรับ การนำไปใช้

ฐานรหัสดั้งเดิมของ Linux จะไม่ถูกยักยอกง่ายๆ ทศวรรษแห่งการพัฒนาและการทำงานหลายพันปีของมนุษย์ได้รับการลงทุนและสภาพแวดล้อมการพัฒนาภาษาซี ในทางกลับกันภาษา Rust มีอยู่ไม่กี่ปีและเมื่อไม่นานมานี้มีความมั่นคงเพียงพอสำหรับคนส่วนใหญ่ในการสร้างโครงการขนาดใหญ่ที่มีความทะเยอทะยาน

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

รีดอกซ์ยังสามารถใช้เป็นตัวอย่างในการเข้าถึงปัญหาระบบปฏิบัติการที่แตกต่างออกไปโดยใช้แรงกดดันด้านวิวัฒนาการในระยะยาวต่อ Linux หาก Linux ไม่ไปไหน - สัญญาณทั้งหมดแสดงว่าไม่เป็นเช่นนั้นทางที่ดีที่สุดคือหาวิธีบังคับให้มันดีขึ้น