Lanzamento do sistema operativo Redox OS 0.7 escrito en Rust

Despois de ano e medio de desenvolvemento, publicouse o lanzamento do sistema operativo Redox 0.7, desenvolvido mediante a linguaxe Rust e o concepto de micronúcleo. Os desenvolvementos do proxecto distribúense baixo a licenza gratuíta do MIT. Para probar o sistema operativo Redox, ofrécense instalacións e imaxes en directo de 75 MB de tamaño. Os conxuntos xéranse para a arquitectura x86_64 e están dispoñibles para sistemas con UEFI e BIOS.

Ao preparar a nova versión, o foco principal foi garantir que funcionase en hardware real. Principais novidades:

  • O cargador de arranque foi completamente reescrito, no que o código para o arranque en sistemas con BIOS e UEFI está unificado e escrito principalmente en Rust. Cambiar o cargador de arranque ampliou significativamente a gama de hardware compatible.
  • Ademais das correccións de erros, traballouse no núcleo para mellorar o rendemento e ampliar o soporte de hardware. As variables específicas da CPU convertéronse para utilizar o rexistro GS. Ofrécese a reflexión (mapeamento) de toda a memoria física, detívose o uso de páxinas de memoria recursiva. O código de montaxe nas insercións en liña foi reescrito para mellorar a compatibilidade con futuras versións do compilador.
  • Engadido soporte inicial para a arquitectura AArch64.
  • Fíxose unha transición para procesar todas as rutas de ficheiros en codificación UTF-8.
  • O código para traballar coa especificación ACPI AML (ACPI Machine Language) - uefi.org moveuse do núcleo ao proceso de fondo acpid que se executa no espazo do usuario.
  • O contido de Initfs moveuse a un ficheiro novo, o que facilita a xeración de paquetes.
  • O sistema de ficheiros RedoxFS foi reescrito e pasou a utilizar o mecanismo CoW (Copy-on-Write), no que os cambios non sobrescriben a información, senón que gárdanse nunha nova localización, o que mellorou significativamente a fiabilidade. As novas funcións de RedoxFS inclúen soporte para actualizacións transaccionais, cifrado de datos mediante o algoritmo AES, así como a autenticación de datos e metadatos con sinaturas dixitais. O uso compartido do código FS no sistema e no cargador de arranque está garantido.
  • Continuou a mellora da biblioteca C estándar Relibc desenvolvida polo proxecto, capaz de funcionar non só en Redox, senón tamén en distribucións baseadas no núcleo de Linux. Os cambios facilitaron a portabilidade de varios programas a Redox e resolveron problemas con moitos programas e bibliotecas escritos en C.
  • Preparouse unha versión do compilador rustc que pode executarse en Redox. As tarefas restantes inclúen a optimización do rendemento e a adaptación do xestor de paquetes de carga para traballar no contorno Redox.

Lanzamento do sistema operativo Redox OS 0.7 escrito en Rust

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.

Fonte: opennet.ru

Engadir un comentario