Lanzamiento del sistema operativo ToaruOS 2.3

Se ha publicado la versión 2.3 del sistema operativo similar a Unix ToaruOS, desarrollado desde cero y que incluye su propio núcleo, gestor de arranque, biblioteca estándar en C, gestor de paquetes, componentes del espacio de usuario y una interfaz gráfica con un gestor de ventanas compuesto. Originalmente, el proyecto se desarrolló en la Universidad de Illinois como un trabajo de investigación en la creación de nuevas interfaces gráficas compuestas, pero luego se transformó en un sistema operativo independiente. El código del proyecto está escrito en C y se distribuye bajo la licencia BSD. Está disponible una imagen live de 7.4 MB, que se puede probar en QEMU, VMware o VirtualBox. Lanzamiento del sistema operativo ToaruOS 2.3

En la base de ToaruOS se encuentra un núcleo que utiliza una arquitectura modular híbrida, combinando una base monolítica y medios para utilizar módulos cargables, formato en el que se encuentran la mayoría de los controladores de dispositivos disponibles, como controladores de disco (PATA y ATAPI), sistema de archivos EXT2 y ISO9660, framebuffer, teclado, ratón, tarjetas de red (AMD PCnet FAST, Realtek RTL8139 e Intel PRO/1000), chips de sonido (Intel AC'97), así como extensiones de VirtualBox para sistemas invitados. El núcleo soporta hilos de Unix, TTY, sistema de archivos virtual, pseudo-sistema de archivos /proc, multihilo, IPC, ramdisk, ptrace, memoria compartida, multitarea y otras funcionalidades típicas.

El sistema está equipado con un gestor de ventanas compuesto, soporta archivos ejecutables dinámicamente vinculados en formato ELF, multitarea, pila gráfica, puede ejecutar Python 3 y GCC. Se utiliza el sistema de archivos ext2. El gestor de arranque es compatible con BIOS y EFI. La pila de red permite el uso de API de sockets al estilo de sistemas BSD y soporta interfaces de red, incluyendo loopback.

Entre sus propias aplicaciones destaca el editor de código Bim, similar a Vi, que se ha utilizado durante los últimos años para desarrollar aplicaciones específicas para ToaruOS, como un gestor de archivos, emulador de terminal, panel gráfico con soporte para widgets, gestor de paquetes y bibliotecas para el soporte de imágenes (PNG, JPEG) y fuentes TrueType. Para ToaruOS se ha portado software como Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulador de Super Nintendo, Bochs, etc.

El proyecto también está desarrollando un propio lenguaje de programación dinámico llamado Kuroko, diseñado para reemplazar Python en el desarrollo de utilidades y aplicaciones de usuario para el sistema. El lenguaje tiene una sintaxis similar a Python (se presenta como un dialecto simplificado de Python con definición explícita de variables) y cuenta con una implementación muy compacta. Se soporta la compilación e interpretación de bytecode. El intérprete de bytecode proporciona un recolector de basura y soporta la multiprocesamiento sin usar bloqueo global. El compilador y el intérprete pueden ser construidos como una pequeña biblioteca compartida (~500 KB), integrable con otros programas y ampliable a través de la API de C. Además de ToaruOS, el lenguaje puede ser utilizado en Linux, macOS, Windows y ejecutarse en navegadores compatibles con WebAssembly.

En esta nueva versión:

  • Se agregó soporte para pestañas en el emulador de terminal, que se pueden alternar mediante la secuencia Alt-número. Se ha implementado la emulación de fuentes en negrita a través de la superposición doble de glifos. Se añadieron submenús "Estado del terminal" para activar la visualización del estado de varios modos y "Enviar señal" para enviar señales a procesos en segundo plano. Lanzamiento del sistema operativo ToaruOS 2.3
  • Se ha implementado un visor de manuales del sistema que soporta páginas man en formato roff. Lanzamiento del sistema operativo ToaruOS 2.3
  • Se añadió un submenú al menú contextual para gestionar la disposición mosaico de las ventanas. Lanzamiento del sistema operativo ToaruOS 2.3
  • El núcleo implementó nuevas llamadas al sistema, entre las cuales se encuentran pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage y fcntl. Se añadió soporte para los flags FD_CLOEXEC y FD_CLOFORK. Se implementó el soporte para la aleatorización de la dirección de carga del núcleo. La ABI de las llamadas al sistema se ha adaptado para utilizar las instrucciones syscall/sysret.
  • Se han ampliado significativamente las capacidades de la consola virtual (TTY), garantizando la emulación del modo de texto VGA basado en el framebuffer.
  • En la versión para la arquitectura Aarch64 se implementó la posibilidad de ejecutar en máquinas virtuales basado en QEMU.
  • Se añadió al stack de red el soporte para trabajar simultáneamente con múltiples sockets ICMP.
  • Se añadieron a la biblioteca estándar libc las funciones getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Se han agregado nuevas utilidades estándar rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Se han añadido nuevas opciones en ls, grep y fgrep. Se han reescrito las utilidades ps, top, pstree, killall y pidof, que han sido trasladadas a la nueva biblioteca libtoaru_procfs, unificando el trabajo con el pseudo-sistema de archivos /proc. Se ha ampliado el intérprete de comandos esh.
  • Se ha añadido la utilidad check-image para verificar la capacidad de carga de una imagen por la biblioteca gráfica y mostrar el tamaño de la imagen.
  • El lenguaje de programación Kuroko se ha actualizado a la versión 1.5rc2.
  • El editor de texto Bim se ha actualizado a la versión 3.2, creado con referencia a Vim. En esta nueva versión, se ha mejorado la resaltación de sintaxis, se ha ampliado el soporte para scripts en el lenguaje Kuroko y se ha añadido un nuevo sistema de autocompletado de entrada.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster