Haiku Could Change the World
Autor original: Razvan T. Coloja
Publicado originalmente no: osnews.com
Tradução: Roberto Bechtlufft
Para entender o que são os sistemas operacionais BeOS e Haiku, primeiro temos que lembrar que o BeOS foi desenvolvido pensando no usuário de multimídia. O BeOS queria ser o que o OS X é hoje: um sistema operacional atraente e fácil de usar. Acontece que ele era um sistema de nicho, feito para quem tinha fome de mídia. A porcentagem de aplicativos de áudio e vídeo disponível para o Haiku é maior do que no Linux, no OS X ou no Windows, e o funcionamento interno do sistema operacional foi pensado para que o mesmo apaixonado por multimídia ache moleza trabalhar com sua interface de usuário. Um aplicativo pode interagir com outros de mesmo tipo. Uma seção selecionada de um arquivo WAVE pode ser arrastada do editor de som para o desktop, criando um arquivo de áudio. Os aplicativos de áudio podem interferir uns nos outros por meio do Haiku Media Kit, equivalente a um servidor de som do Linux. Aplicativos como o Cortex são um exemplo perfeito de como o BeOS e o Haiku tratam os arquivos multimídia: dá para ter mais de uma placa de som e usá-las em grupo ou separadamente. Uma placa de som pode ser vinculada ao mixer, e aí você abre um aplicativo de bateria eletrônica e o vincula ao mixer. Se quiser dar saída ao que você criar no aplicativo de áudio, basta arrastar o microfone e vinculá-lo ao ícone do aplicativo no Cortex.
Tudo no Haiku transpira simplicidade. Dá para arrastar e soltar um arquivo na janela de um aplicativo, e se o programa for compatível com o tipo de arquivo, ele será aberto instantaneamente.
Quando o BeOS fracassou como sistema operacional comercial, a equipe do Haiku assumiu e criou o BeOS do zero, fazendo do sistema um projeto de código aberto. O Haiku é um sistema operacional POSIX que a princípio parece um clone do OS X ou do Linux. A interface pode não ser tão bem acabada quanto a Aqua do OS X, e há um número bem menor de aplicativos em relação ao Windows, mas o Haiku é o mais rápido de todos.
Imagine disparar um Fedora completo com a velocidade de um GeeXbox. No VirtualBox, com 512 MB de RAM e CPU de 1,83 GHz, o Haiku inicializou em exatos dez segundos, do menu de inicialização até um desktop pronto para o uso. O desligamento levou três segundos na mesma máquina virtual. O Haiku também funciona em máquinas antigas, e o tempo de inicialização aumentou em poucos segundos com um processador de 500 MHz e 256 MB SDRAM. Ocupando apenas 358 MB de disco em sua instalação padrão, o Haiku não precisa de partição swap como o Linux, mas pode usar um arquivo de swap como memória virtual.
O sistema de arquivos nativo do Haiku é o BFS (Be File System), que conta com journaling e é totalmente 64 bits. Assim como o EXT3 e o XFS, ele diferencia maiúsculas e minúsculas e pode ser usado em dispositivos de armazenamento de mídia. E o que é mais importante, o BFS tem suporte a atributos estendidos de arquivo (metadados), além de capacidades de indexação e consulta. Sob muitos aspectos, o BFS age como um banco de dados relacional. O BFS consegue lidar com arquivos de até dois exabytes. Há suporte ao BFS no kernel do Linux, com o nome BeFS (para evitar a confusão com o UnixWare Boot File System, que tem a mesma abreviação).
O sistema operacional em si foi desenvolvido em C++ e tem uma API orientada a objetos. Os servidores individuais e APIs são conhecidos entre os usuários do BeOS como “kits”. Há um kit de rede que proporciona toda a funcionalidade necessária para redes, e um kit de MIDI para cuidar do protocolo MIDI. Este último também é vinculado ao kit de mídia que cuida de tudo relacionado a áudio e vídeo.
Uma das diferenças entre o Haiku e outros sistemas operacionais UNIX-like é o kit de tradução. Ele não tem nada a ver com idiomas: trata-se de uma coleção de bibliotecas que lidam com arquivos de imagem específicos. O kit de tradução é composto de módulos, feitos para ler, gravar e converter um certo formato de arquivo gráfico. Para exibir JPGs, por exemplo, você baixa um dos binários do tradutor JPEG e o copia para /boot/system/add-ons/Translators. E nem é necessário reiniciar o servidor do kit de tradução para que as novas configurações entrem em vigor, dá para ver os arquivos JPEG instantaneamente a partir do momento em que o binário está na pasta certa. As bibliotecas do kit de tradução, conhecidas como “tradutoras”, vêm pré-instaladas para os tipos de imagens mais comuns, incluindo GIF, SGI, RAW e outros. As tradutoras podem ser baixadas separadamente do BeBits, o maior repositório de software para o BeOS e o Haiku.
O Haiku mantém a simplicidade, com aplicativos e opções de configuração simples. Com um mínimo de trabalho, você instala ou aplica algo, e esse algo funciona como deveria, seja um aplicativo, uma configuração do sistema ou uma consulta de pesquisa.
O sistema operacional se concentra menos na linha de comando, já que é mais fácil para o usuário utilizar a veloz interface de usuário. Há um port do BASH para o Haiku, com um pacote de binários comuns do UNIX, como diff, tar, rm, route, grep, ssh
e traceroute
. Assim como as distribuições Linux, o BeOS também tinha um sistema de pacotes. Os arquivos PKG podiam ser instalados com a ajuda do SoftwareValet. Não havia repositórios online disponíveis na época, e o aplicativo instalador não conseguia fazer muita coisa. O Haiku tem um projeto que tenta voltar aos dias dos arquivos PKG com um projeto que será escrito na API do Haiku. Hoje, a maior parte do software disponível no Haiku vem em pacotes ZIP, com muitos projetos de código aberto sendo portados do Linux e do BSD. Drivers de dispositivo e aplicativos estão no meio: QEMU, ScummVM, HandBrake e o driver da família Realtek RTL8132 são algumas das opções.
A estrutura de pastas do Haiku é um pouco diferente do que temos no Linux, já que o sistema operacional foi desenvolvido com foco em um único usuário.
Alguns podem estranhar o fato de um sistema operacional UNIX-like não ter acesso multiusuário. Esse é mais um detalhe que separa o Haiku do OS X, do Solaris e do Linux. A estrutura de pastas até pode lembrar o Linux e o OS X, o prompt do BASH pode estar lá, mas no fundo o Haiku é um sistema operacional para um único usuário. O dono dos arquivos sempre será “baron”, e o grupo será “usuários”. As coisas funcionam assim porque os desenvolvedores queriam usar a estrutura UNIX-like, mas não viam a necessidade de incluir acesso multiusuário nos tempos do BeOS.
Como não há suporte a isso, não existe pasta /root
, o usuário atual é único e também é administrador do sistema. O raiz do sistema de arquivos abriga os nomes dos volumes. O Haiku trata tudo como um arquivo, assim como no Linux, só que da perspectiva de um usuário único, e os nomes de volumes aparecem como um disco no raiz do sistema de arquivos. O volume de disco principal é chamado de /boot
, e contém as pastas /home
, /preferences
e /system
, a pasta de aplicativos /apps
e outras três pastas do sistema. A pasta /develop
, por exemplo, abriga os arquivos de cabeçalho e as bibliotecas de sistema necessárias para a compilação de binários, as ferramentas de compilação e a documentação relacionada. Por padrão, a pasta /boot/home tem uma estrutura simples:
/boot/home/config
/boot/home/mail
/boot/home/queries
.bash_history
O Haiku mantém as coisas organizadas de forma eficaz, sem empilhar pastas na pasta de espaço de trabalho do usuário. Os arquivos do sistema, que o usuário não técnico não vai querer ver, ficam escondidos em outras partes do sistema.
/boot/home/config
armazena os arquivos de configuração do usuário, e sob muitos aspectos funciona de forma semelhante à /usr/bin do Linux
. É aqui que encontramos o protetor de tela do usuário, os complementos do Tracker, os arquivos de tradução e tudo o mais que pertença a ele. Há muitos links simbólicos no Haiku, e muitas pastas aparecem duas ou três vezes em partes diferentes, em um ecossistema técnico bem pensado mas caótico.
Dois componentes definem o desktop do Haiku: o Tracker e a Deskbar. Do ponto de vista de um usuário do Linux, o Tracker é um misto do Nautilus e do GNOME em si. É mais um gerenciador de arquivos, e somado à Deskbar forma o desktop Haiku completo. O Tracker pode gerenciar operações de arquivos, mas também pode decidir como os volumes serão exibidos no desktop. Ele é um gerenciador de arquivos, mas também é uma interface para algumas das configurações de sistema mais usadas no Haiku, como o tamanho dos ícones SVG ou o acesso aos complementos (Add-Ons) do usuário, que são como a função de scripts do Nautilus. A Deskbar, por sua vez, integra o Tracker e o Registrar (que lida com os processos de aplicativos).
Alguns aplicativos também podem se “destacar” de sua própria janela para serem “colados” ao desktop; Eles são chamados de “Replicantes”, e podem ser identificados pela pequena seta no canto inferior direito. Arraste a seta para “embutir” uma cópia do aplicativo no desktop.
Do ponto de vista da segurança, e sendo um sistema operacional de usuário único com estrutura UNIX-like, o Haiku ainda não é um risco de segurança. Sua principal utilização é mesmo nos desktops, e praticamente não existem servidores fazendo uso dele. A pequena base de usuários e a compatibilidade com o POSIX implicam na inexistência de vírus para ele. A única coisa que pode chegar perto de ser um malware no Haiku seria um script mal intencionado do BASH, ou uma bomba lógica. Não há tela de login protegendo o usuário antes do desktop abrir, e isso pode ser considerado um risco. Nada que a biblioteca Real Multi User não resolva, ou o software Lock Workstation desenvolvido por terceiros.
O Tracker pode gerenciar atributos estendidos. No modo de visualização detalhada, ele exibe tags ID3 de arquivos MP3 como atributos editáveis, e bastam poucos cliques para se adicionar tags personalizadas a arquivos de multimídia.
Outra coisa interessante no Haiku e no sistema de arquivos BFS é que, como eu já mencionei, eles agem como um banco de dados. Quando você procura por um arquivo, um arquivo de consulta é criado e armazena os resultados da pesquisa específica que você realizou. Mais tarde, dá para repetir a pesquisa clicando no arquivo gravado automaticamente em /boot/home/queries
. A velocidade das pesquisas no sistema de arquivos é simplesmente incrível. Dá para fazer uma comparação com a velocidade de obtenção de resultados em um sistema de arquivos Linux pré-indexado, usando o locate
e o updatedb
. As consultas podem ser manipuladas e editadas de modo que toda a fórmula de pesquisa seja exibida ao usuário como em um banco de dados. Um antigo projeto chamado TrackerBase, desenvolvido por Scot Hacker, pega esses resultados de pesquisa e os converte em HTML usando apenas um servidor web nativo do Haiku, o PoorMan’s Webserver. Encare essas consultas como uma variação menos poderosa dos resultados de um servidor SQL.
De modo geral, os aplicativos com interface gráfica do Haiku consomem pouquíssima memória. Isso nos traz lembranças dos tempos do BeOS R5 (1998-2001), quando a maioria dos aplicativos era simples e não exigia muitos recursos. Mas as coisas mudaram, com o surgimento de programas famintos por recursos como o Firefox, e do port desses programas de código aberto para o Haiku. O Haiku já vem como o Firefox Bon Echo (versão 2.0.0.21pre). O BeZilla consome 52940 KB de memória quando aberto. Isso tem um impacto no desempenho geral do sistema operacional, acostumado a software mais leve.
O objetivo do Haiku era o de manter a retrocompatibilidade com os binários do BeOS R5, para que os aplicativos desenvolvidos para a última versão do BeOS pudessem rodar sem problemas no Haiku. Infelizmente, com o fim do desenvolvimento do BeOS em 2000, esses aplicativos de terceiros que hoje rodam no Haiku foram desenvolvidos para uma era que chegou ao fim há dez anos.
No momento, o sistema operacional está em estágio Alfa, com um port do WebKit e um protótipo de pilha WiFi em desenvolvimento. Ao contrário do que acontece no Linux, onde a base de desenvolvedores não para de crescer, o progresso do projeto Haiku demorou para chegar aonde chegou, com rumores de uma versão RC até o fim do ano.
Por ser uma alternativa de código aberto ao BeOS, o Haiku segue os mesmos passos do sistema operacional desenvolvido pela Be Inc. Ele se destaca de projetos como AtheOS, Syllable, QNX RTOS e MenuetOS graças à sua longa história. Infelizmente, com a falta de desenvolvedores e com a queda no interesse pelo BeOS ao longo dos anos, o projeto Haiku vem progredindo lentamente. Mas o que importa é que o progresso é constante.
Deixe seu comentário