Sono tanti i sistemi operativi GNU/Linux che offrono un desktop environment che ricorda da vicino l’interfaccia di Windows. Basti pensare, ad esempio, a Wubuntu che appare un clone della piattaforma Microsoft per ciò che concerne l’interfaccia grafica. Tanti anni fa, nel 1998, nacque ReactOS, un sistema operativo che si ispira al kernel e alla famiglia Windows NT.
È composto interamente da software libero ed è scritto da zero, avvalendosi di tecniche di reverse engineering dei componenti di base della piattaforma Microsoft. Non ha quindi nulla a che fare con il kernel Linux e non condivide nulla con l’architettura Unix. ReactOS è scritto principalmente in C, con alcuni elementi, come Explorer, sviluppati in C++.
ReactOS poggia il suo funzionamento su un kernel ibrido: significa che è progettato per ottenere una maggiore compatibilità con i driver e le applicazioni Windows. Da un lato c’è NTOSKRNL, l’implementazione libera e indipendente del kernel di Windows NT, scritta di sana pianta dagli sviluppatori del progetto. Dall’altro ci sono le fondamenta di Wine (Wine is not an emulator), progetto open source che mira a consentire l’esecuzione di applicazioni Windows su altre piattaforme, come i sistemi operativi Unix-like. I componenti di base di Wine risultano adattati in ReactOS in modo da essere integrati direttamente nel kernel.
Vantaggi e obiettivi di ReactOS
L’obiettivo principale di ReactOS è garantire la massima compatibilità possibile con le applicazioni e i driver sviluppati per Windows. Ciò significa che molti programmi possono essere eseguiti su ReactOS senza necessitare di modifiche.
Dal punto di vista dell’interfaccia utente, ReactOS usa una soluzione simile a quella di Windows, con un ambiente desktop familiare basato su concetti come il menu Start e la barra delle applicazioni. Il sistema garantisce inoltre il supporto per un’ampia gamma di hardware anche se non è in grado di funzionare con tutti i dispositivi a disposizione degli utenti finali.
ReactOS mira a fornire un’alternativa libera a Windows, permettendo agli utenti di utilizzare software Windows esistente su una piattaforma che non crea legami con Microsoft e non richiede l’acquisto e l’attivazione di alcuna licenza.
FreeLoader: ReactOS compatibile con UEFI sui sistemi a 64 bit
In un altro articolo abbiamo visto cos’è il bootloader: nel caso di ReactOS, FreeLoader è il bootloader predefinito del sistema operativo. Si tratta del componente fondamentale che si occupa di avviare il kernel di ReactOS e di caricare i driver.
Il team di sviluppo di ReactOS ha lavorato per migliorare e rendere FreeLoader compatibile con diverse architetture hardware e tipi di firmware, come x86, AMD64, ARM32 e ARM64, nonché con i BIOS legacy e UEFI. Un lavoro che ha reso ReactOS adattabile a un ampio ventaglio di dispositivi: PC desktop, notebook, convertibili ma anche smartphone (compresi gli Apple iPhone), tablet e persino la console Steam Deck.
Grazie alle modifiche implementate, ReactOS è compatibile con Secure Boot e può essere installato addirittura in configurazione dual o multiboot, apparendo nel menu di avvio accanto alle varie versioni ed edizioni di Windows.
Compatibilità di ReactOS con le applicazioni Windows più moderne
Il team di sviluppo di ReactOS ha fatto presente di essere al lavoro per migliorare la compatibilità con le applicazioni NT6+. Con questo termine, si fa riferimento ai programmi progettati per i sistemi operativi quali Windows Vista, Windows 7, Windows 8.x, Windows 10 e Windows 11, tutti basati su un’architettura NT più recente.
Con un annuncio pubblicato in questi giorni, inoltre, ReactOS si mette alle spalle la vecchia procedura d’installazione basata su testo (USETUP) per introdurre una routine di setup incentrata su interfaccia grafica (GUI). Quest’ultima è progettata come una procedura guidata che permette agli utenti di muoversi avanti e indietro tra le diverse schermate, durante l’installazione.
Il nuovo ReactOS migliora anche lo strumento di partizionamento delle unità di memorizzazione. L’interfaccia è ancora minimale, comunque non così lontana dai meccanismi che caratterizzano il funzionamento delle più note utilità di partitioning.
Nonostante il supporto UEFI, attualmente non è al momento ancora possibile utilizzare la tabella delle partizioni GPT (GUID Partition Table).
Come provare ReactOS
Per mettere alla prova il funzionamento di ReactOS è possibile fare riferimento alla pagina di download. Da qui è possibile scaricare il file ISO, inseribile in una chiavetta USB avviabile, ad esempio, con la popolare e apprezzata utilità Rufus.
In alternativa, dalla stessa pagina è possibile scaricare la versione live di ReactOS. In questo modo, il sistema operativo non s’installa sul disco fisso o nell’unità SSD collegata al PC in uso ma può essere avviato dal supporto USB di boot (ricordarsi sempre di impostare la sequenza di avvio corretta: unità USB prima, tutto il resto dopo…).
ReactOS può essere eventualmente avviato anche utilizzando una macchina virtuale, predisposta utilizzando le principali soluzioni per la virtualizzazione, comprese VirtualBox e QEMU.
Il codice sorgente di Windows non è disponibile pubblicamente
Seppur attivamente impegnata in molteplici progetti open source, oltre che membro della Linux Foundation e sostenitrice della Open Source Initiative (OSI), Microsoft non ha mai rilasciato il sorgente di Windows. Ecco perché ReactOS è nato a valle di un’intensa e approfondita attività di reverse engineering.
L’azienda di Redmond si è limitata a rilasciare soltanto i sorgenti di alcuni software più vecchi (come MS-DOS e le prime versioni di Word) donandoli al Computer History Museum. E mentre Richard Stallman ha chiesto di rilasciare il codice sorgente di Windows 7 (storico sistema operativo non più supportato), le uniche notizie circa la pubblicazione dei sorgenti di Windows XP e di altri software (oltre che di Windows 10) sono frutto di iniziative assolutamente non autorizzate.
Nell’ambito del suo programma Government Security Program (GSP), Microsoft mette soltanto a disposizione dei Governi e di alcuni enti pubblici le informazioni sul funzionamento dei suoi software, anche a basso livello. Questo nell’ottica della massima collaborazione e trasparenza, soltanto in casi particolari.