Pengenalan Motūrus OS
- Proyek Motūrus mengembangkan MotūrusOS, sistem operasi yang sederhana, cepat, dan aman untuk cloud.
- Motūrus OS adalah sistem operasi baru yang menargetkan workload berbasis mesin virtual, dan digunakan untuk web server, serverless, edge caching, dan lainnya.
Mengapa Motūrus OS?
- Saat ini sebagian besar workload produksi yang tervirtualisasi berjalan di Linux.
- Linux memiliki banyak fitur canggih, tetapi juga membawa beberapa kompleksitas yang tidak ideal untuk workload tervirtualisasi:
- Linux dioptimalkan untuk bare metal sehingga kurang efisien saat digunakan di dalam VM.
- Linux sulit digunakan.
- Secara historis, Linux sangat tidak aman.
- Sistem operasi baru yang berfokus pada workload tervirtualisasi dapat dibuat jauh lebih sederhana dan aman daripada Linux, sambil melampaui atau menyamai Linux dalam performa maupun efisiensi.
Apa itu Motūrus OS?
- Motūrus OS adalah sistem operasi berbasis microkernel yang dibangun dengan bahasa Rust, dan hanya menargetkan workload tervirtualisasi.
- Saat ini mendukung mesin virtual berbasis x64 KVM, dan dapat dijalankan di Qemu atau Cloud Hypervisor.
- Rust adalah bahasa inti Motūrus OS; bukan hanya implementasinya, ABI-nya juga disediakan dalam Rust.
Fitur yang berfungsi
- Saat ini sebagian besar subsistem masih berjalan dalam mode POC/MVP, tetapi sudah dapat menjalankan tugas seperti web server.
- Secara spesifik, fitur-fitur berikut berfungsi:
- Boot dalam sekitar 200ms melalui MBR(Qemu) atau PVH(Cloud Hypervisor).
- Microkernel himem.
- Scheduling: round robin multiprosesor sederhana (SMP), scheduling kernel bersifat kooperatif.
- Manajemen memori: saat ini hanya mendukung page 4K, stack dilindungi, page fault di user space ditangani dengan benar.
- Subsistem I/O (di dalam user space): driver VirtIO-BLK dan VirtIO-NET, dua file system sederhana, networking berbasis smoltcp (hanya mendukung TCP).
- User space: multi-proses, preemption, thread, TLS, sebagian besar pustaka standar Rust telah di-porting.
- Menyediakan shell sederhana bergaya Unix.
Fitur yang belum berfungsi
- Sebagian besar komponen belum siap untuk penggunaan produksi.
- Belum menjalani audit keamanan.
- Sangat mudah mengalami panic "not implemented" di sys-io (subsistem I/O user space).
- Secara spesifik, fitur-fitur berikut belum berfungsi:
- File system: sebagian besar API Rust std::fs telah diimplementasikan sebagai POC, tetapi perlu diimplementasikan ulang menggunakan I/O asinkron.
- Networking: std::net::TcpStream sebagian besar telah diimplementasikan, tetapi protokol lain belum.
- Ekosistem di luar standar Rust: beberapa crate dapat dikompilasi dan digunakan dengan penyesuaian kecil, tetapi crate yang bergantung pada async runtime seperti Tokio saat ini belum bisa dikompilasi.
Bagaimana membangun/menjalankan Motūrus OS?
- Lihat dokumen
docs/build.md.
Ucapan terima kasih
- Ucapan terima kasih yang sebesar-besarnya kepada Philipp Oppermann, yang menulis seri blog tentang menulis OS dengan Rust. Ia telah menginspirasi banyak orang untuk bereksperimen di bidang ini.
Opini GN⁺
- Pendekatan inovatif: Motūrus OS adalah sistem operasi baru yang dikhususkan untuk lingkungan tervirtualisasi, dan berupaya mengatasi kompleksitas serta inefisiensi Linux.
- Adopsi bahasa Rust: Rust adalah bahasa yang menekankan keamanan memori dan performa, dan akan berkontribusi pada keamanan serta efisiensi Motūrus OS.
- Kontribusi bagi komunitas developer: Proyek ini akan membantu developer yang tertarik pada pengembangan sistem operasi untuk mengeksplorasi kemungkinan baru dan melampaui keterbatasan yang ada.
3 komentar
Saya juga mengikuti blog writing an os in rust, dan ternyata sudah ada perkembangan dari sekarang!
Sepertinya ini tulisan yang bagus
Komentar Hacker News
Pendapat pengembang/penulis proyek:
Penjelasan tentang pendekatan "Rust-first":
Rasa penasaran tentang mengapa kernel kecil memerlukan 200ms pada komputer modern:
Pendapat yang ingin melihat kernel async-first yang ditulis dengan Rust:
Pendapat yang mengingatkan pada pernyataan lama Linus Torvalds tentang persaingan dengan Linux:
Pendapat yang tertarik pada proyek seperti Motor OS dan berharap pengembangannya berlanjut:
Pendapat bahwa Docker, Nix OS, dan "serverless" ada karena kompleksitas Linux:
Pendapat yang awalnya skeptis terhadap teknologi baru, tetapi setelah dipikir ulang menganggap peningkatan efisiensi dan keamanan dari penghapusan lapisan yang tidak perlu itu menarik:
Pendapat bahwa Motor OS tampak bersaing dengan Docker dan sejenisnya:
Pendapat bahwa memulai sistem operasi baru tidaklah sulit, tetapi mendukung sistem operasi itu selama 50 tahun ke depan sangatlah sulit:
Bagian "fitur yang tidak berfungsi" benar-benar luar biasa. Proyek mainan.