Después de un año y medio de desarrollo se dio a conocer el lanzamiento del sistema operativo Redox 0.6, el cual es desarrollado utilizando el lenguaje Rust y el concepto de microkernel, además de que se desarrolla de acuerdo con la filosofía Unix y toma prestadas algunas ideas de SeL4, Minix y Plan 9.
Redox usa el concepto de microkernel, en el que solo se proporciona la interacción entre los procesos y la gestión de recursos a nivel del kernel, y todas las demás funcionalidades se trasladan a las bibliotecas. que puede ser utilizado tanto por el kernel como por las aplicaciones personalizadas. Todos los controladores se ejecutan en el espacio del usuario en entornos de espacio aislado. Para compatibilidad con las aplicaciones existentes, se proporciona una capa POSIX especial que le permite ejecutar muchos programas sin migrar.
El sistema aplica el principio «todo es una URL». Por ejemplo, para registrar la URL se puede utilizar «log://», para la comunicación entre procesos «bus://», para la comunicación de red «tcp://», etc.
Los módulos que se pueden implementar en forma de controladores, extensiones de kernel y aplicaciones personalizadas pueden registrar sus propios controladores de URL, por ejemplo, puede escribir un módulo para acceder a los puertos de E/S y vincularlo a la URL «port_io: //», después de lo cual puede usarlo para acceder al puerto 60 abriendo la URL «port_io: // 60». Los desarrollos del proyecto se distribuyen bajo la licencia gratuita MIT.
El entorno de usuario en Redox está construido sobre el propio shell gráfico de Orbital (que no debe confundirse con otro shell Orbital que usa Qt y Wayland) y el kit de herramientas OrbTk , que proporciona API similares a Flutter, React y Redux. Netsurf se utiliza como navegador web . El proyecto también desarrolla su propio administrador de paquetes , un conjunto de herramientas estándar (binutils, coreutils, netutils, extrautils ), shell ion , la biblioteca C estándar relibc , editor de texto tipo vim de sodio , pila de red y sistema de archivos TFSdesarrollado en base a las ideas de ZFS (versión modular de ZFS en el lenguaje Rust). La configuración se establece en el idioma Toml .
Principales novedades de Redox 0.6
De las novedades que se destacan de la nueva version, es en el administrador de memoria del núcleo (rmm) el cual se ha reescrito por completo. La nueva implementación logró deshacerse de las pérdidas de memoria que causaban problemas al usar el antiguo administrador de memoria. Además, se ha mejorado la estabilidad del soporte para sistemas multinúcleo.
También se destaca que esta nueva versión de Redox 0.6 incluye muchos proyectos desarrollados por estudiantes bajo la iniciativa RSoC (Redox OS Summer of Code), incluidos los desarrollos relacionados con el soporte para io_uring, ptrace, strace, gdb, particiones de disco y registro.
La biblioteca C estándar Relibc desarrollada por el proyecto se ha mejorado significativamente, que puede funcionar no solo en Redox, sino también en distribuciones basadas en el kernel de Linux.
Por otro lado, también se menciona que se agregó su propio administrador de paquetes pkgar y el formato de paquete asociado, desarrollado teniendo en cuenta las características específicas de Redox OS. El administrador de paquetes proporciona verificación de la fuente mediante firma digital, control de integridad, capacidad de reconstrucción, actualizaciones automáticas, transferencia de solo datos modificados, independencia del directorio de instalación. A diferencia de otros formatos, pkgar solo incluye los metadatos necesarios para extraer el paquete.
De los demás cambios que se destacan:
- Secuencias de comandos para un libro de cocina, incluidas las instrucciones sobre cómo ensamblar los diversos componentes del sistema operativo Redox, transferidas al nuevo sistema de compilación, escrito en el lenguaje de Rust.
- En el nuevo sistema de compilación, en lugar de scripts de Shell para describir la lógica de compilación, se proponen archivos en formato Toml.
- Se pasó mucho tiempo en la preparación de la nueva versión luchando contra los cambios de compatibilidad de ruptura en las compilaciones nocturnas de Rust asociadas con la reelaboración de la macro Asm.
Obtener Redox 0.6
Para los interesados en conocer el sistema, deben saber que se ofrecen imágenes de arranque listas para usar (61 MB) para probar el sistema operativo Redox. A diferencia de las versiones anteriores, la rama 0.6 se considera adecuada para la experimentación en hardware real, no solo en QEMU y VirtualBox.