Foi lançado o ToaruOS 2.0, um sistema operacional do tipo Unix, desenvolvido desde o zero e fornecido com seu próprio núcleo, gerenciador de inicialização, biblioteca padrão em C, gerenciador de pacotes, componentes de espaço do usuário e interface gráfica com gerenciador de janelas compositor. O código do projeto é escrito em C e é distribuído sob a licença BSD. Um live image de 14,4 MB foi preparado para download, o qual pode ser testado no QEMU, VMware ou VirtualBox.

O projeto começou em 2010 na Universidade de Illinois e inicialmente evoluiu como um trabalho de pesquisa na criação de novas interfaces gráficas compostas. Desde 2012, o desenvolvimento foi transformado no sistema operacional ToaruOS, que é mantido por uma comunidade interessada na sua evolução. Na forma atual, o sistema conta com um gerenciador de janelas compositor, suporta executáveis vinculados dinamicamente no formato ELF, multitarefa, uma pilha gráfica e pode executar Python 3 e GCC.
O ToaruOS é baseado em um kernel que utiliza uma arquitetura modular híbrida, combinando uma base monolítica e recursos para utilização de módulos carregáveis, nos quais a maioria dos drivers de dispositivos existentes, como drivers de disco (PATA e ATAPI), sistemas de arquivos EXT2 e ISO9660, framebuffer, teclado, mouse, placas de rede (AMD PCnet FAST, Realtek RTL8139 e Intel PRO/1000), chips de som (Intel AC’97), além de complementos do VirtualBox para sistemas convidados, são implementados. O kernel suporta threads Unix, TTY, sistema de arquivos virtual, pseudo-sistema de arquivos /proc, multithreading, IPC, ramdisk, ptrace, memória compartilhada, multitarefa e outras funcionalidades típicas.
O sistema de arquivos utilizado é o ext2. O gerenciador de inicialização oferece suporte a BIOS e EFI. A pilha de rede permite o uso de APIs de sockets ao estilo dos sistemas BSD e suporta interfaces de rede, incluindo loopback. O ToaruOS teve o port das seguintes aplicações: Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulador Super Nintendo, Bochs, entre outros. Dentre as aplicações próprias, destaca-se o editor de código Bim, semelhante ao Vi, que tem sido utilizado nos últimos anos para o desenvolvimento de aplicações específicas para o ToaruOS, como o gerenciador de arquivos, emulador de terminal, painel gráfico com suporte a widgets, gerenciador de pacotes, bem como bibliotecas para suporte a imagens (PNG, JPEG) e fontes TrueType.
O projeto também está desenvolvendo sua própria linguagem de programação dinâmica chamada Kuroko, destinada a substituir o Python no desenvolvimento de utilitários e aplicativos para o sistema. A linguagem tem uma sintaxe semelhante ao Python (posicionada como um dialeto reduzido do Python com definição explícita de variáveis) e se distingue por sua implementação muito compacta. Suporta a compilação e interpretação de bytecode. O interpretador de bytecode fornece um coletor de lixo e suporta multithreading sem a necessidade de bloqueio global. O compilador e o interpretador podem ser empacotados como uma pequena biblioteca compartilhada (~500KB), integrável com outros programas e extensível via C API. Além do ToaruOS, a linguagem pode ser utilizada no Linux, macOS, Windows e executada em navegadores com suporte a WebAssembly.
Na nova versão do ToaruOS:
- A funcionalidade no núcleo Misaka foi expandida, permitindo a implementação de utilitários de usuário como top, strace, dbg, ping e cpuwidget.
- As capacidades da biblioteca gráfica foram ampliadas, incluindo transformações afins.
- Melhorias foram feitas no funcionamento do framework de janelas.
- Foi adicionado um rasterizador de texto com suporte para o formato TrueType.
- Foi adicionada uma biblioteca para a formatação de texto com markup.
- O gerenciador de inicialização BIOS foi aprimorado, com ampliação do suporte para configurações de hardware. O gerenciador EFI foi reescrito. Ambos os gerenciadores passaram a ter suporte para a edição na linha de comando do núcleo.
- A interface do painel foi modernizada. Os widgets agora suportam bibliotecas carregadas, layout dinâmico de elementos e novas janelas pop-up.
- O visualizador foi reescrito e agora inclui novas paletas.
- Uma nova implementação do calculadora foi adicionada.
- O suporte a fusos horários foi adicionado à biblioteca padrão.
- Um driver para o chipset Ensoniq ES1371, emulado no VMware, foi adicionado.
- No próximo lançamento significativo 2.1, será esperado suporte a dispositivos AHCI, xHCI e USB HID. A versão 2.2 planeja implementar suporte para a arquitetura AArch64.



Fonte: opennet.ru
