Sistema operativo Redox 0.6 escrito en Rust: 驴que hay de nuevo en esta versi贸n?



Despu茅s de un a帽o y medio de desarrollo, los autores del sistema operativo Redox 0.6, escrito en el lenguaje Rust, publicaron una nueva versi贸n. La novedad se puede probar; para ello, se han publicado im谩genes de arranque en la red. Su volumen es de 61 MB. La 煤ltima versi贸n se puede probar en hardware normal, no en QEMU y VirtualBox.



El sistema operativo se distribuye bajo la licencia gratuita MIT. 驴Qu茅 hay de nuevo en la versi贸n 0.6?



  • El sistema de gesti贸n de memoria del kernel se ha reescrito desde cero . Estamos hablando de rmm, administrador de memoria del kernel. Los desarrolladores lograron deshacerse de las p茅rdidas de memoria que causaban problemas al usar el antiguo administrador de memoria. Tambi茅n se ha mejorado la estabilidad del soporte para sistemas multin煤cleo.
  • , RSoC (Redox OS Summer of Code), , io_uring, ptrace, strace, gdb, .
  • - Relibc, Redox, Linux.
  • pkgar . . , , , . , pkgar , .
  • cookbook , Rust. Shell- Tomt.
  • , Asm.


En cuanto a las caracter铆sticas de este sistema operativo, se desarrolla completamente de acuerdo con la filosof铆a Unix. Los autores tomaron prestadas algunas ideas de SeL4, Minix y Plan 9. Uno de los principales "trucos" es el uso del concepto de microkernel, en el que solo se proporciona la interacci贸n entre los procesos y la gesti贸n de recursos. El resto de la funcionalidad se ha trasladado a bibliotecas que pueden ser utilizadas 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 aplicaciones existentes, se proporciona una capa POSIX, que hace posible ejecutar muchos programas sin portar.



Adem谩s, los desarrolladores utilizaron el principio de "todo es una URL" para su sistema operativo. Entonces, para el registro se puede usar la URL "log: //", para la interacci贸n entre los procesos "bus: //", para la comunicaci贸n de red "tcp: //", etc. Para los m贸dulos que se pueden implementar en forma de controladores, las extensiones del kernel y las aplicaciones personalizadas pueden registrar sus controladores de URL. Ejemplo: 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".



El entorno personalizado se basa en el propio shell gr谩fico de OrbTk, que proporciona API similares a Flutter, React y Redux. Navegador - Netsurf. Durante el desarrollo del proyecto, los desarrolladores proporcionaron 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, un editor de texto de sodio similar a vim, una pila de red y el sistema de archivos TFS desarrollado sobre la base de ideas para ZFS (versi贸n modular de ZFS en Rust). La configuraci贸n se establece en el idioma Toml.






All Articles