Lanzamento do sistema operativo ToaruOS 1.14 e da linguaxe de programación Kuroko 1.1

O lanzamento do proxecto ToaruOS 1.14 está dispoñible, desenvolvendo un sistema operativo tipo Unix escrito desde cero co seu propio núcleo, cargador de arranque, biblioteca C estándar, xestor de paquetes, compoñentes de espazo de usuario e unha interface gráfica cun xestor de ventás composto. Na fase actual de desenvolvemento, as capacidades do sistema son suficientes para executar Python 3 e GCC. O código do proxecto está escrito en C e distribúese baixo a licenza BSD. Preparouse para a descarga unha imaxe en directo de 14 MB, que se pode probar en QEMU, VMware ou VirtualBox.

Lanzamento do sistema operativo ToaruOS 1.14 e da linguaxe de programación Kuroko 1.1

O proxecto comezou en 2010 na Universidade de Illinois e desenvolveuse inicialmente como traballo de investigación no campo da creación de novas interfaces gráficas compostas. Desde 2012, o desenvolvemento transformouse no sistema operativo ToaruOS, que foi desenvolvido nun primeiro momento como un proxecto estudantil, para logo converterse nun pasatempo de fin de semana, recollido pola comunidade que se formou arredor do proxecto. Na súa forma actual, o sistema está equipado cun xestor de fiestras composto, admite ficheiros executables ligados dinámicamente en formato ELF, multitarefa, gráficos e pilas de rede.

O paquete inclúe un porto da linguaxe de programación Python 3.6, que se usa no desenvolvemento dalgunhas aplicacións gráficas específicas de ToaruOS, como un xestor de paquetes, un editor gráfico, un visor de PDF, unha calculadora e xogos sinxelos. Os programas de terceiros portados a ToaruOS inclúen Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulador de Super Nintendo, Bochs, etc.

ToaruOS está baseado nun núcleo que utiliza unha arquitectura modular híbrida que combina un marco monolítico e ferramentas para usar módulos cargables, que forman a maioría dos controladores de dispositivos dispoñibles, como controladores de disco (PATA e ATAPI), sistemas de ficheiros EXT2 e ISO9660, framebuffer. , teclados, ratos , tarxetas de rede (AMD PCnet FAST, Realtek RTL8139 e Intel PRO/1000), chips de son (Intel AC'97), así como complementos de VirtualBox para sistemas convidados.

Os primitivos proporcionados polo núcleo inclúen fíos de Unix, TTY, sistema de ficheiros virtual, multithreading, IPC, memoria compartida, multitarefa e outras funcións estándar. ext2 úsase como sistema de ficheiros. Para interactuar co núcleo, ofrécese unha implementación pseudo-FS /proc, creada por analoxía con Linux.

Os plans para 2021 inclúen traballos na arquitectura x64-86 de 64 bits (polo momento, só se xeran conxuntos para sistemas x32 de 86 bits) e soporte para sistemas multiprocesador (SMP). Outros obxectivos inclúen mellorar a compatibilidade coas especificacións POSIX no campo dos métodos de procesamento de sinal e sincronización, levar a biblioteca C estándar ao nivel Newlib e implementar o seu propio compilador e ferramentas de desenvolvemento de linguaxe C.

O proxecto tamén está a desenvolver a súa propia linguaxe de programación dinámica, Kuroko, deseñada para substituír a Python ao desenvolver utilidades e aplicacións personalizadas para o sistema. A linguaxe admite a compilación e interpretación de bytecode, a súa sintaxe aseméllase a Python (está posicionado como un dialecto abreviado de Python con definición explícita de variables) e ten unha implementación moi compacta. O intérprete de bytecode ofrece un colector de lixo e admite a multiproceso sen usar o bloqueo global. O compilador e o intérprete pódense compilar en forma dunha pequena biblioteca compartida (~500KB), integrada con outros programas e extensible a través da API C. Ademais de ToaruOS, o idioma pódese usar en Linux, macOS, Windows e executarse en navegadores compatibles con WebAssembly.

A nova versión de ToaruOS centrouse no desenvolvemento da biblioteca C estándar e da linguaxe de programación Kuroko. Por exemplo, engadíronse á libc funcións matemáticas necesarias para o cálculo correcto dos parámetros de iluminación no xogo Quake. Mellorouse a capacidade de iniciar VirtualBox en modo EFI. O tamaño da imaxe iso reduciuse mediante a compresión da imaxe do disco ram.

A nova versión da linguaxe Kuroko 1.1 engade soporte para async e await, implementa multithreading, mellora a compatibilidade con Python 3, admite múltiples asignacións de valores, amplía as ferramentas para escribir controladores en linguaxe C, engade soporte para anotacións de tipos para funcións, engade o as palabras clave "yield" e "yield from", integráronse os módulos os, dis, fileio e time, implementáronse novos métodos en str, list, dict e bytes, engadiuse soporte para a compilación previa en bytecode, a licenza cambiou a MIT (anteriormente había unha combinación de MIT e ISC).

Fonte: opennet.ru

Engadir un comentario