Lanzamento do sistema operativo Redox OS 0.8 escrito en Rust

Publicouse o lanzamento do sistema operativo Redox 0.8, desenvolvido mediante a linguaxe Rust e o concepto microkernel. Os desenvolvementos do proxecto distribúense baixo a licenza gratuíta do MIT. Para probar o sistema operativo Redox ofrécense conxuntos de demostración de 768 MB de tamaño, así como imaxes cun contorno gráfico básico (256 MB) e ferramentas de consola para sistemas de servidor (256 MB). Os conxuntos xéranse para a arquitectura x86_64 e están dispoñibles para sistemas con UEFI e BIOS. Ademais do entorno gráfico Orbital, a imaxe de demostración inclúe o emulador DOSBox, unha selección de xogos (DOOM, Neverball, Neverputt, sopwith, syobonaction), titoriais, o reprodutor de música rodioplay e o editor de texto Sodium.

O sistema operativo desenvólvese de acordo coa filosofía Unix e toma prestadas algunhas ideas de SeL4, Minix e Plan 9. Redox utiliza o concepto de micronúcleo, no que só se proporciona a interacción entre procesos e xestión de recursos a nivel do núcleo, e todos os demais. a funcionalidade colócase en bibliotecas que se poden usar tanto no núcleo como nas aplicacións de usuario. Todos os controladores execútanse no espazo do usuario en ambientes illados de area de proba. Para compatibilidade coas aplicacións existentes, ofrécese unha capa POSIX especial, que lle permite executar moitos programas sen portalos.

O sistema utiliza o principio "todo é un URL". Por exemplo, o URL "log://" pódese usar para rexistrar, "bus://" para a interacción entre procesos, "tcp://" para a interacción de rede, etc. Os módulos, que se poden implementar en forma de controladores, extensións de núcleo e aplicacións de usuario, poden rexistrar os seus propios controladores de URL, por exemplo, pode escribir un módulo de acceso ao porto de E/S e vinculalo ao URL "port_io://". ", despois de que podes usalo para acceder ao porto 60 abrindo o URL "port_io://60".

O ambiente de usuario en Redox está construído sobre a base do propio shell gráfico de Orbital (non debe confundirse con outro shell de Orbital que usa Qt e Wayland) e o conxunto de ferramentas OrbTk, que proporciona unha API similar a Flutter, React e Redux. Netsurf úsase como navegador web. O proxecto tamén está a desenvolver o seu propio xestor de paquetes, un conxunto de utilidades estándar (binutils, coreutils, netutils, extrautils), o shell de comandos ion, a biblioteca C estándar relibc, o editor de texto tipo vim sodium, unha pila de rede e un ficheiro. sistema. A configuración está configurada no idioma Toml.

A nova versión continúa traballando para garantir que funcione en hardware real. Ademais da arquitectura x86_64, engadiuse a posibilidade de traballar en sistemas x32 de 86 bits (i686, Pentium II e máis recentes). A portabilidade á CPU ARM64 (aarch64) está en curso. Aínda non se admite a execución en hardware ARM real, pero é posible cargar coa emulación ARM64 en QEMU. Por defecto, o subsistema de audio está activado e ofrécese soporte inicial para configuracións de varios monitores (en sistemas cun búfer de tramas UEFI). Os equipos compatibles con Redox OS inclúen chips de son AC'97 e Intel HD Audio, saída gráfica a través da BIOS VESA ou UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), dispositivos de entrada (teclados, ratos, touchpads) , SATA (AHCI, IDE) e NVMe. A compatibilidade con Wi-Fi e USB aínda non está lista (o USB só funciona en QEMU).

Outras novidades:

  • As imaxes de arranque dos sistemas con BIOS e EFI fusionáronse.
  • A implementación das chamadas ao sistema clon e exec moveuse ao espazo de usuario.
  • Simplificouse o proceso de descarga. Implementouse un programa de arranque, que é lanzado polo núcleo e proporciona máis carga de ficheiros ELF, como o proceso de inicio.
  • Engadiuse un programa escalado para admitir programas setuid como sudo.
  • Para simplificar a creación e instalación de procesos en segundo plano, propúxose o paquete redox-daemon crate.
  • O sistema de montaxe foi redeseñado, facendo posible construír para diferentes arquitecturas nunha árbore de orixe. Para simplificar a montaxe de diferentes configuracións, proponse o script build.sh. Engadiuse compatibilidade para construír usando o kit de ferramentas podman. O conxunto do núcleo, o cargador de arranque e initfs está unificado con outros paquetes.
  • Engadiuse unha configuración de demostración para construír programas de exemplo que non están incluídos na imaxe de arranque básica cun ambiente gráfico.
  • Engadiuse compatibilidade para o control de volume do software ao subsistema de son de audio.
  • Engadido controlador para chips de son baseados en AC'97. Controlador mellorado para chips Intel HD Audio.
  • Engadido controlador para controladores IDE.
  • Compatibilidade mellorada para unidades NVMe.
  • Mellorado PCI, PS/2, RTL8168, USB HID, controladores VESA.
  • O proceso de instalación foi redeseñado: o cargador de arranque, o bootstrap, o núcleo e initfs están agora situados no directorio /boot.
  • O núcleo simplificou a xestión da memoria e engadiu a posibilidade de manipular espazos de enderezos desde o nivel de usuario.
  • No shell gráfico de Orbital, engadiuse soporte para sistemas de varios monitores, mellorouse o procesamento do cursor do rato e engadiuse un indicador para cambiar o volume. O menú ten a capacidade de dividir as aplicacións en categorías.

Fonte: opennet.ru

Engadir un comentario