Proyek pengembangan kernel mirip Unix yang ringan dalam bahasa Rust, yang mengimplementasikan sebagian dari panggilan sistem kernel, disajikan di sini. Linux, cukup untuk menciptakan lingkungan kerja yang umum. Proyek ini dibuat pada tahun 2018 dan awalnya menggunakan bahasa C, tetapi pada tahun 2020 sepenuhnya dibangun ulang dari awal, dengan mempertimbangkan pengalaman yang terkumpul dan beralih ke Rust untuk mengurangi kemungkinan kesalahan yang muncul saat bekerja dengan memori. Kode inti didistribusikan di bawah lisensi MIT. Selain inti, proyek Rust juga mengembangkan X11-server, sebuah pengelola paket, sebuah bootloader, sebuah installer, kumpulan utilitas, dan komponen-komponen lain yang diperlukan untuk membangun sebuah sistem operasi.
Kernel ini memiliki arsitektur monolitik dan saat ini hanya mendukung sistem x86 dalam mode 32-bit. Kode sumber kernel terdiri dari 48.8 ribu baris kode (sebagai perbandingan, kernel Linux — 33 juta baris kode). Dapat dijalankan di QEMU, VirtualBox, atau di lingkungan lokal. Pada tahap pengembangan saat ini, 31% (135 dari 437) panggilan sistem Maestro telah diimplementasikan. Linux, yang cukup untuk menjalankan lingkungan konsol berbasis bash dan pustaka C standar, Musl. Lingkungan berbasis Maestro juga dapat menjalankan beberapa utilitas dari rangkaian GNU coreutils, seperti ls, cat, mkdir, rm, rmdir, uname, dan whoami.

Di antara fitur-fitur Maestro yang tersedia:
- Driver untuk keyboard PS/2 dan terminal mode teks dengan dukungan parsial untuk urutan ANSI.
- Sistem alokasi memori yang mendukung memori virtual.
- Penjadwal tugas berbasis round-robin dengan dukungan sinyal POSIX.
- Mendeteksi perangkat PCI.
- Driver IDE/PATA.
- Sistem file Ext2.
- Dukungan untuk sistem file virtual /tmp dan /proc.
- Mendukung pemasangan partisi disk FS, MBR, dan GPT.
- Dukungan initramfs.
- Driver RTC untuk timer dan waktu yang tepat.
- Dukungan untuk memuat modul kernel.
- Kemampuan untuk menjalankan file yang dapat dieksekusi dalam format ELF.
Saat ini sedang dilakukan pengerjaan untuk membuat tumpukan jaringan, yang setelah selesai, akan mendukung pemetaan langsung file ke dalam memori dan pustaka bersama.
Sumber: opennet.ru
