Minimacy è un progetto di Sylvain Huet che rende semplice la programmazione bare metal, cioè scrivere software che gira direttamente sull’hardware senza sistema operativo né livelli di astrazione. Comprende tre pezzi: il linguaggio Minimacy, una macchina virtuale e la Minimacy Machine, una piattaforma hardware basata su Raspberry Pi RP2350 pensata per essere trasparente e comprensibile dall’inizio alla fine. L’idea di fondo è che un singolo sviluppatore possa capire l’intero stack, dall’hardware al codice, evitando dipendenze e aggiornamenti esterni che possono rompere il funzionamento.
Il percorso informatico di Sylvain Huet è iniziato con il Thomson TO7, un computer del 1982 con 8 kilobyte di RAM utente e una CPU 6809. A quei tempi il confine tra sistemi operativi e bare metal era sottilissimo, e il programmatore aveva accesso diretto alla macchina. Minimacy riprende quella filosofia e la porta su un microcontrollore moderno, il Raspberry Pi RP2350 che gira a 150 MHz.
Il linguaggio Minimacy e la macchina virtuale in meno di 900 kB di C
Il linguaggio Minimacy è pensato per ridurre dipendenze, black box e sistemi operativi, massimizzando la comprensibilità del codice. È conciso, lineare e sicuro, con forte typechecking statico e type inference. Si lavora tramite la macchina virtuale Minimacy, che combina un compilatore istantaneo e un processore virtuale in grado di eseguire il codice. La macchina virtuale è scritta in meno di 900 kB di C ed è completamente open source.
Il sistema operativo moderno è forse la più grande black box: rimuoverlo rende più trasparente ciò che accade sotto il cofano. Infatti, l’idea di Minimacy è che una VM Minimacy possa girare su hardware diverso, dando accesso quasi bare metal al codice Minimacy mantenendo una certa portabilità. Perciò lo stesso codice può essere eseguito su piattaforme differenti senza riscrivere tutto da zero.
La Minimacy Machine: RP2350, Ethernet, OLED, SD e real time clock
La Minimacy Machine è basata su Raspberry Pi RP2350 a 150 MHz e integra periferiche come connettività Ethernet, display OLED, lettore di schede SD e real time clock. La piattaforma è pensata come trasparente, così chi la usa vede esattamente cosa fa il codice sull’hardware. Inoltre, il progetto è aperto e documentato, quindi chi vuole rifarlo trova tutto il necessario per partire.
- Raspberry Pi RP2350 a 150 MHz come microcontrollore principale
- Connettività Ethernet per la rete
- Display OLED per l’output locale
- Lettore di schede SD per la memoria di massa
- Real time clock per tenere traccia del tempo
Il progetto Minimacy è documentato sul sito ufficiale minimacy.net, dove si trovano i dettagli del linguaggio, della macchina virtuale e della Minimacy Machine. Chi vuole capire come funziona lo stack completo, o provare a rifarlo, lì trova le informazioni di partenza.
Fonte: https://minimacy.net/
