- Maestro คือเคอร์เนลและระบบปฏิบัติการลักษณะคล้าย Unix ที่เขียนขึ้นใหม่ตั้งแต่ต้นด้วยภาษา Rust
- เดิมทีเริ่มพัฒนาด้วยภาษา C แต่เมื่อการรักษาฐานโค้ดให้สะอาดเป็นเรื่องยาก จึงเปลี่ยนมาใช้ Rust
- Rust ช่วยให้เริ่มโครงการใหม่ตั้งแต่ต้นได้อย่างสร้างสรรค์กว่าการเขียนเคอร์เนลคล้าย Linux ด้วย C และยังช่วยลดความยากของการเขียนโปรแกรมเคอร์เนลด้วยการใช้ประโยชน์จากความปลอดภัยของ Rust
สถานะปัจจุบันของโครงการ
- ปัจจุบัน Maestro เป็นเคอร์เนลแบบ monolithic ที่รองรับเฉพาะสถาปัตยกรรม x86 (32 บิต)
- ณ เวลาที่เขียนนี้ มีการพัฒนา system call ของ Linux ไปแล้วราว 135 รายการ คิดเป็นประมาณ 31%
- นอกจากเคอร์เนลแล้ว ภายใน OS ยังมีองค์ประกอบอย่างระบบบูตและตัวจัดการดีมอน Solfège, ชุดคำสั่งยูทิลิตีระบบ maestro-utils และตัวจัดการแพ็กเกจ blimp
- มีการทดสอบแล้วว่าซอฟต์แวร์ภายนอกอย่าง musl (ไลบรารีมาตรฐานภาษา C), bash, คำสั่งบางส่วนของ GNU coreutils และ neofetch (เวอร์ชันที่แพตช์แล้ว) สามารถทำงานบน OS นี้ได้
ลองทดสอบด้วยตัวเอง!
- ระบบปฏิบัติการนี้ยังอยู่ในระยะเริ่มต้นของการพัฒนาและไม่เสถียรอย่างมาก จึงไม่แนะนำให้ติดตั้งบนเครื่องที่มีข้อมูลสำคัญ
- มีการทดสอบหลักบน QEMU, VMWare และ VirtualBox
- มี 2 วิธีในการติดตั้ง OS: ดาวน์โหลดไฟล์
.iso ที่บิลด์ไว้ล่วงหน้า หรือบิลด์ ISO ด้วยตัวเอง
- แพ็กเกจที่ติดตั้งจะถูกเก็บไว้ใน RAM (
initramsfs) แทนดิสก์ จึงต้องมี RAM เพียงพอ (อย่างน้อย 1GB)
เกี่ยวกับบล็อกนี้
- จุดประสงค์ของบล็อกนี้ไม่ใช่การเขียนบทสอนเกี่ยวกับวิธีสร้าง OS แต่เพื่อสำรวจหัวข้อที่ลึกขึ้น แบ่งปันวิธีแก้ปัญหา และค้นพบว่าคอมพิวเตอร์ ระบบปฏิบัติการ และอินเทอร์เน็ตทำงานอย่างไร
- ขอแนะนำ osdev.org และบล็อกของ Philipp Oppermann เป็นพิเศษ
สิ่งที่จะตามมา
- ยังต้องมีการจัดระเบียบฐานโค้ดและปรับแต่งประสิทธิภาพ
- การแก้ memory leak และการปรับแต่งประสิทธิภาพอาจเป็นหัวข้อของบทความในบล็อก
- เป้าหมายถัดไปคือทำให้ตัวจัดการแพ็กเกจทำงานได้อย่างสมบูรณ์บน OS
- ยังต้องมีการรองรับเครือข่ายและไลบรารีแบบใช้ร่วมกัน
วิธีช่วยเหลือ
- คุณสามารถติดตามโครงการได้โดยกดดาวให้กับ GitHub repository, สมัครรับจดหมายข่าว, ติดตาม RSS feed และเข้าร่วม Discord
ความเห็นจาก GN⁺
- โครงการ Maestro เป็นระบบปฏิบัติการลักษณะคล้าย Unix ที่เขียนด้วยภาษา Rust โดยมีจุดสำคัญคือการมุ่งเน้นทั้งความปลอดภัยและนวัตกรรมในการพัฒนาเคอร์เนล
- โครงการนี้มอบโอกาสที่น่าสนใจให้กับนักพัฒนาที่ต้องการมีส่วนร่วมกับชุมชนโอเพนซอร์ส และอาจช่วยให้เข้าใจปฏิสัมพันธ์ระหว่างฮาร์ดแวร์กับซอฟต์แวร์จริงได้ดีขึ้น
- อาจเป็นสื่อการเรียนรู้ที่มีประโยชน์สำหรับวิศวกรซอฟต์แวร์ระดับเริ่มต้นที่ต้องการสัมผัสข้อดีและข้อจำกัดของการเขียนโปรแกรมระบบด้วย Rust ในโลกจริง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ขอบคุณสำหรับการสนับสนุนโครงการ
ความเห็นเกี่ยวกับโครงการเล็ก ๆ ที่ยอดเยี่ยม
ความเห็นเกี่ยวกับความปลอดภัย/การทดสอบเจาะระบบ
การกล่าวถึงโครงการ Kerla
ความเห็นเกี่ยวกับข้อเสียของการใช้ภาษา C และความยากของการพัฒนา OS
การกล่าวถึงการหยุดพัฒนาของโครงการ Kerla
ความเห็นเกี่ยวกับความซับซ้อนของคอมพิวเตอร์
คำแนะนำเรื่องการชำระหนี้ทางเทคนิค
ความสนใจเกี่ยวกับ Gource
ความสนใจในการสร้างเคอร์เนล