JSLinux: eseguire una distribuzione GNU/Linux direttamente nel browser

Prova a pensare al browser non come a un semplice programma per consultare pagine web, ma come a una piattaforma capace di ospitare un vero computer virtuale. È questo il punto di partenza di JSLinux, un progetto che sfrutta le tecnologie moderne del Web per trasformare un comune navigatore in un ambiente in grado di eseguire una distribuzione GNU/Linux completa.
Alla base di questa soluzione c’è l’idea di utilizzare JavaScript e WebAssembly, un formato binario progettato per eseguire codice con prestazioni molto elevate, per ricreare il comportamento di un intero sistema hardware. Non si tratta di una simulazione semplificata: il browser arriva a gestire CPU, periferiche e bus come farebbe un vero PC, senza installare nulla sul sistema dell’utente.
Il progetto porta la firma di Fabrice Bellard, sviluppatore noto per aver realizzato strumenti che hanno segnato la storia del software libero, tra cui QEMU, utilizzato per l’emulazione e la virtualizzazione, e FFmpeg, una delle suite più diffuse per la gestione dei contenuti multimediali. Con JSLinux Bellard dimostra ancora una volta quanto sia possibile spingersi oltre i limiti tradizionali, sfruttando il Web come piattaforma per eseguire sistemi operativi reali in modo immediato e accessibile.
Novità in JSLinux
Tra gennaio e marzo 2026 JSLinux ha introdotto una delle sue evoluzioni più importanti: il supporto completo all’architettura x86‑64. Questo permette di eseguire sistemi operativi moderni e software compilati per piattaforme a 64 bit, grazie all’implementazione del modello di memoria a 64 bit, della paginazione estesa e dei registri generali necessari ai kernel Linux contemporanei.
A marzo 2026 il progetto ha compiuto un ulteriore salto con l’aggiunta delle estensioni AVX2 e di vari set della famiglia AVX‑512, istruzioni progettate per operazioni SIMD (Single Instruction, Multiple Data) utilizzate in compressione, crittografia, elaborazione multimediale e calcolo scientifico. La novità più rilevante è però l’integrazione delle APX (Advanced Performance Extensions), una recente evoluzione dell’architettura x86 che introduce nuovi registri generali e istruzioni ottimizzate per ridurre la pressione sullo stack e migliorare l’efficienza dei compilatori. Secondo la documentazione ufficiale, JSLinux è attualmente l’unico emulatore x86 pubblico a implementare le APX in modo completo.
Per rendere possibile l’esecuzione di un sistema operativo reale, JSLinux emula anche componenti hardware fondamentali come il controller di interrupt 8259, il timer 8254 e il bus PCI. Le periferiche moderne sono gestite tramite dispositivi VirtIO, che includono console virtuale, interfaccia di rete, dispositivo di archiviazione a blocchi e sottosistema di input. È presente anche un filesystem VirtIO 9P, che consente di importare ed esportare file tra host e macchina virtuale direttamente dal browser. L’interfaccia grafica può utilizzare un framebuffer semplice o una VGA minimale, con supporto opzionale a controller IDE e periferiche PS/2.
Origini ed evoluzione di JSLinux
Il primo prototipo di JSLinux risale al 2011, quando Bellard dimostrò che una distribuzione GNU/Linux poteva essere eseguita interamente in JavaScript grazie ai progressi dei motori del tempo e alle tecniche di compilazione JIT (Just‑In‑Time). La prima versione riutilizzava parti di QEMU adattate al JavaScript, ma nel 2015 il progetto adottò asm.js, un sottoinsieme ottimizzato del linguaggio che permetteva prestazioni molto superiori.
La svolta definitiva arrivò nel 2016 con la creazione di TinyEMU, un emulatore scritto in C inizialmente dedicato all’architettura RISC‑V. Convertito in JavaScript tramite Emscripten, TinyEMU superò le prestazioni della precedente implementazione asm.js e divenne la base dell’attuale JSLinux. Il backend RISC‑V è disponibile in versione a 32 e 64 bit, con unità in virgola mobile a 64 bit e supporto alle istruzioni compresse. Le immagini software includono distribuzioni GNU/Linux basate su Buildroot e Fedora; le varianti a 32 bit sono ancora accessibili ma non più mantenute attivamente.
Sistemi Operativi disponibili
Le macchine virtuali disponibili nel progetto includono principalmente Alpine Linux e sistemi generati con Buildroot, ma sono presenti anche Fedora, FreeDOS e persino Windows 2000. In modalità grafica è possibile avviare il server X Window con il window manager Fluxbox, mentre l’interfaccia principale rimane un terminale JavaScript avanzato con scorrimento, selezione del testo e riconoscimento degli URL.
Pur nato come esperimento tecnico, JSLinux è oggi utilizzato in diversi contesti: valutazione delle prestazioni dei motori JavaScript, test delle funzionalità di WebAssembly, apprendimento degli strumenti GNU/Linux senza installare nulla e accesso controllato ai file tramite il filesystem virtuale. Il progetto dimostra quanto il Web moderno sia diventato potente: eseguire un sistema operativo completo in una pagina HTML richiede milioni di istruzioni al secondo, gestione della memoria virtuale, emulazione hardware e networking, il tutto in un ambiente originariamente pensato per documenti ipertestuali.
Conclusione
JSLinux rappresenta una tappa importante nell’evoluzione delle tecnologie web. Mostra come un browser possa diventare un ambiente di emulazione completo, accessibile e sorprendentemente versatile. Per sviluppatori, appassionati di sistemi operativi o semplici curiosi, offre un modo immediato per esplorare un sistema GNU/Linux senza installazioni o configurazioni complesse. Il progetto è disponibile all’indirizzo bellard.org/jslinux/ e una versione utilizzabile direttamente online si trova qui: https://jslinux.github.io/jslinux/ e un’altra qui: https://jm.iq.pl/jslinux-mobile/h7UNvdYq/.
Fonte: https://bellard.org/jslinux/
Fonte: https://github.com/jslinux/jslinux
Fonte: https://jslinux.github.io/jslinux/
Se vuoi sostenermi, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che ho nel mio sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul mio negozio online, quelle mancanti possono essere comunque richieste.
Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
























