
MenuetOS è un sistema operativo per PC sviluppato interamente in assembly a 64 bit, con l’obiettivo dichiarato di ottenere codice più veloce, compatto e diretto rispetto a quello prodotto con linguaggi di più alto livello. Il progetto rappresenta un caso quasi unico nel panorama dei sistemi operativi moderni: un kernel e un ecosistema applicativo progettati senza dipendere da UNIX, POSIX o da altri sistemi preesistenti.
In questo articolo analizziamo l’architettura, le caratteristiche tecniche e le scelte progettuali di MenuetOS, evidenziando gli aspetti che lo rendono interessante per sviluppatori, appassionati di sistemi operativi e programmatori a basso livello.
MenuetOS: Un sistema operativo scritto interamente in assembly
La caratteristica distintiva di MenuetOS è la sua implementazione completa in linguaggio assembly x86-64 (per la versione a 64 bit) e x86 (per quella a 32 bit). Questa scelta comporta diversi vantaggi:
-
Controllo totale sull’hardware
-
Codice estremamente compatto
-
Prestazioni elevate
-
Riduzione dei livelli di astrazione
Il kernel è scritto in assembly puro, e questo permette un’ottimizzazione fine delle routine critiche, come la gestione dei processi, dello scheduler e della grafica. In particolare, la GUI con trasparenze viene calcolata direttamente dalla CPU x86-64 principale, evitando problemi di compatibilità con specifiche schede grafiche.
Dal punto di vista della distribuzione, MenuetOS è estremamente leggero: l’intero sistema può essere contenuto su un singolo floppy disk e può avviarsi anche da CD o unità USB. Questo dato, da solo, offre una misura concreta dell’efficienza del codice.
Architettura indipendente da UNIX e POSIX
Uno degli aspetti più rilevanti del progetto è l’assenza di radici in UNIX o negli standard POSIX. MenuetOS non è un derivato, né un sistema compatibile a livello architetturale con questi standard.
L’obiettivo di design dichiarato è stato quello di eliminare i livelli intermedi tra le varie componenti del sistema operativo. Nei sistemi tradizionali, tali livelli possono:
-
Aumentare la complessità
-
Rendere più difficile il debugging
-
Introdurre potenziali bug
-
Ridurre le prestazioni
MenuetOS adotta un’architettura più diretta, in cui il dialogo tra kernel e applicazioni è progettato per essere semplice ed efficiente. Questo approccio rende il sistema particolarmente interessante dal punto di vista didattico e sperimentale, perché consente di osservare più chiaramente le interazioni tra hardware e software.
Multitasking, SMP e scheduler ad alta frequenza
Tra le caratteristiche tecniche principali troviamo:
-
Multitasking pre-emptive
-
Supporto real-time
-
Supporto multiprocessore (SMP) fino a 32 CPU
-
Protezione ring-3
-
Multithreading
Lo scheduler può operare a frequenze superiori a 1000 Hz, con possibilità di arrivare fino a 100000 Hz per la gestione dei processi. Questo consente latenze audio inferiori al millisecondo, un risultato notevole per un sistema così compatto.
Il supporto ai processi time-critical permette l’esecuzione ininterrotta su una CPU specifica, caratteristica utile in applicazioni real-time. È inoltre presente il pre-empting tra kernel e user mode, anche in configurazioni SMP.
Dal punto di vista della scalabilità, il sistema supporta fino a 32 processori e fino a 32 GB di RAM (come indicato negli aggiornamenti delle versioni M64).
Interfaccia grafica e risoluzioni supportate
MenuetOS integra una GUI reattiva con supporto a risoluzioni fino a 1920×1080 e 16 milioni di colori. Le finestre applicative sono:
-
Free-form
-
Trasparenti
-
Personalizzabili (skinnable)
-
Gestibili con drag & drop
L’interfaccia è progettata per essere facilmente controllabile tramite assembly. Questo punto è coerente con la filosofia generale del sistema: fornire un ambiente completo ma ottimizzato per la programmazione a basso livello.
Struttura delle applicazioni e sviluppo
Sebbene la struttura delle applicazioni non sia riservata esclusivamente all’assembly, l’intero design è pensato per la programmazione in assembly a 64 o 32 bit.
L’header delle applicazioni può essere prodotto anche con altri linguaggi, ma l’ecosistema è fortemente orientato all’uso dell’assembly per ottenere:
-
Codice più piccolo
-
Minore consumo di risorse
-
Maggiore velocità di esecuzione
MenuetOS include un IDE con editor e assembler integrati, semplificando lo sviluppo nativo. Inoltre, Menuet64 è in grado di eseguire applicazioni sviluppate per Menuet32, garantendo una certa continuità tra le versioni.
Stack di rete e servizi inclusi
Il sistema include uno stack TCP/IP con supporto Loopback e driver Ethernet. Sono presenti applicazioni client e server, tra cui:
-
Email
-
FTP
-
HTTP
-
Client scacchi
-
Server FTP, MP3 e HTTP
Questo dimostra che, pur essendo estremamente compatto, MenuetOS non è un semplice esperimento accademico, ma un sistema dotato di funzionalità complete di rete.
Tra i driver e le funzionalità hardware troviamo:
-
USB 2.0 (Storage, Printer, Webcam, TV/Radio)
-
USB 1.1 (Keyboard e Mouse)
-
Supporto audio con latenze inferiori al millisecondo
-
Supporto Digital TV (DVB-T)
-
Driver Intel Pro/1000 e Realtek 816x/811x
Evoluzione del progetto
Il progetto è attivo da molti anni. Menuet32 risale al 2000 ed è rilasciato sotto GPL, mentre Menuet64 (2005) è distribuito sotto una licenza dedicata consultabile sul sito ufficiale.
Tra gli aggiornamenti più recenti si segnalano:
-
M64 1.58.40 (12.02.2026): miglioramenti, bugfix e aggiunte
-
M64 1.53.60 (26.08.2024): inclusione di MPlayer nell’immagine disco
-
M64 1.52.00 (24.07.2024): layer Linux parziale (X-Window/Posix/Elf)
-
M64 1.50.80 (08.05.2024): Fasm-G e numerose applicazioni 32 bit
La presenza di un layer Linux parziale è un elemento interessante, perché introduce compatibilità con X-Window, POSIX ed ELF, pur mantenendo l’architettura indipendente del sistema.
Licenze e risorse ufficiali
Menuet64 è rilasciato sotto una licenza specifica disponibile all’indirizzo:
https://www.menuetos.net/m64l.txt
Menuet32 è distribuito sotto GPL:
http://www.menuetos.net/license.htm
Per approfondimenti, documentazione, screenshot e download è possibile consultare il sito ufficiale:
https://www.menuetos.net/
È inoltre disponibile un video dimostrativo su YouTube:
https://youtu.be/2s0T9kKJ3BU
Conclusioni
MenuetOS rappresenta un progetto fuori dagli schemi nel panorama dei sistemi operativi moderni. La scelta di sviluppare interamente il kernel e l’ecosistema in assembly a 64 bit comporta vantaggi in termini di prestazioni e compattezza, ma richiede competenze tecniche avanzate.
La sua indipendenza da UNIX e POSIX, il supporto SMP fino a 32 CPU, lo scheduler ad alta frequenza e l’interfaccia grafica integrata dimostrano un livello di maturità significativo.
Per sviluppatori interessati alla programmazione a basso livello, alla progettazione di kernel o allo studio di architetture alternative, MenuetOS costituisce un caso di studio concreto e funzionante, capace di mostrare cosa sia possibile ottenere quando si riducono al minimo gli strati di astrazione tra software e hardware.
Iscriviti ai nostri gruppi Telegram
Link utili