Uscita del sistema operativo Redox OS 0.7, scritto in Rust

Dopo un anno e mezzo di sviluppo, è stato pubblicato il rilascio del sistema operativo Redox 0.7, 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 stati proposti immagini di installazione e Live, di dimensione 75 MB. Le build sono state create per l'architettura x86_64 e sono disponibili per sistemi con UEFI e BIOS.

Durante la preparazione del nuovo rilascio, l'attenzione principale è stata rivolta a garantire il funzionamento su hardware reale. Le principali novità sono:

  • Il bootloader è stato completamente riscritto, con un codice unificato e principalmente scritto in Rust per il caricamento su sistemi con BIOS e UEFI. La modifica del bootloader ha consentito di ampliare notevolmente la gamma di hardware supportato.
  • Nel kernel, oltre alla correzione di bug, è stato lavorato per migliorare le prestazioni e ampliare il supporto hardware. Le variabili specifiche per CPU sono state convertite per utilizzare il registro GS. È stata garantita la mappatura dell'intera memoria fisica, interrompendo l'uso di pagine di memoria ricorsive. Il codice assembly negli inserti inline è stato riscritto per migliorare la compatibilità con future versioni del compilatore.
  • È stato aggiunto il supporto iniziale per l'architettura AArch64.
  • È stata effettuata la transizione a gestire tutti i percorsi di file in codifica UTF-8.
  • Il codice per lavorare con la specifica ACPI AML (ACPI Machine Language) — uefi.org è stato spostato dal kernel a un processo in background acpid, eseguito nello spazio utente.
  • Il contenuto di Initfs è stato spostato in un nuovo file, semplificando la creazione dei pacchetti.
  • Il filesystem RedoxFS è stato riscritto e convertito per utilizzare il meccanismo CoW (Copy-on-Write), dove le modifiche non sovrascrivono le informazioni ma vengono salvate in un nuovo luogo, il che ha consentito un notevole aumento dell'affidabilità. Tra le nuove funzionalità di RedoxFS spiccano il supporto per aggiornamenti transazionali, la crittografia dei dati utilizzando l'algoritmo AES, nonché la verifica dei dati e dei metadati tramite firme digitali. È stato garantito il riutilizzo del codice del filesystem nel sistema e nel bootloader.
  • È continuato il miglioramento della libreria standard C Relibc, in grado di funzionare non solo in Redox, ma anche nelle distribuzioni basate sul kernel Linux. Le modifiche apportate hanno semplificato il porting di vari programmi su Redox e risolto problemi con molti programmi e librerie scritti in C.
  • È stata preparata una versione del compilatore rustc, in grado di avviarsi in Redox. Tra le attività rimanenti si segnala l'ottimizzazione delle prestazioni e l'adattamento del gestore di pacchetti cargo per funzionare nell'ambiente Redox.

Uscita del sistema operativo Redox OS 0.7, 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.

Nel sistema è applicato il principio "tutto è URL". Ad esempio, per la registrazione nei log può essere utilizzato l'URL "log://", per l'interazione tra processi "bus://", per l'interazione di rete "tcp://" e così via. I moduli, che possono essere realizzati sotto forma di driver, estensioni del kernel e applicazioni utente, possono registrare i propri gestori URL; ad esempio, è possibile scrivere un modulo per l'accesso alle porte di input/output e associarlo all'URL "port_io://", dopodiché può essere utilizzato per accedere alla porta 60 aprendo l'URL "port_io://60".

L'ambiente utente in Redox è costruito su una shell grafica proprietaria chiamata Orbital (non confondere con un'altra shell Orbital che utilizza Qt e Wayland) e su un toolkit chiamato OrbTk, che fornisce un'API simile a Flutter, React e Redux. Come browser web viene utilizzato Netsurf. Il progetto sta anche sviluppando un gestore di pacchetti proprietario, un insieme di utility standard (binutils, coreutils, netutils, extrautils), la shell dei comandi ion, la libreria C standard relibc, un editor di testo simile a vim chiamato sodium, lo stack di rete e il file system. La configurazione è definita in linguaggio Toml.

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