Lanzamiento del sistema operativo Redox OS 0.7 escrito en Rust

Después de un año y medio de desarrollo, se ha publicado el lanzamiento del sistema operativo Redox 0.7, desarrollado utilizando el lenguaje Rust y el concepto de microkernel. Los desarrollos del proyecto se distribuyen bajo la licencia gratuita del MIT. Para probar el sistema operativo Redox, se ofrecen instalación e imágenes en vivo de 75 MB de tamaño. Los ensamblados se generan para la arquitectura x86_64 y están disponibles para sistemas con UEFI y BIOS.

Al preparar la nueva versión, la atención se centró principalmente en garantizar que funcionara en hardware real. Principales innovaciones:

  • Se ha reescrito por completo el gestor de arranque, en el que el código para cargar en sistemas con BIOS y UEFI está unificado y escrito principalmente en Rust. Cambiar el gestor de arranque ha ampliado significativamente la gama de hardware compatible.
  • Además de corregir errores, se ha trabajado en el kernel para mejorar el rendimiento y ampliar el soporte de hardware. Las variables específicas de la CPU se han convertido para utilizar el registro GS. Se proporciona el reflejo (mapeo) de toda la memoria física y se detiene el uso de páginas de memoria recursivas. El código ensamblador en las inserciones en línea se ha reescrito para mejorar la compatibilidad con futuras versiones del compilador.
  • Se agregó soporte inicial para la arquitectura AArch64.
  • Se ha realizado una transición para procesar todas las rutas de archivos en codificación UTF-8.
  • El código para trabajar con la especificación ACPI AML (lenguaje de máquina ACPI) - uefi.org se ha movido del kernel al proceso en segundo plano acpid que se ejecuta en el espacio del usuario.
  • El contenido de Initfs se ha movido a un archivo nuevo, lo que facilita la generación de paquetes.
  • El sistema de archivos RedoxFS se reescribió y se cambió para utilizar el mecanismo CoW (copia en escritura), en el que los cambios no sobrescriben la información, sino que se guardan en una nueva ubicación, lo que ha mejorado significativamente la confiabilidad. Las nuevas características de RedoxFS incluyen soporte para actualizaciones transaccionales, cifrado de datos mediante el algoritmo AES, así como autenticación de datos y metadatos con firmas digitales. Se garantiza el intercambio de código FS en el sistema y el gestor de arranque.
  • Continuó la mejora de la biblioteca C estándar Relibc desarrollada por el proyecto, capaz de funcionar no sólo en Redox, sino también en distribuciones basadas en el kernel de Linux. Los cambios facilitaron la migración de varios programas a Redox y resolvieron problemas con muchos programas y bibliotecas escritos en C.
  • Se ha preparado una versión del compilador Rustc que puede ejecutarse en Redox. Las tareas restantes incluyen optimizar el rendimiento y adaptar el administrador de paquetes de carga para trabajar en el entorno Redox.

Lanzamiento del sistema operativo Redox OS 0.7 escrito en Rust

El sistema operativo está desarrollado de acuerdo con la filosofía Unix y toma prestadas algunas ideas de SeL4, Minix y Plan 9. Redox utiliza el concepto de microkernel, en el que solo la interacción entre los procesos y la gestión de recursos se proporciona a nivel del kernel, y todos los demás La funcionalidad se coloca en bibliotecas que se pueden utilizar tanto en el kernel como en las aplicaciones de usuario. Todos los controladores se ejecutan en el espacio del usuario en entornos aislados. Para compatibilidad con aplicaciones existentes, se proporciona una capa POSIX especial, que le permite ejecutar muchos programas sin necesidad de realizar la portabilidad.

El sistema utiliza el principio de "todo es una URL". Por ejemplo, la URL "log://" se puede utilizar para iniciar sesión, "bus://" para la interacción entre procesos, "tcp://" para la interacción de red, etc. Los módulos, que se pueden implementar en forma de controladores, extensiones de kernel y aplicaciones de usuario, pueden registrar sus propios controladores de URL; por ejemplo, puede escribir un módulo de acceso al puerto de E/S y vincularlo a la URL "port_io:// ", después de lo cual podrá usarlo para acceder al puerto 60 abriendo la URL “port_io://60”.

El entorno de usuario en Redox se basa en el propio shell gráfico de Orbital (que no debe confundirse con otro shell de Orbital que usa Qt y Wayland) y el kit de herramientas OrbTk, que proporciona una API similar a Flutter, React y Redux. Netsurf se utiliza como navegador web. El proyecto también está desarrollando su propio administrador de paquetes, un conjunto de utilidades estándar (binutils, coreutils, netutils, extrautils), el shell de comandos ion, la biblioteca C estándar relibc, el editor de texto tipo vim sodio, una pila de red y un archivo. sistema. La configuración se establece en el idioma Toml.

Fuente: opennet.ru

Añadir un comentario