quinta-feira, 4 de outubro de 2012

O Haiku poderia mudar o mundo

Traduzimos o presente artigo da OSnews que faz uma abordagem geral sobre o Haiku, inclusive do ponto de vista de um usuário Linux. Trata-se de uma ótima apresentação do sistema, que permite ao iniciante ter uma prévia do que poderá encontrar nesse excelente sistema operacional.

O Haiku poderia mudar o mundo
postado por Razvan T. Coloja em seg., 3 Jan 2011 23:30 UTC
(tradução nossa)

Para entender o que são os sistemas operacionais BeOS e Haiku, nós temos primeiro que lembrar que o BeOS foi desenvolvido tendo em mente o usuário multimídia. O BeOS desejou ser o que o OS X se tornou hoje: um sistema fácil de usar e atrativo. No entanto, o BeOS era um sistema de nicho, destinado ao usuário faminto por multimídia. A porcentagem de aplicativos de áudio e vídeo disponíveis para o Haiku é maior que aqueles no Linux, OS X ou Windows e o trabalho interno do sistema operacional foi criado de tal maneira que o mesmo apaixonado por multimídia acharia fácil trabalhar com a interface de usuário e arquivos. Cada aplicativo pode interagir com outros do mesmo tipo. Uma seleção de um arquivo WAVE pode ser arrastada de um editor de som para a área de trabalho, a fim de criar um arquivo de áudio. Aplicativos de áudio podem interagir uns com os outros através do Haiku Media Kit – o correspondente do servidor de som do Linux. Aplicativos como o Cortex são o exemplo perfeito de como o BeOS e o Haiku lidam com arquivos multimídia: você pode ter mais de uma placa de som e usar cada uma das placas independentemente ou separadamente.Você pode vincular uma placa de som ao Áudio Mixer, iniciar um aplicativo de bateria eletrônica e vinculá-lo ao mesmo Mixer. Se desejar reproduzir o que quer que tenha criado com o aplicativo de áudio, tudo o que tem que fazer é arrastar o microfone e vinculá-lo ao ícone do aplicativo no Cortex.
Tudo no Haiku está em torno da simplicidade. Você pode arrastar e soltar um arquivo dentro de uma janela de aplicativo e se o programa puder manusear o tipo de arquivo, ele irá abrí-lo instantaneamente.
Quando o BeOS falhou em tornar-se um sistema operacional comercial, o time do Haiku assumiu o desenvolvimento e criou um BeOS do zero, tornando-o um sistema operacional de código aberto. Haiku é um SO compatível com POSIX que à primeira vista parece ser um clone entre o OS X e o Linux. Enquanto a interface de usuário pode parecer não tão polida como o Aqua do OS X e a base de aplicativos pode ser menor do que a do Windows, em compensação o Haiku é o mais rápido de todos eles.
Imagine inicializar uma distribuição Fedora cheia de funcionalidades com a velocidade de uma simples distribuição Linux GeeXBox. No VirtualBox, com 512Mb de memória RAM base e um CPU de 1,83GHz, o Haiku inicializa em exatos dez segundos do menu do bootloader até abrir uma área de trabalho pronta para uso. Desligar o sistema operacional leva um total de três segundos na mesma máquina virtual. O Haiku também trabalha em máquinas antigas e o tempo de inicialização varia alguns segundos a mais com um processador de 500MHz e 256Mb de memória SDRAM. Com apenas 358 Mb de espaço em disco rígido ocupado pela instalação padrão, o Haiku não necessita de uma partição SWAP como o Linux, mas ainda assim pode usar um arquivo SWAP para memória virtual.
O sistema de arquivos nativo que o Haiku utiliza é chamado BFS (Be File System), totalmente compatível com journaling de 64-bits. Assim como EXT3 ou XFS, diferencia maiúsculas de minúsculas e pode ser usado em dispositivos de armazenamento de mídias. Mais importante, o BFS tem suporte para atributos estendidos de arquivo (metadados) e tem capacidade de indexação e consulta. De muitas maneiras, o BFS age como um banco de dados relacional. BFS pode manusear acima de dois exabytes quando vem com limite de tamnho de arquivo. Você pode encontrar suporte ao BFS no kernel do Linux sob o nome BeFS (por razões práticas, para não confundir com o UnixWare Boot File System que possui a mesma abreviação que o sistema de arquivos do Haiku).
O sistema operacional em si é desenvolvido em C++ e tem uma API orientada a objetos. O servidor individual e as APIs são conhecidas pelos usuários BeOS como “kits”. Existe um Kit de Rede que provê todas as funcionalidades necessárias para acesso à rede. Existe um Kit de MIDI que manipula o protocolo MIDI. Este último é também ligado ao Kit de Mídia que manipula todas as coisas de áudio e vídeo.
Uma das diferenças entre o Haiku e outros sistemas operacionais UNIX-like é o Kit de Tradução. Não tem nada a ver com linguagem mas, ao invés disso, é uma coleção de bibliotecas que lidam com arquivos de imagem específicos. O Kit de Tradução é composto por módulos, cada qual designado para ler, escrever, converter um certo formato de arquivo gráfico. Para ser capaz de visualizar arquivos JPG, por exemplo, você precisa baixar um dos binários do Tradutor JPEG e copiá-lo em /boot/system/add-ons/Translators. Uma vez feito isso, não é necessário reiniciar o servidor do Kit de Tradução para que as novas definições tenham efeito. Você será capaz de visualizar arquivos JPEG instantaneamente, desde que o arquivo binário esteja em seu lugar. Bibliotecas do Kit de Tradução – também chamadas “Tradutores” - são pré-instalados para os tipos mais comuns de arquivos de imagem que variam do GIF ao SGI e RAW. Tradutores podem ser baixados separadamente a partir do BeBits, o maior repositório de software do BeOS e do Haiku.
O Haiku mantém as coisas simples, com aplicativos simples e opções de configuração simples. Com um mínimo de esforço você pode instalar e aplicar algo e aquele algo deve funcionar como esperado – seja um aplicativo, definição de sistema ou consulta de pesquisa.
O sistema operacional foca menos na linha de comando já que é mais fácil ao usuário utilizar a rápida interface gráfica. Existe um porte do BASH no Haiku com um conjunto de binários UNIX comuns como diff, tar, rm, route, grep, ssh ou traceroute já disponíveis. Assim como as distribuições Linux, o BeOS também tinha um sistema de pacotes. Arquivos PKG poderiam ser instalados com a ajuda do SoftwareValet. Não haviam repositórios online disponíveis naquela época e o aplicativo instalador podia manusear arquivos apenas da perspectiva da interface gráfica. O Haiku está tentando trazer de volta os dias dos arquivos PKG com um projeto que será escrito na API do Haiku. Hoje, a maioria dos softwares disponíveis para o Haiku vem em pacotes ZIP, com muitos projetos de código aberto sendo portados do Linux e do BSD. Inclusive drivers de dispositivo e aplicativos. QEMU, ScummVM, HandBrake, os drivers da família Realtek RTL8132 são apenas alguns deles.
A estrutura de pastas do Haiku é ligeiramente diferente daqueles que costumamos ver no Linux, uma vez que o sistema operacional foi desenvolvido com o usuário único em mente.
Algumas pessoas podem achar estranho que um sistema operacional UNIX-like não tenha acesso multiusuário implementado. Isto é apenas mais uma coisa que separa o Haiku do OS X, Solaris e Linux. Sua estrutura de pastas pode assemelhar-se ao Linux e OS X, ele pode ter um prompt BASH, mas no fundo o Haiku é um sistema operacional monousuário. O proprietário dos arquivos será sempre o “baron” e o grupo em que você estará será sempre “users”. Isto porque os desenvolvedores queriam usar a estrutura UNIX-like mas não viram necessidade para acesso multiusuário nos tempos do BeOS.
Uma vez que não possui suporte a multiusuário – ele não possui pasta /root – o usuário atual será o primeiro e único administrador do sistema. A raiz do sistema guarda os nomes de volume. Como tudo é tratado como um arquivo, assim como no Linux – apenas de um ponto de vista do usuário único – os nomes de volume aparecem como um disco na raiz do sistema de arquivos. O principal volume de disco é também chamado /boot e contém a pasta /home, as pastas /preferences e /system, a pasta de aplicativos é chamada /apps e mais outras três pastas de sistema. A pasta /develop, por exemplo, guarda os arquivos de cabeçalhos e bibliotecas de sistema necessários para compilar binários, as ferramentas de compilação e documentação relativa. Por padrão, a pasta /boot/home possui a seguinte estrutura simples:
/boot/home/config
/boot/home/mail
/boot/home/queries
.bash_history
O Haiku mantém as coisas organizadas de uma maneira efetiva, não empilhando pastas no espaço de trabalho do usuário. Arquivos de sistema que o usuário não técnico não deseja ver são mantidos longe em outras partes do sistema.
/boot/home/config mantém os arquivos de configuração do usuário, os adicionais do Tracker, os arquivos do Tradutor, tudo que pertence ao usuário. No Haiku, muitos dos arquivos são vinculados simbolicamente a outros e muitas das pastas aparecem até mesmo duas ou três vezes em diferentes partes do sistema, num bem pensado mas caótico ecosistema técnico.
Existem dois componentes que definem a área de trabalho do Haiku: o Tracker e o Deskbar. Do ponto de vista de um usuário Linux, o Tracker é um cruzamento entre o Nautilus e o próprio GNOME. Ainda assim, é mais do que um gerenciador de arquivos e junto com o Deskbar ele forma o conjunto completo de componentes da área de trabalho do Haiku. O Tracker pode gerenciar operações de arquivos mas também pode decidir quais volumes na área de trabalho são visíveis. É um gerenciador de arquivos mas também uma interface para algumas das definições de sistema mais utilizadas do Haiku, como o tamanho dos ícones SVG (Simple Vector Graphics) ou acesso aos adicionais do usuário (que poderia ser comparado à função de script do Nautilus). O Deskbar por outro lado integra o Tracker e o Registrar, este manuseando os processos dos aplicativos.
Alguns aplicativos também tem a habilidade de se desvincular de suas janelas e se fixar na área de trabalho. Eles são chamados Replicantes e você pode identificá-los por uma pequena seta encontrada no canto inferior direito. Você pode arrastar essa seta e incorporar uma cópia do aplicativo na área de trabalho.
Do ponto de vista da segurança, sendo um sistema operacional monousuário construído numa estrutura UNIX-like, o Haiku ainda não apresenta riscos de segurança. Seu principal uso é para computador desktop e praticamente não existem servidores rodando o sistema operacional Haiku. Tendo uma base de usuários pequena e sendo compatível com POSIX, não existem vírus para ele. A única coisa que se aproxima de um malware seria um script BASH malicioso ou uma bomba lógica. Não existe tela de login para proteger o usuário antes de chegar à área de trabalho e isto poderia ser considerado um risco. O que poderia ser superado com a ajuda de uma biblioteca chamada Real Multi User ou com um software de terceiros como o Lock Workstation.
O Tracker pode gerenciar atributos estendidos. No modo de visualização detalhada de arquivos, o Tracker exibe etiquetas ID3 obtidas de arquivos MP3 como atributos editáveis e é uma maneira de, em poucos cliques, adicionar atributos personalizados a arquivos multimídia.
Outra coisa interessante sobre o Haiku e o sistema de arquivos BFS é que – como eu mencionei antes – ele age como um banco de dados. Toda vez que você procura por um arquivo, um arquivo de consulta é criado, o qual mantém os resultados para aquela consulta específica que foi feita. Você pode mais tarde refazer aquela pesquisa em particular simplesmente clicando no arquivo que é salvo automaticamente em /boot/home/queries. A velocidade pela qual as consultas são realizadas graças ao sistema de arquivos BFS é simplesmente incrível. Você pode comparar com o quão rápido obtém resultados de um sistema de arquivos pré-indexados Linux pelo uso do locate e updatedb. Consultas podem ser manipuladas e editadas assim que a fórmula de pesquisa inteira é exibida ao usuário, na forma de um verdadeiro banco de dados. Um antigo projeto chamado TrackerBase, desenvolvido por Scot Hacker, pode pegar aqueles resultados de consulta e transpô-los para o formato HTML usando apenas um servidor web nativo do Haiku chamado PoorMan. Você pode entender melhor as consultas como uma variação menos poderosa dos resultados de um servidor SQL.
Geralmente, os aplicativos em interface gráfica do Haiku tem um rastro de memória muito pequeno. Isto é uma reminiscência da era BeOS R5 (1998-2001) quando a maioria dos aplicativos eram simplistas e não requeriam muitos recursos para rodar. As coisas mudaram agora no Haiku com o surgimento de softwares famintos por recursos como o Firefox e consequentemente os portes para o Haiku daqueles aplicativos de código aberto. O Haiku vem empacotado com o Firefox Bon Echo (versão 2.0.0.21pre). O BeZilla utiliza 52940 KB de memória quando aberto. Isto realmente tem um impacto na performance global de um sistema operacional que tem sido usado para rodar softwares leves.
O objetivo do Haiku era manter compatibilidade retroativa com os binários do BeOS R5 de maneira que aqueles aplicativos desenvolvidos para a última versão do BeOS pudessem rodar sem problemas nele. Lamentavelmente, desde que o desenvolvimento do BeOS encerrou em 2000, aqueles aplicativos de terceiros que rodam agora no Haiku foram desenvolvidos para uma época que remonta há dez anos atrás.
O sistema operacional está atualmente em estágio Alfa, com um porte do WebKit e um protótipo de pilha WiFi em desenvolvimento. Diferentemente do Linux, onde a base de desenvolvedores está sempre crescendo, o progresso do Projeto Haiku levou tempo para alcançar seu marco, com rumores de um release candidate a ser lançado no fim do ano.
Sendo uma alternativa de código aberto do BeOS, o Haiku segue os mesmos passos como o sistema operacional da Be Inc. foi desenvolvido. Ele mantém-se afastado de outros projetos como AtheOS, Syllable, QNX RTOS ou MenuetOS por causa de sua longa história. Lamentavelmente, dado a falta de desenvolvedores e com o interesse no BeOS arrefecendo ao longo dos anos, o projeto Haiku tem tido um progresso lento. O que não significa que o progresso não foi constante.

Razvan T. Coloja é um freelancer romeno de 31 anos. Ele publicou artigos de TI na Linux.com, Linuxforums.org, na Linux Magazine, Ubuntu User Magazine, MyLINUX, MyComputer e Connect Magazine. Atualmente ele trabalha como especialista em SEO para uma empresa de webdesign.

Nenhum comentário:

Postar um comentário