A fost prezentat un proiect de dezvoltare a unui nucleu Unix-similar ușor, scris în limbajul Rust, care implementează un subset de apeluri de sistem din nucleul Linux, suficient pentru a crea medii de lucru standard. Proiectul a fost creat în 2018 și inițial a folosit limbajul C, dar în 2020 a fost relansat complet de la zero, ținând cont de experiența acumulată, și a trecut pe Rust pentru a reduce probabilitatea de a face erori legate de gestionarea memoriei. Codul nucleului este distribuit sub licența MIT. Pe lângă nucleu, proiectul în limbajul Rust dezvoltă, de asemenea, X11-serverul, un manager de pachete, un bootloader, un installer, un set de utilitare și alte componente necesare pentru construirea unui sistem de operare.
Nucleul are o arhitectură monolitică și momentan suportă doar sistemele x86 în mod de 32 de biți. Baza de cod a nucleului include 48.8 mii de linii de cod (pentru comparație, nucleul Linux are 33 de milioane de linii de cod). Este posibilă rularea în QEMU, VirtualBox sau pe hardware. În stadiul actual de dezvoltare, în Maestro sunt implementate 31% (135 din 437) din apelurile de sistem Linux, ceea ce este suficient pentru încărcarea unui mediu de consolă bazat pe bash și pe biblioteca standard C Musl. În mediu bazat pe Maestro pot fi, de asemenea, rulate unele utilitare din setul GNU coreutils, cum ar fi ls, cat, mkdir, rm, rmdir, uname și whoami.

Printre caracteristicile disponibile în Maestro sunt:
- Drive-uri pentru tastaturile PS/2 și terminale cu modul text și suport parțial pentru secvențele ANSI.
- Un sistem de distribuție a memoriei, care suportă memoria virtuală.
- Un scheduler de sarcini bazat pe algoritmul round-robin, cu suport pentru semnale POSIX.
- Detecția dispozitivelor PCI.
- Driver IDE/PATA.
- Sistem de fișiere Ext2.
- Suport pentru FS-uri virtuale /tmp și /proc.
- Suport pentru montarea FS-urilor și a partițiilor de disc MBR și GPT.
- Suport pentru initramfs.
- Driver RTC pentru temporizator și timp precis.
- Suport pentru încărcarea modulelor nucleului.
- Posibilitatea de a rula fișiere executabile în format ELF.
În prezent, se lucrează la crearea unui stivă de rețea, iar după finalizare se planifică implementarea suportului pentru maparea directă a fișierelor în memorie și biblioteci partajate.
Sursa: opennet.ro
