3 poin oleh GN⁺ 2024-01-04 | 1 komentar | Bagikan ke WhatsApp
  • Maestro adalah kernel dan sistem operasi mirip Unix yang ditulis dari awal dengan bahasa Rust.
  • Awalnya diimplementasikan dalam bahasa C, tetapi beralih ke Rust setelah semakin sulit menjaga codebase tetap bersih.
  • Rust lebih inovatif dibanding memulai ulang proyek dari awal dan menulis kernel mirip Linux dengan C, serta membantu mengurangi kesulitan pemrograman kernel dengan memanfaatkan keamanan Rust.

Status proyek saat ini

  • Maestro saat ini adalah kernel monolitik yang hanya mendukung arsitektur x86 (32-bit).
  • Pada saat penulisan, sekitar 135 system call Linux telah diimplementasikan secara kasar, setara dengan sekitar 31% dari seluruh system call Linux.
  • Selain kernel, OS ini memiliki komponen seperti sistem boot dan daemon manager Solfège, perintah utilitas sistem maestro-utils, serta package manager blimp.
  • Software pihak ketiga seperti musl (library standar C), bash, beberapa perintah GNU coreutils, dan neofetch (versi yang telah di-patch) telah diuji berjalan di OS ini.

Coba sendiri!

  • OS ini masih berada pada tahap pengembangan awal dan sangat tidak stabil, sehingga tidak disarankan memasangnya pada mesin yang menyimpan data penting.
  • Pengujian terutama dilakukan di QEMU, VMWare, dan VirtualBox.
  • Ada dua cara untuk memasang OS: mengunduh file .iso yang sudah dibangun sebelumnya atau membangun ISO secara langsung.
  • Paket yang dipasang disimpan di RAM (initramsfs), bukan di disk, sehingga memerlukan RAM yang cukup (1GB atau lebih).

Tentang blog ini

  • Tujuan blog ini bukan untuk menulis tutorial tentang cara membuat OS, melainkan untuk mengeksplorasi topik yang lebih lanjut, berbagi cara memecahkan masalah, dan memahami bagaimana komputer, sistem operasi, internet, dan hal-hal semacam itu bekerja.
  • osdev.org dan blog Philipp Oppermann sangat direkomendasikan.

Yang akan datang berikutnya

  • Codebase perlu dirapikan dan performa perlu dioptimalkan.
  • Perbaikan memory leak dan optimasi performa bisa menjadi topik artikel blog berikutnya.
  • Target berikutnya adalah membuat package manager berfungsi sepenuhnya di OS ini.
  • Dukungan jaringan dan dukungan shared library masih diperlukan.

Cara membantu

  • Anda dapat tetap terhubung dengan memberi bintang pada repositori Github, berlangganan newsletter, mengikuti feed RSS, dan bergabung ke Discord.

Pendapat GN⁺

  • Proyek Maestro adalah sistem operasi mirip Unix yang ditulis dengan bahasa Rust, dan penting karena mengejar keamanan serta inovasi dalam pengembangan kernel.
  • Proyek ini menawarkan peluang menarik bagi pengembang yang ingin berkontribusi pada komunitas open source, dan dapat membantu memahami interaksi antara hardware dan software di dunia nyata.
  • Ini bisa menjadi materi belajar yang bermanfaat bagi software engineer pemula yang ingin merasakan langsung kelebihan dan keterbatasan system programming dengan Rust.

1 komentar

 
GN⁺ 2024-01-04
Komentar Hacker News
  • Terima kasih atas dukungannya terhadap proyek ini

    • Proyek ini membutuhkan banyak usaha dan sangat berarti bagi pengembangnya.
    • Saat ini situs web sangat lambat atau sedang down. Ada lonjakan trafik tak terduga, dan diduga terjadi serangan DoS.
    • Saat sudah pulang ke rumah, ia berencana mencoba memperbaiki situsnya. Untuk saat ini, ia tidak bisa memberi banyak perhatian karena pekerjaan.
    • Ia meminta maaf atas ketidaknyamanan ini, tetapi senang proyeknya diapresiasi.
  • Pendapat tentang proyek kecil yang keren

    • Mengejutkan melihat seberapa jauh proses boot bisa berjalan tanpa mengimplementasikan bahkan sepertiga system call Linux.
    • Diduga system call yang belum diimplementasikan akan lebih kompleks.
    • Misalnya, lapisan TTY saat ini tampak masih sangat dasar. Mengimplementasikannya dengan benar akan menjadi pekerjaan besar.
    • Karena itu, jangan berharap Maestro akan menjalankan aplikasi Linux dalam tiga tahun ke depan.
  • Pendapat tentang pengujian keamanan/penetrasi

    • Karena proyek ini dikembangkan dengan Rust, ada keinginan untuk melihat pengujian keamanan guna mengetahui apakah peretas bisa menemukan kerentanannya.
  • Penyebutan proyek Kerla

    • Ada juga Kerla, sebuah unikernel yang ditulis dalam Rust dan bertujuan kompatibel dengan ABI Linux, tetapi sudah tidak aktif selama beberapa tahun.
  • Pendapat tentang kelemahan penggunaan bahasa C dan sulitnya pengembangan OS

    • Sebagian besar kelemahan dan kesulitannya ada pada proses debugging.
    • Dengan beralih ke Rust, kelas kesalahan memori tertentu memang tereliminasi, tetapi muncul pertanyaan apakah debugging masih tetap sulit, atau justru menjadi lebih mudah karena kebutuhan debugging berkurang setelah migrasi.
  • Penyebutan penghentian proyek Kerla

    • Disebutkan bahwa Kerla, proyek yang sebelumnya sudah pernah mencoba hal ini, telah dihentikan.
  • Pendapat tentang kompleksitas komputer

    • Komputer adalah salah satu alat paling kompleks yang pernah diciptakan umat manusia.
  • Saran untuk melunasi utang teknis

    • Saat proyek ini dimulai sebagai proyek sekolah, karena keterbatasan waktu kadang harus mengambil jalan pintas, tetapi kini saatnya melunasi utang teknis, dan disarankan untuk mempertahankan pola pikir itu.
  • Ketertarikan pada Gource

    • Sangat tertarik pada alat bernama Gource yang digunakan penulis untuk membuat video kontribusi. Ia pernah memikirkan ide serupa sebelumnya, tetapi tampaknya memang tidak ada ide yang benar-benar orisinal.
  • Ketertarikan pada pembangunan kernel

    • Sangat menyukai ide membangun kernel untuk tujuan pembelajaran. Ia penasaran dengan materi yang digunakan untuk memahami kernel/OS secara umum.