Rilascio del sistema operativo Redox OS 0.9, scritto in Rust

Dopo quasi due anni di sviluppo, è stata pubblicata la versione 0.9 del sistema operativo Redox, progettato utilizzando il linguaggio Rust e il concetto di microkernel. I progressi del progetto sono distribuiti sotto la licenza MIT. Per testare Redox OS sono stati proposti ambienti live avviabili per hardware reale e immagini di sistema per macchine virtuali (512 MB e 1,5 GB), preparate per le architetture x86_64 e i686.

L'immagine dimostrativa include un emulatore DOSBox, una selezione di giochi (DOOM, Neverball, Neverputt, sopwith, syobonaction), programmi educativi, il lettore musicale rodioplay con supporto per i formati FLAC e WAV, il browser web Netsurf, un visualizzatore di immagini, un editor di testo da console Sodium, un file manager, un emulatore terminale e un editor di testo del progetto COSMIC. L'ambiente utente è costruito sulla base della propria interfaccia grafica Orbital e del toolkit OrbTk, che fornisce un'API simile a Flutter, React e Redux. È supportato il GUI delle librerie Slint, Iced e winit.

Rilascio del sistema operativo Redox OS 0.9, scritto in Rust

Il sistema operativo si sviluppa in base alla filosofia Unix e prende in prestito alcune idee da SeL4, Minix e Plan 9. Redox utilizza il concetto di microkernel, in cui a livello di kernel è garantita solo l'interazione tra processi e la gestione delle risorse, mentre tutta la funzionalità rimanente è delegata a librerie, che possono essere utilizzate sia dal kernel che dalle applicazioni utente. Tutti i driver vengono eseguiti nello spazio utente in ambienti sandbox isolati. Per la compatibilità con le applicazioni esistenti è fornita un'interfaccia POSIX speciale che consente di eseguire molti programmi senza la necessità di porting.

Il progetto sta sviluppando un proprio gestore di pacchetti, un insieme di utility standard (binutils, coreutils, netutils, extrautils), la shell ion, la libreria C standard relibc, un editor di testo simile a vim chiamato sodium, uno stack di rete e un file system. La configurazione è definita nel linguaggio Toml.

Tra l'hardware supportato sono inclusi i dispositivi di input con interfaccia USB (tastiere, mouse, touchpad), output grafico tramite API VESA BIOS o UEFI GOP (driver per GPU non supportati), chip audio AC’97 e Intel HD Audio, SATA (AHCI, IDE) e NVMe. Il supporto per Wi-Fi e dispositivi di archiviazione con interfaccia USB non è ancora pronto. Il lavoro con l'ambiente grafico è stato testato su laptop Lenovo IdeaPad Y510P, System76 Galago Pro e System76 Lemur Pro. Con alcune limitazioni è fornito il supporto per notebook Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 e ASUS Eee PC 900. Tra i sistemi ARM è supportato Raspberry Pi 3 Model B+.

Variazioni principali:

  • Sono state notevolmente ampliate le funzionalità relative alla gestione dei processi, dei thread, della memoria e dei segnali, il che ha portato a un miglioramento nel funzionamento di molte applicazioni. Ad esempio, il sistema ha raggiunto un livello che consente di compilare semplici programmi con GCC e Rust, mentre il supporto per la ricompilazione automatica non è ancora stato raggiunto.
  • Dal ambiente utente COSMIC a Redox sono stati trasferiti il gestore di file, l'editor di testo e l'emulatore di terminale, funzionanti in modalità grafica.
  • Migliorata la portabilità con i programmi delle sistemi Linux e BSD. Il numero totale di porting delle applicazioni è stato portato a circa 1700. Tra i traguardi significativi si segnala il porting del server HTTP Apache, Simple HTTP Server, RustPython, GNU Make, Lua, Perl 5, degli editor di testo GNU Nano e Helix.
  • Sono state apportate diverse ottimizzazioni delle prestazioni e risolti molti problemi che influenzavano la stabilità. È stata migliorata la performance del file system RedoxFS, della gestione della memoria, delle chiamate di sistema e del cambio di contesto. Notevolmente velocizzato il funzionamento in macchine virtuali.
  • Nel display server In Orbital è stato aggiunto il supporto per le librerie GUI Slint, Iced e winit. Tramite winit in Orbital è stata implementata la possibilità di decorare le finestre lato client, creare finestre nascoste e fare il full screen. È stata aggiunta la possibilità di riprodurre musica e video dalle applicazioni GUI tramite un doppio clic del mouse. È stato migliorato il design dell'ambiente desktop di Orbital.
    Rilascio del sistema operativo Redox OS 0.9, scritto in Rust
  • Invece di indirizzare tramite URL (ad esempio, per la registrazione nel log si poteva utilizzare l'URL "log://", mentre per l'interazione di rete "tcp://"), è stato adottato il tradizionale formato di percorsi di file per i sistemi Unix, il che ha avuto un effetto positivo sulla compatibilità con i programmi e le librerie POSIX/Linux.
  • Raffinata l'implementazione della libreria standard C Relibc, che oltre a libm è ora completamente scritta in Rust. È stato ampliato il supporto delle funzioni POSIX. È stata proposta un'iniziativa per fornire un ABI stabile per lo spazio utente. Tutti i componenti di sistema sono stati trasferiti da redox_syscall a libredox.
  • Migliorato il funzionamento del bootloader per UEFI.
  • Migliorato significativamente il supporto per l'architettura ARM64 (Aarch64) e garantita parziale compatibilità con la scheda Raspberry Pi 3B+.
  • Ampliate le capacità del driver Contain per l'esecuzione isolata delle applicazioni. Aggiunta la dimostrazione dell'uso del driver Contain (desktop-contain.toml).
  • Migliorati i driver per PCI e PCIe. Aggiunti i driver VirtIO.
  • Ampliate le funzionalità del sistema di build.

Guarda il video


Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster