Lanzamiento del sistema operativo Redox OS 0.8 escrito en Rust

Se ha publicado el lanzamiento del sistema operativo Redox 0.8, desarrollado utilizando el lenguaje Rust y el concepto de microkernel. Los desarrollos del proyecto se distribuyen bajo la licencia gratuita del MIT. Para probar Redox OS, se ofrecen conjuntos de demostración con un tamaño de 768 MB, así como imágenes con un entorno gráfico básico (256 MB) y herramientas de consola para sistemas de servidor (256 MB). Los ensamblados se generan para la arquitectura x86_64 y están disponibles para sistemas con UEFI y BIOS. Además del entorno gráfico Orbital, la imagen de demostración incluye el emulador DOSBox, una selección de juegos (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutoriales, el reproductor de música rodioplay y el editor de texto Sodium.

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.

La nueva versión continúa trabajando para garantizar que funcione en hardware real. Además de la arquitectura x86_64, se agregó la capacidad de trabajar en sistemas x32 de 86 bits (i686, Pentium II y posteriores). La migración a la CPU ARM64 (aarch64) está en marcha. Aún no se admite la ejecución en hardware ARM real, pero es posible cargar con emulación ARM64 en QEMU. De forma predeterminada, el subsistema de audio está activado y se proporciona soporte inicial para configuraciones de monitores múltiples (en sistemas con un framebuffer UEFI). El equipo compatible con Redox OS incluye chips de sonido AC'97 e Intel HD Audio, salida de gráficos a través de VESA BIOS API o UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), dispositivos de entrada (teclados, ratones, paneles táctiles), SATA (AHCI, IDE) y NVMe. La compatibilidad con Wi-Fi y USB aún no está lista (USB solo funciona en QEMU).

Otras innovaciones:

  • Se han fusionado las imágenes de arranque para sistemas con BIOS y EFI.
  • La implementación de las llamadas al sistema clone y exec se ha trasladado al espacio del usuario.
  • El proceso de carga se ha simplificado. Se ha implementado un programa de arranque, que el kernel inicia y proporciona carga adicional de archivos ELF, como el proceso de inicio.
  • Se agregó un programa escalado para admitir programas setuid como sudo.
  • Para simplificar la creación e instalación de procesos en segundo plano, se ha propuesto el paquete redox-daemon crate.
  • El sistema de ensamblaje ha sido rediseñado, lo que permite construir diferentes arquitecturas en un árbol de origen. Para simplificar el montaje de diferentes configuraciones, se propone el script build.sh. Se agregó soporte para construir usando el kit de herramientas podman. El ensamblaje del kernel, el gestor de arranque y los initfs está unificado con otros paquetes.
  • Se agregó una configuración de demostración para crear programas de ejemplo que no están incluidos en la imagen de inicio básica con un entorno gráfico.
  • Se ha agregado soporte para el control de volumen del software al subsistema de sonido audiod.
  • Controlador agregado para chips de sonido basados ​​en AC'97. Controlador mejorado para chips Intel HD Audio.
  • Controlador agregado para controladores IDE.
  • Soporte mejorado para unidades NVMe.
  • Controladores PCI, PS/2, RTL8168, USB HID y VESA mejorados.
  • El proceso de instalación ha sido rediseñado: el gestor de arranque, el bootstrap, el kernel y los initfs ahora se encuentran en el directorio /boot.
  • El kernel ha simplificado la gestión de la memoria y ha añadido la capacidad de manipular espacios de direcciones desde el nivel del usuario.
  • En el shell gráfico de Orbital, se agregó soporte para sistemas de monitores múltiples, se mejoró el procesamiento del cursor del mouse y se agregó un indicador para cambiar el volumen. El menú tiene la capacidad de dividir aplicaciones en categorías.

Fuente: opennet.ru

Añadir un comentario