Llançament del sistema operatiu Redox OS 0.7 escrit en Rust

Després d'un any i mig de desenvolupament, s'ha publicat el llançament del sistema operatiu Redox 0.7, desenvolupat amb el llenguatge Rust i el concepte de micronucli. Els desenvolupaments del projecte es distribueixen sota la llicència gratuïta MIT. Per provar el sistema operatiu Redox, s'ofereixen imatges d'instal·lació i en directe, 75 MB de mida. Els conjunts es generen per a l'arquitectura x86_64 i estan disponibles per a sistemes amb UEFI i BIOS.

En preparar una nova versió, es va prestar atenció principal a garantir el treball en maquinari real. Principals innovacions:

  • El carregador d'arrencada es va reescriure completament, en el qual el codi per arrencar en sistemes amb BIOS i UEFI està unificat i principalment escrit en Rust. Canviar el carregador d'arrencada ha ampliat significativament la gamma de maquinari compatible.
  • Al nucli, a més de corregir errors, s'ha treballat per millorar el rendiment i ampliar el suport de maquinari. Les variables específiques de la CPU s'han mogut per utilitzar el registre GS. Es proporciona la reflexió (mapeig) de tota la memòria física, s'atura l'ús de pàgines de memòria recursiva. El codi assemblador a les insercions en línia s'ha reescrit per millorar la compatibilitat amb futures versions del compilador.
  • S'ha afegit suport inicial per a l'arquitectura AArch64.
  • S'ha canviat a processar tots els camins de fitxer en codificació UTF-8.
  • El codi per treballar amb l'especificació ACPI AML (ACPI Machine Language) - uefi.org s'ha mogut del nucli al procés de fons acpid que s'executa a l'espai d'usuari.
  • El contingut d'Initfs s'ha mogut a un fitxer nou, facilitant el paquet.
  • El sistema de fitxers RedoxFS s'ha reescrit i s'ha canviat per utilitzar el mecanisme CoW (Copy-on-Write), en el qual els canvis no sobreescriuen la informació, sinó que es guarden en una nova ubicació, fet que ha permès aconseguir un augment significatiu de la fiabilitat. De les noves característiques de RedoxFS, es destaca el suport per a actualitzacions transaccionals, el xifratge de dades mitjançant l'algoritme AES, així com la garantia de dades i metadades amb signatures digitals. Es proporciona l'ús compartit del codi FS al sistema i al carregador d'arrencada.
  • S'ha continuat la millora de la biblioteca estàndard C Relibc desenvolupada pel projecte, que pot funcionar no només en Redox, sinó també en distribucions basades en el nucli Linux. Els canvis van facilitar el port de diversos programes a Redox i van resoldre problemes amb molts programes i biblioteques escrites en llenguatge C.
  • S'ha preparat una versió del compilador rustc que es pot executar en Redox. De les tasques restants, s'assenyala l'optimització del rendiment i l'adaptació del gestor de paquets de càrrega per treballar a l'entorn Redox.

Llançament del sistema operatiu Redox OS 0.7 escrit en Rust

El sistema operatiu es desenvolupa d'acord amb la filosofia Unix i pren en préstec algunes idees de SeL4, Minix i Plan 9. Redox utilitza el concepte de micronucli, en el qual només es proporciona la comunicació entre processos i gestió de recursos a nivell del nucli, i totes les altres funcionalitats es col·loquen. en biblioteques que es poden utilitzar tant del nucli com d'aplicacions d'usuari. Tots els controladors s'executen a l'espai d'usuari en entorns sandbox aïllats. Per a la compatibilitat amb les aplicacions existents, es proporciona una capa POSIX especial que permet que molts programes s'executin sense portar.

El sistema aplica el principi "tot és una URL". Per exemple, l'URL "log://" es pot utilitzar per al registre, "bus://" per a la comunicació entre processos, "tcp://" per a la comunicació de xarxa, etc. Els mòduls, que es poden implementar com a controladors, extensions del nucli i aplicacions personalitzades, poden registrar els seus propis controladors d'URL, per exemple, podeu escriure un mòdul d'accés d'E/S i enllaçar-lo a l'URL "port_io://", després del qual podeu utilitzar-lo per accedir al port 60 obrint l'URL "port_io://60".

L'entorn d'usuari a Redox està construït al voltant del propi shell gràfic d'Orbital (que no s'ha de confondre amb l'altre shell d'Orbital que utilitza Qt i Wayland) i el conjunt d'eines OrbTk, que proporciona una API similar a Flutter, React i Redux. Netsurf s'utilitza com a navegador web. El projecte també desenvolupa el seu propi gestor de paquets, un conjunt d'utilitats estàndard (binutils, coreutils, netutils, extrautils), l'intèrpret d'ordres ion, la biblioteca C estàndard relibc, l'editor de text semblant a sodium vim, la pila de xarxa i el fitxer sistema. La configuració s'estableix en l'idioma Toml.

Font: opennet.ru

Afegeix comentari