
Si, hai letto bene, oggi parliamo di ReactOS.
Si tratta di un progetto unico, diverso da qualsiasi distribuzioni Linux, ma che permette di ricreare un ambiente windows completo, nel quale poter lanciare le tue applicazioni preferite.
Si tratta di ReactOS (in precedenza conosciuto col nome FreeWin95), un sistema operativo open-source che si pone l’obiettivo di “essere totalmente compatibile” con il codice delle applicazioni e con i driver realizzati per Microsoft Windows NT 5 e versioni successive (stiamo parlando quindi di Windows 2000, XP, 2003, Vista, 7, 8 e 10).
Il termine è stato coniato dal fondatore del progetto Jason Filby, uno sviluppatore di Oracle Database di Durban, in Sudafrica.
“OS” sta per “sistema operativo” mentre “React” sta alla disapprovazione verso Microsoft e la sua posizione monopolistica e quindi alla necessità di una “Reazione”. ReactOS:
Essendo ancora in fase alpha il progetto non é da ritenersi completo.
Il supporto dato negli ultimi 20 anni dalla comunità di appassionati nel mondo ha però permesso agli sviluppatori di poter creare qualcosa di certamente affascinante e peculiare, tanto da diventare oggetto anche di diversi hackfest in Germania.
Ricordiamo la compatibilità (in via di sviluppo) con varie architetture: x86, amd64, i686, ARM, MIPS, Alpha AXP, PowerPC, Xen, IA-32, IA-64 e Xbox.
La nuova versione 0.4.13 é stata rilasciata con ReactOS Build Environment v2.1.2 e GCC (GNU Compiler Collection) v4.7.2. Tra le varie migliorie al kernel, segnaliamo il supporto driver per Intel Pro/1000 NIC, una maggiore stabilità con FreeLoader FAT, ripristinata la fase di avvio di Windows Server 2003 , corretto un evento BSoD (Blue Screen of Death) con Esplora Risorse e vari aggiornamenti per Xbox, tra cui XQEMU.
La community di ReactOS ricerca costantemente persone che possano contribuire a questa immensa impresa, dove le squadre sono composte da persone provenienti da diversi paesi del mondo, pertanto è necessaria una certa “empatia” con la lingua inglese. Inoltre, di tanto in tanto (e quando le donazioni lo permettono), ReactOS assegna borse di studio ai collaboratori per compiti specifici da svolgere.
La sfida di lavorare su un sistema operativo mainstream è qualcosa a cui molte persone sono interessate, tuttavia le opportunità per farlo sono piuttosto limitate.
Ad alcune persone piace molto Windows o l’architettura NT e vogliono sporcarsi le mani. ReactOS offre la possibilità di lavorare su una versione matura e open source del sistema operativo NT, il sistema operativo desktop più popolare al mondo.
Quindi, se sei uno sviluppatore Windows in erba che cerca di imparare il più possibile sullo sviluppo di un sistema operativo, o se sei uno sviluppatore di driver esperto in cerca di un progetto divertente, allora ReactOS avrà sicuramente qualcosa da offrirti.
NT fornisce vari processi e servizi fondamentali che sono essenziali per l’architettura NT. Questi includono i processi per gestire l’utente connesso (winlogon), il sottosistema di sicurezza (lsass), il gestore della sessione (smss), il gestore di controllo del servizio e il suo gran numero di servizi NT e molti altri.
Lavorare in quest’area richiede una conoscenza molto approfondita non solo dell’API Win32 ma anche dell’architettura NT. Questi processi di sistema vengono eseguiti con privilegi più elevati rispetto alle normali applicazioni, quindi è essenziale comprendere le pratiche di codifica sicura per evitare l’introduzione di vulnerabilità.
Questo è un ottimo punto di partenza per chiunque desideri acquisire esperienza nello sviluppo di sistemi NT, o è già si trova a suo agio a lavorare con NT Services e desidera lavorare su componenti di sistema fondamentali per il sistema operativo NT.
La shell è generalmente divisa in due aree. La parte principale della shell comprende un numero di dll che costituiscono la maggior parte di ciò con cui l’utente interagisce (shell32.dll, browserui.dll, ecc.).
Queste dll contengono codice per il browser di file, le finestre di dialogo, i menu e il menu di avvio e si basano molto sull’API Win32 per fornire questi servizi. La maggior parte delle applicazioni GUI utilizza in qualche modo la shell, anche solo per fornire all’utente una finestra di dialogo per l’apertura dei file.
Explorer è la parte che la maggior parte delle persone associa alla shell ed è un processo che permette all’utente desktop di gestire le proprie applicazioni. Implementa cose come la barra delle applicazioni e l’area di notifica e si affida molto alle DLL della shell per svolgere i suoi compiti.
La maggior parte della shell è scritta in C++ e utilizza ampiamente librerie COM. La shell ReactOS è un’implementazione completamente funzionante di una shell Windows con lo stesso aspetto grafico. ReactOS ospita Windows Explorer, lo stesso explorer che funziona su Windows. Questo lo rende un ottimo strumento di apprendimento per approfondire le tue conoscenze nello sviluppo della shell di Windows. Se sei uno sviluppatore COM esperto, o anche se speri solo di saperne di più su COM e la shell, allora questo è il posto giusto per te per intraprendere il tuo sviluppo con ReactOS.
L’API Win32 è il livello più basso della modalità utente ed è composta da un vasto numero di dll. Le dll principali possono essere suddivise in tre aree specifiche; Kernel32.dll contiene codice per gestire aree come thread, processi e servizi del kernel come l’interazione con i file. Gdi32.dll l e User32.dll contiene il codice per gli elementi della barra di scorrimento e dei pulsanti.
Tuttavia, l’API Win32 è molto più di queste tre librerie. Troverai librerie di servizi avanzati per accedere al registro o ai driver dei dispositivi, librerie che contengono il codice dell’interfaccia di rete, librerie multimediali per video e suoni, solo per citarne alcune.
Per assicurarci di funzionare come Windows a questo livello, manteniamo una vasta suite di test che comprende milioni di test, con cui dovrai lavorare con la stessa frequenza del codice API stesso. Lavorare a questo livello ti darà davvero un’idea di cosa significhi lavorare su un sistema operativo e lavorare all’interno di un team esperto.
Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

InnovazioneL’evoluzione dell’Intelligenza Artificiale ha superato una nuova, inquietante frontiera. Se fino a ieri parlavamo di algoritmi confinati dietro uno schermo, oggi ci troviamo di fronte al concetto di “Meatspace Layer”: un’infrastruttura dove le macchine non…
CybercrimeNegli ultimi anni, la sicurezza delle reti ha affrontato minacce sempre più sofisticate, capaci di aggirare le difese tradizionali e di penetrare negli strati più profondi delle infrastrutture. Un’analisi recente ha portato alla luce uno…
VulnerabilitàNegli ultimi tempi, la piattaforma di automazione n8n sta affrontando una serie crescente di bug di sicurezza. n8n è una piattaforma di automazione che trasforma task complessi in operazioni semplici e veloci. Con pochi click…
InnovazioneArticolo scritto con la collaborazione di Giovanni Pollola. Per anni, “IA a bordo dei satelliti” serviva soprattutto a “ripulire” i dati: meno rumore nelle immagini e nei dati acquisiti attraverso i vari payload multisensoriali, meno…
Cyber ItaliaNegli ultimi giorni è stato segnalato un preoccupante aumento di truffe diffuse tramite WhatsApp dal CERT-AGID. I messaggi arrivano apparentemente da contatti conosciuti e richiedono urgentemente denaro, spesso per emergenze come spese mediche improvvise. La…