Após um ano e meio de desenvolvimento, foi publicada a quarta versão beta do sistema operacional Haiku R1. O projeto foi inicialmente criado como uma resposta ao fechamento do sistema BeOS e evoluiu sob o nome OpenBeOS, mas foi renomeado em 2004 devido a reivindicações relacionadas ao uso da marca BeOS. Vários formatos de imagem Live (x86, x86-64) foram preparados para avaliar o funcionamento da nova versão. O código fonte da maior parte do sistema Haiku é distribuído sob a licença MIT, exceto por algumas bibliotecas, codecs de mídia e componentes emprestados de outros projetos.
O sistema operacional Haiku é orientado para computadores pessoais, utiliza um núcleo próprio baseado em uma arquitetura modular, otimizada para alta capacidade de resposta às ações do usuário e para a execução eficiente de aplicativos multiprocessados. Para os desenvolvedores, foi apresentada uma API orientada a objetos. O sistema é diretamente baseado nas tecnologias BeOS 5 e visa compatibilidade binária com aplicativos desse sistema operacional. Requisitos mínimos de hardware: CPU Pentium II e 384 MB de RAM (recomendado Intel Core i3 e 2 GB de RAM).
O sistema de arquivos utilizado é o OpenBFS, que suporta atributos estendidos de arquivos, registro, ponteiros de 64 bits, suporte ao armazenamento de meta-tags (para cada arquivo, é possível armazenar atributos na forma chave=valor, o que torna o sistema de arquivos semelhante a um banco de dados) e índices especiais para acelerar a seleção. Para organizar a estrutura de diretórios, são utilizados árvores "B+ tree". O gerenciador de arquivos Tracker e a barra Deskbar, derivados do código do BeOS, foram incluídos no Haiku, e seus códigos fontes foram liberados após a saída do BeOS do mercado.
Principais novidades:
- A performance em telas com alta densidade de pixels (HiDPI) foi aprimorada. Agora, é implementada uma correta escalabilidade da interface, que não se limita apenas a alterar o tamanho das fontes. Na primeira inicialização, o Haiku tenta automaticamente detectar a presença de uma tela HiDPI e escolher os tamanhos necessários para a escalabilidade. As configurações escolhidas podem ser alteradas nas preferências, mas sua aplicação ainda requer reinício. As opções de escalabilidade são suportadas na maioria dos aplicativos nativos e em alguns portados, mas não em todos.
- Foi disponibilizada a opção de usar uma aparência com decorador de janelas plano e um design de botões plano, em vez do design que utiliza gradientes ativamente. O design plano vem no pacote Haiku Extras e é ativado na seção de preferências de aparência.

- Adicionada uma camada de compatibilidade com a biblioteca Xlib, permitindo que aplicativos X11 sejam executados no Haiku sem a necessidade de iniciar um servidor X. A camada é implementada por meio da emulação de funções Xlib, transcrevendo chamadas para a API gráfica de alto nível do Haiku.
- Uma camada foi preparada para garantir a compatibilidade com o Wayland, permitindo a execução de kits de ferramentas e aplicativos que utilizam este protocolo, incluindo aplicativos baseados na biblioteca GTK. A camada fornece a biblioteca libwayland-client.so, baseada no código libwayland e compatível em nível de API e ABI, permitindo a execução de aplicativos Wayland sem alterações. Ao contrário dos compositores típicos do servidores Wayland, a camada não é iniciada como um processo de servidor separado, mas carregada como um plugin nos processos clientes. Em vez de soquetes, em servidor um ciclo nativo de processamento de mensagens baseado em BLooper é utilizado.
- Graças a camadas de compatibilidade com X11 e Wayland, um porto funcional da biblioteca GTK3 foi preparado. Aplicativos que podem ser executados através do porto incluem GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord e HandBrake.

- Adicionado um porto funcional com Wine, que pode ser usado para executar aplicativos do Windows em Haiku. Entre as limitações, destaca-se a possibilidade de execução apenas em compilações de 64 bits do Haiku e a capacidade de rodar apenas aplicativos do Windows de 64 bits.

- Adicionado o porto do editor de texto GNU Emacs, que funciona em modo gráfico. Os pacotes estão disponíveis no repositório HaikuDepot.

- O gerenciador de arquivos Tracker agora suporta a geração e exibição de miniaturas de imagens. As miniaturas são salvas em atributos estendidos dos arquivos.

- Implementada uma camada de compatibilidade com drivers do FreeBSD. Foram portados do FreeBSD drivers para suportar adaptadores USB sem fio com chips Realtek (RTL) e Ralink (RA). Entre as limitações, destaca-se a necessidade de conectar o dispositivo antes da inicialização (após a inicialização, o dispositivo não é reconhecido).
- Portado da OpenBSD, o stack sem fio 802.11 com suporte a 802.11ac e os drivers iwm e iwx que suportam adaptadores sem fio Intel "Dual Band" e "AX".
- Adicionado o driver USB-RNDIS, que permite configurar um ponto de acesso via USB (USB tethering) para uso como um adaptador de rede virtual.
- Adicionado um novo driver NTFS, baseado na biblioteca do projeto NTFS-3G. A nova implementação é mais estável, suporta integração com a camada de cache de arquivos e oferece bom desempenho.
- Adicionado um tradutor para ler e gravar imagens no formato AVIF.
- O motor de navegador HaikuWebKit foi sincronizado com a versão mais recente do WebKit e transferido para um backend de rede baseado na biblioteca cURL.
- O carregador agora suporta sistemas de 32 bits com EFI e oferece a possibilidade de instalar um ambiente Haiku de 64 bits a partir de um carregador EFI de 32 bits.
- Melhorada a compatibilidade com os padrões POSIX. A continuação da substituição de chamadas da biblioteca padrão C, anteriormente portadas do glibc, por opções do musl. Suporte adicionado para threads C11 e métodos locale_t.
- Melhorado o driver para dispositivos NVMe, adicionando suporte à operação TRIM para informar ao dispositivo sobre blocos liberados.
- Agora é possível compilar o núcleo e drivers com novas versões do GCC (incluindo GCC 11), mas ainda é necessário o GCC 2.95 para compilar o sistema devido a ligações com código antigo para compatibilidade com BeOS.
- Foi realizada uma revisão geral para aumentar a estabilidade de todo o sistema.
Fonte: opennet.ru





