Redox OS è un sistema operativo innovativo nato nel 2015, caratterizzato da un microkernel di tipo Unix e sviluppato in Rust, un linguaggio di programmazione noto per la sua sicurezza e performance. Ha anche altri vantaggi significativi, come driver e firmware in esecuzione nello spazio utente del sistema operativo. Ritengo che possa avere notevoli chance in futuro, non appena pronto, tanto da chiedermi se un domani non possa sostituire i sistemi operativi GNU/Linux.
Il team del sistema operativo Redox OS ha rilasciato un nuovo rapporto sul suo stato per descrivere in dettaglio i miglioramenti apportati nelle ultime settimane. Il rapporto sullo stato di novembre 2024 per Redox OS appena uscito evidenzia i vari miglioramenti apportati a questo sistema operativo.
COSMIC Alpha 4
La versione Alpha 4 dell’ambiente desktop COSMIC, anch’esso scritto in Rust,è stata recentemente rilasciata. Redox OS ha già raggruppato COSMIC Editor, Files, Terminal e Store e la versione notturna di Redox OS include gli ultimi miglioramenti per poter godere tutti i miglioramenti di questa nuova interfaccia grafica.
Redox su Redox
Un traguardo notevole è stato raggiunto da Andrey Turkin, che ha eseguito la versione RISC-V di Redox Server utilizzando l’emulatore RISC-V RVVM, il quale opera sulla versione x86-64 di Redox Desktop. Un ringraziamento speciale va a LekKit per il suo eccezionale emulatore, che ha reso possibile questo sviluppo.
Compilazione Redox su WSL
Charlie Philips, proveniente dal Georgia Tech, ha creato un video tutorial utile per coloro che desiderano costruire il sistema Redox su WSL (Windows Subsystem for Linux). Questo video rappresenta una risorsa preziosa per gli utenti che vogliono esplorare le potenzialità di Redox OS in ambienti Windows.
Miglioramenti del Kernel
Nel campo dei miglioramenti del kernel, Jeremy Soller ha affrontato un bug riguardante MSI (Message Signaled Interrupts), consentendo alle CPU Meteor Lake di avviarsi con il supporto della tastiera USB. Arthur Paulino ha effettuato un intervento di rifattorizzazione sulla funzione switch, un’operazione che consiste nel ristrutturare il codice per renderlo più chiaro e comprensibile. Questo processo implica la modifica della struttura interna della funzione senza cambiarne il comportamento finale.
Miglioramenti dei Driver
Tim Finnegan ha risolto un problema di stallo, ovvero un’interruzione o un blocco, che si verificava durante l’inizializzazione del dispositivo USB. Questo problema impediva al sistema di completare correttamente il processo di avvio dei dispositivi USB, causando ritardi o malfunzionamenti.
Aggiornamenti Relibc
Josh Megnauth ha apportato diverse correzioni alla libreria Relibc, affrontando problemi legati a programmi o giochi che utilizzano funzioni POSIX deprecate, ovvero funzioni che non sono più raccomandate per l’uso. Ha anche risolto un overflow di moltiplicazione nella funzione setsockopt, un errore che poteva causare comportamenti imprevisti. Inoltre, ha corretto un buffer overrun durante l’analisi del DNS, un problema in cui un programma scrive dati oltre i limiti di memoria assegnati, potenzialmente causando crash o vulnerabilità .
Tra gli ulteriori miglioramenti, Megnauth ha rimosso allocazioni di memoria e riallocazioni non necessarie, ottimizzando così l’uso della memoria. Ha anche migliorato il codice C generato per il valore di ritorno delle funzioni exit, garantendo una gestione più accurata delle uscite dei programmi.
In aggiunta, plimkilde ha implementato la funzione memmem(), utile per cercare una sequenza di byte all’interno di un’altra. Ha anche aggiunto un gruppo di funzioni iso686 con i relativi test per garantire il loro corretto funzionamento. Sono stati creati stub per tutte le funzioni mancanti da POSIX 2024; questi stub fungono da segnaposto temporanei che permettono agli sviluppatori di testare il codice senza dover implementare immediatamente le funzioni complete.
Infine, sono state documentate varie librerie standard come stdlib.h e string.h, fornendo informazioni utili agli sviluppatori su come utilizzare queste librerie nel loro codice.
Sviluppo dei Programmi
Nel settore dello sviluppo software, bitstr0m ha risolto un problema di compilazione nella libreria libevent, una libreria fondamentale per la gestione degli eventi in applicazioni C e C++. Questa correzione permette agli sviluppatori di utilizzare libevent senza errori, migliorando la stabilità e l’affidabilità delle applicazioni che dipendono da essa.
Nel frattempo, Ribbon ha completato con successo la compilazione di diversi programmi e dimostrazioni realizzati in Rust. Josh Megnauth ha aggiornato OpenJazz, un gioco open source, portandolo all’ultima versione disponibile. Questo aggiornamento include nuove funzionalità e correzioni di bug, migliorando l’esperienza di gioco. Inoltre, ha convertito la configurazione della ricetta in TOML (Tom’s Obvious, Minimal Language), un linguaggio di serializzazione dei dati utilizzato per la gestione delle configurazioni nei progetti software. La conversione in TOML semplifica la lettura e la modifica delle impostazioni del progetto, rendendo più facile per gli sviluppatori gestire le dipendenze e le configurazioni necessarie per l’esecuzione del programma.
Miglioramenti nei Test
Ron Williams ha apportato modifiche al sistema di Integrazione Continua (CI, Continuous Integration) della build di Redox OS, un processo che automatizza l’integrazione delle modifiche al codice in un repository condiviso. Questo sistema consente di testare automaticamente il codice ogni volta che viene aggiornato, garantendo che le nuove modifiche non introducano errori e che il software rimanga sempre in uno stato pronto per la produzione.
Inoltre, Ron ha creato un repository dedicato ai benchmark di Redox OS. I benchmark permettono di valutare l’efficienza e la velocità del software, fornendo dati preziosi per identificare aree di miglioramento. La comunità è invitata a contribuire con ulteriori test, il che significa che gli utenti e gli sviluppatori possono partecipare attivamente alla raccolta di dati sulle performance, aiutando a rendere Redox OS un sistema operativo sempre più robusto e performante.
Aggiornamenti al Sistema di Compilazione
Ron Williams ha migliorato la gestione degli errori nel programma di installazione di Redox OS, consentendo ora di visualizzare il nome del pacchetto quando un pacchetto pre-compilato non può essere trovato sul server di compilazione di Redox OS. Questa modifica rende più chiaro per gli utenti quali pacchetti mancano, facilitando la risoluzione dei problemi durante l’installazione.
Inoltre, Ron ha implementato modifiche nei file di configurazione, che sono istruzioni utilizzate per costruire e configurare il software, per semplificare la creazione dell’immagine desktop con pacchetti pre-compilati scaricati. Queste modifiche permettono agli sviluppatori di generare più facilmente un’immagine del sistema operativo che include i pacchetti necessari, migliorando l’efficienza del processo di installazione e configurazione del sistema Redox OS.
Documentazione Migliorata
Ribbon ha dedicato tempo alla documentazione, spiegando i vantaggi della gestione dei pacchetti Redox OS nella sezione dedicata. Sono stati risolti problemi nel tutorial “From Nothing to Hello World“, ed è stata fornita una maggiore chiarezza nella pagina relativa alla sicurezza.
Inoltre, sono stati corretti i dettagli delle istruzioni di compilazione per il Raspberry Pi e sono stati rimossi riferimenti obsoleti dalla documentazione.
Report Hardware
David Pfeiffer ha aggiunto un report hardware per il computer Lenovo Yoga S730-13IWL e Matthew Croughan ha fatto lo stesso per l’HP Compaq NC6120, contribuendo così a una migliore comprensione delle compatibilità hardware con Redox OS.
Unisciti alla ComunitÃ
La comunità è invitata a partecipare attivamente attraverso Matrix Chat per fornire feedback o semplicemente ascoltare le discussioni in corso. Questo spazio rappresenta un’opportunità preziosa per interagire con altri membri e contribuire allo sviluppo continuo di Redox OS.
Fonte: https://www.redox-os.org/news/this-month-241130/
Source: Read More