Lançamento do sistema operacional ToaruOS 2.3.

Foi lançado o ToaruOS 2.3, um sistema operacional semelhante ao Unix, desenvolvido do zero e fornecido com seu próprio kernel, carregador de inicialização, biblioteca padrão C, gerenciador de pacotes, componentes de espaço do usuário e interface gráfica com gerenciador de janelas composto. Originalmente, o projeto foi desenvolvido na Universidade de Illinois como um trabalho de pesquisa na criação de novas interfaces gráficas compostas, mas depois se transformou em um sistema operacional independente. O código do projeto é escrito em C e é distribuído sob a licença BSD. Um live image de 7,4 MB está preparado para download, que pode ser testado no QEMU, VMware ou VirtualBox. Lançamento do sistema operacional ToaruOS 2.3.

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 é equipado com um gerenciador de janelas composto, suporta executáveis vinculáveis dinamicamente no formato ELF, multitarefa, pilha gráfica, e pode executar Python 3 e GCC. O sistema de arquivos usado é o ext2. O carregador de inicialização suporta BIOS e EFI. A pilha de rede permite o uso da API de soquetes no estilo dos sistemas BSD e suporta interfaces de rede, incluindo o loopback.

Dentre as aplicações próprias, destaca-se o editor de código Bim, que se assemelha ao Vi e tem sido utilizado nos últimos anos para desenvolver aplicações específicas para o ToaruOS, como gerenciador de arquivos, emulador de terminal, painel gráfico com suporte a widgets, gerenciador de pacotes, além de bibliotecas para suporte a imagens (PNG, JPEG) e fontes TrueType. O ToaruOS já teve portados programas como Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulador Super Nintendo, Bochs, entre outros.

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.

No novo lançamento:

  • O emulador de terminal agora suporta guias, que podem ser alternadas usando a sequência Alt-número. A emulação de texto negrito foi implementada através da sobreposição dupla de glifos. Foram adicionados os submenus "Estado do terminal" para ativar a exibição do estado de vários modos e "Enviar sinal" para enviar sinais a processos em segundo plano. Lançamento do sistema operacional ToaruOS 2.3.
  • Foi implementado um visualizador de manuais do sistema, que suporta páginas man no formato roff. Lançamento do sistema operacional ToaruOS 2.3.
  • Adicionado um submenu no menu de contexto para gerenciar o layout de mosaico das janelas. Lançamento do sistema operacional ToaruOS 2.3.
  • Novas chamadas de sistema foram implementadas no kernel, incluindo pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage e fcntl. Suporte para os flags FD_CLOEXEC e FD_CLOFORK foi adicionado. Foi implementado suporte para a randomização do endereço de carregamento do kernel. A ABI das chamadas de sistema foi traduzida para usar as instruções syscall/sysret.
  • As capacidades do console virtual (TTY) foram significativamente expandidas, proporcionando emulação do modo texto VGA com base no framebuffer.
  • Na versão para a arquitetura Aarch64, foi implementada a possibilidade de inicialização no máquinas virtuais usando QEMU.
  • O stack de rede ganhou suporte para operação simultânea com múltiplos sockets ICMP.
  • A biblioteca padrão libc agora inclui as funções getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Novas utilitários padrão foram adicionados: rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Novas opções foram adicionadas a ls, grep e fgrep. As utilitários ps, top, pstree, killall e pidof foram reescritas, sendo convertidas para a nova biblioteca libtoaru_procfs, que unifica o funcionamento com o pseudo-FS /proc. O interpretador de comandos esh foi ampliado.
  • Foi adicionada a ferramenta check-image para verificar a capacidade da biblioteca gráfica de carregar uma imagem e exibir o tamanho da imagem.
  • A linguagem de programação Kuroko foi atualizada para a versão 1.5rc2.
  • Até a versão 3.2, o editor de texto Bim foi atualizado, desenvolvido com base no Vim. Na nova versão, a realce de sintaxe foi aprimorada, o suporte a scripts na linguagem Kuroko foi expandido e um novo sistema de autocompletar foi adicionado.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster