Pubblicazione del sistema operativo Redox OS 0.9, scritto in linguaggio Rust

Dopo quasi due anni di sviluppo, è stata pubblicata la versione del sistema operativo Redox 0.9, sviluppato utilizzando il linguaggio Rust e il concetto di microkernel. I progressi del progetto sono distribuiti sotto la licenza libera MIT. Per testare Redox OS sono disponibili ambienti live di avvio 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 l'emulatore DOSBox, una selezione di giochi (DOOM, Neverball, Neverputt, sopwith, syobonaction), programmi didattici, il lettore musicale rodioplay con supporto per i formati FLAC e WAV, il browser web Netsurf, un visualizzatore di immagini, l'editor di testo da console Sodium, il gestore di file, il terminale e l'editor di testo del progetto COSMIC. L'ambiente utente è basato sulla propria interfaccia grafica Orbital e su un toolkit OrbTk, che fornisce un'API simile a Flutter, React e Redux. È supportato l'uso di librerie GUI come Slint, Iced e winit.

Pubblicazione del sistema operativo Redox OS 0.9, scritto in linguaggio Rust

Il sistema operativo si sviluppa secondo la filosofia Unix e incorpora alcune idee da SeL4, Minix e Plan 9. Redox utilizza il concetto di microkernel, dove a livello del kernel viene garantita solo l'interazione tra i processi e la gestione delle risorse, mentre tutte le altre funzionalità sono delegate 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 garantire la compatibilità con le applicazioni esistenti, è fornito un layer POSIX speciale che consente l'esecuzione di molti programmi senza necessità di porting.

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

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

Principali modifiche:

  • Sono state notevolmente ampliate le funzionalità relative alla gestione di processi, thread, memoria e segnali, portando a un miglioramento delle prestazioni di molte applicazioni. Ad esempio, il sistema ha raggiunto un livello che consente di compilare semplici programmi con i compilatori GCC e Rust, anche se il supporto per l'auto-compilazione non è ancora raggiunto.
  • Dall'ambiente utente COSMIC sono stati trasferiti in Redox il gestore di file, l'editor di testo e il terminale, funzionanti in modalità grafica.
  • È stata migliorata la portabilità con i programmi delle system Linux e BSD. Il numero totale di porte applicative è stato portato a circa 1700. Tra i significativi successi si segnala la portazione del server HTTP Apache, Simple HTTP Server, RustPython, GNU Make, Lua, Perl 5, e degli editor di testo GNU Nano e Helix.
  • Sono state apportate diverse ottimizzazioni delle prestazioni e risolti molti problemi che influenzano la stabilità operativa. È stata aumentata la prestazione del file system RedoxFS, della gestione della memoria, delle chiamate di sistema e del passaggio di contesto. Il funzionamento è stato notevolmente accelerato. macchine virtuali.
  • Nel display un 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 portare le finestre a schermo intero. È stata aggiunta la possibilità di riprodurre musica e video dalle applicazioni GUI con un doppio clic del mouse. È stato migliorato il design dell'ambiente desktop Orbital.
    Pubblicazione del sistema operativo Redox OS 0.9, scritto in linguaggio Rust
  • Invece di utilizzare l'indirizzamento tramite URL (ad esempio, per registrare nel log si poteva usare l'URL "log://", e per le interazioni di rete "tcp://"), è stato utilizzato il formato tradizionale dei percorsi di file visto nelle sistemi Unix, migliorando così la compatibilità con programmi e librerie POSIX/Linux.
  • È stata migliorata l'implementazione della libreria standard C Relibc, che ora è completamente scritta in Rust, oltre a libm. È stato esteso il supporto per le funzioni POSIX. Sono state proposte iniziative per fornire un ABI stabile per lo spazio utente. Tutti i componenti di sistema sono stati migrati da redox_syscall a libredox.
  • È stato migliorato il funzionamento del bootloader per UEFI.
  • È stato notevolmente migliorato il supporto per l'architettura ARM64 (Aarch64) e garantita una compatibilità parziale con la scheda Raspberry Pi 3B+.
  • Sono state ampliate le funzionalità del driver Contain per l'esecuzione isolata delle applicazioni. È stata aggiunta una dimostrazione dell'uso del driver Contain (desktop-contain.toml).
  • Sono stati migliorati i driver per PCI e PCIe. Sono stati aggiunti driver VirtIO.
  • Sono state ampliate le funzionalità del sistema di build.

Riproduci 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