BeOS Noturno.

Propaganda
ESCOLA TÉCNICA ESTADUAL DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
SECETEC
RODRIGO SANTANA
EDSON DE OLIVEIRA
Sistema Operacional BeOS
Cidade: Lucas do Rio Verde
Data: 11 de Fevereiro de 2012
Sumário
Lista de Figuras .................................................................................................................................................. 3
Sistema Operacional BeOS ................................................................................................................................ 4
Resumo .............................................................................................................................................................. 4
1. Introdução ...................................................................................................................................................... 4
História............................................................................................................................................................... 5
Principais características do BeOS .................................................................................................................... 6
Multitarefa Preemptiva ...................................................................................................................................... 6
Projetado para mídias em tempo-real ................................................................................................................ 6
Sistema de arquivo jornalado ............................................................................................................................. 6
Multithread Generalizado .................................................................................................................................. 6
Acesso direto ...................................................................................................................................................... 6
Carga dinâmica de drivers ................................................................................................................................. 7
Memória protegida ............................................................................................................................................. 7
2. Estrutura do Sistema Operacional .................................................................................................................. 7
2.1. Sistema Operacional Orientado a Objetos .................................................................................................. 7
2.2. Gerência de Processos: SMP ...................................................................................................................... 8
2.2. 1. Multitarefa Primitiva ............................................................................................................................... 8
2.2. 2. Multi Threading ...................................................................................................................................... 8
2.3. Gerência de Memória .................................................................................................................................. 8
2.4. Sistemas de I/O ........................................................................................................................................... 8
2.5. Sistema de Arquivos ................................................................................................................................... 9
3. Finalidade do BeOS ....................................................................................................................................... 9
4. Referências ................................................................................................................................................... 10
Lista de Figuras
Figura 1. Interface do BeOS .............................................................................................................................. 5
Figura 2. BeOS rodando com oito processadores. ............................................................................................. 6
Figura 3. Arquitetura em camadas no BeOS ..................................................................................................... 7
3
Sistema Operacional BeOS
ESCOLA TÉCNICA ESTADUAL DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
SECITEC
Resumo
O artigo abaixo descreve as características do sistema operacional BeOS, quanto a seus aspectos
estruturais, arquitetura e tecnologias implementadas. Citando entre elas, a multitarefa preemptiva, o suporte
a multiprocessamento simétrico, suporte a multi-threading, recursos de I/O, sistema de arquivos de 64 bits
com journaling, gerência de memória, e o fato do sistema operacional ser orientado a objetos, e ser
voltado para aplicações multimídia.
1. Introdução
O BeOS é um Sistema Operacional moderno em sua essência. Ao contrário dos S.O´s mais antigos, o
sistema foi desenvolvido desde o principio com o objetivo de maximizar o desempenho e com tecnologias
realmente inovadoras.
O BeOS consegue extrair excelentes performances de computadores comuns como os PCs e Power PCs
(Mac), permitindo uma grande economia no investimento em equipamentos. Essa diferença começa a ser
notada desde o boot do sistema, já que todo o processo demora algo em torno de 12 segundos.
Surgiu em 1990 nos EUA, no estado da Califórnia, nas proximidades da cidade de São Francisco.
Desenvolvido pela Be Inc.
O seu idealizador e proprietário chama- se Jean- Louis Gassée ex – vice presidente da Apple. Quando o
BeOS surgiu, a finalidade era trazer o multi- processamento para o Computador Pessoal (PC). A idéia era
juntar 5 processadores simples e muito baratos que fariam a mesma função de um 486. Acontece que, para
fazer tudo isto, era necessário ter um Sistema Operacional que suportasse mais de um processador. Foi
criado então o BeOS.
O BeOS usa símbolos e idéias familiares de outros sistemas operacionais (arquivos, pastas, desktops, etc.) O
BeOS GUI é conhecido como Tracker, e a chave ao Tracker é o TrackBar , que pode ser movido e
configurado segundo as preferências do usuário.
4
Figura 1. Interface do BeOS
História
O BeOS foi um projeto de Jean-Louis Gassée um ex-executivo da Apple que decidiu investir num sistema
operacional próprio. Em 1996, a Apple precisava de um novo sistema operacional para sua linha Macintosh
e dois sistemas concorreram: o BeOS e o NEXTSTEP de Steve Jobs. A Apple ficou com o NeXT e Gassée
decidiu seguir com o sistema fundando sua propria companhia a Be Incorporated.
O BeOS foi concebido em meados de 1990 para rodar em computadores proprietários, os chamados BeBox.
Posteriormente, foi portado para computadores PowerPC da Apple: o objetivo era oferecer uma alternativa
ainda melhor que o próprio sistema proprietário da Apple e logo depois portado para PCs x86. Em 1998 a
Apple fechou a plataforma Mac impossibilitando a instalação do BeOS em seus computadores, e no PC e em
PowerPCs antigos que o BeOS tentou sobreviver.
Nos anos 90, o BeOS foi visto como uma alternativa às caras estações da Silicon Graphics, mas por volta de
1999 passou a ser utilizado mesmo por usuários que buscavam alternativas ao Windows e ao Linux, ou seja,
que fosse completo e executasse as operações normais de um sistema. Em 2000 passou a ser oferecido numa
versão compacta e livre para cópias na Internet. Em meados de 2001, a Be foi comprada pela Palm e o
sistema descontinuado. A comunidade de usuários de BeOS não se intimidou e começou um novo projeto de
sistema operacional livre chamado de OpenBeOS ou Haiku.
A versão gratuita do BeOS que foi lançada pela Be em 2000, chamada de BeOS 5 Personal Edition, ainda
pode ser usada segundo seus termos de licença e continua sendo atualizada por fãs que adicionam drivers e
uma variedade de programas também gratuitos. Essa versão possui uma característica muito importante: não
necessita de particionamento do disco rígido para ser instalada. A instalação pode ser feita dentro da partição
do Windows ou do Linux, sendo que o BeOS será iniciado a partir dela.
Em 2004 a yellowTAB conseguiu o código-fonte da versão 4.51 e continuou o desenvolvimento do BeOS
renomeando o sistema para Zeta. Em Julho de 2005 a versão 1.0 do Zeta foi lançada ao preço de 99 euros.
Em 2007 ele foi descontinuado.
5
O Haiku é atualmente o projeto de manter o BeOS vivo e totalmente em software livre.
Principais características do BeOS
Multitarefa Preemptiva - O BeOS é um sistema operacional que foi projetado para dividir a
aplicação em vários threads mesmo que o programador não tenha projetado assim. Isso aumenta a
eficiência e a performance das aplicações. Na multitarefa preemptiva, o compartilhamento da CPU é
gerenciado por um componente do sistema operacional chamado scheduler , que atribui tempo de CPU
para as várias tarefas baseadas em um conjunto de heurísticas. Desse modo, nem o programador nem o
usuário necessitam conhecer os detalhes.
Projetado para mídias em tempo-real - A arquitetura do BeOS é otimizada para trabalhar com
tempo-real, áudio e vídeo. O tempo de resposta do kernel é de cerca de 1 microssegundo e de 5
microssegundos para a mídia.
Sistema de arquivo jornalado - Para evitar sobrecarga no sistema, sistemas operacionais não
atualizam pequenas transações para o disco imediatamente. Ao invés disso, mudanças são armazenadas
em memória por um tempo, sendo enviadas para o HD usualmente quando o sistema está livre. BeOS
usa uma sistema de jornal para manter todas as transações registradas. Uma vez que o jornal é atualizado
em tempo real, se o sistema for desligado incorretamente ou travar, todos os dados são recuperados do
jornal, resultando em um boot tão; rápido quanto um boot normal. Ao contrário da FAT32, o sistema de
arquivo usado no Windows 98, que não pode armazenar arquivos maiores que 4 Gb, O BeOS usa um
esquema de endereçamento de 64-bit no Be Filesystem (BFS) , assim o tamanho máximo de um arquivo
atinge aproximadamente 18.000 petabytes.
Multithread Generalizado - No BeOS o processador não se torna mais rápido que em outros
sistemas operacionais, mas as aplicações ficam mais sensíveis, uma vez que elas recebem mais atenção
do processador todo o tempo. O conjunto de instruções não é executado seqüencialmente como outros
sistemas fazem, e sim em paralelo.
Figura 2. BeOS rodando com oito processadores.
Acesso direto - O BeOS, ao contrário de outros sistemas, envia informações de vídeo diretamente
para a placa gráfica e então para o monitor. Assim deixa de existir sobrecarga no sistema e a taxa de
6
quadros aumenta usando o mesmo hardware. O processo de enviar dados diretamente para o coração da
placa de vídeo é chamado DMA, Direct Memory Access.
Carga dinâmica de drivers - Em muitos sistemas ainda é necessário reiniciar a máquina toda vez
que você faz uma alteração na configuração atual. Isso pode ser confirmado no Windows sempre que
você fizer uma alteração na configuração de rede. Já no BeOS isso não acontece, pois o sistema pode ler
novos drives em tempo de execução sem necessidade de reboot.
Memória protegida - Um dos aspectos mais críticos para a estabilidade de um sistema operacional é
a proteção de memória. Esse recurso controla o espaço de memória evitando as colisões. Como
resultado, aplicações podem travar que o sistema e as outras aplicações continuam rodando
perfeitamente.
2. Estrutura do Sistema Operacional
A arquitetura do BeOS é composta basicamente de três camadas:
- Microkernel e Drivers de dispositivo;
- Servidor e s Do BeOS;
- Kits De software do BeOS;
Figura 3. Arquitetura em camadas no BeOS
O MicroKernel trabalha diretamente com o hardware. Ele toma conta das tarefas de baixo nível e de controle
crítico além de controlar o acesso à memória. O kernel também fornece outras coisas que os programas
utilizam como ferramentas para o sistema de arquivos, escalonamento de threads e primitivas de chave
amento da memória.
Os Servidores estão na camada acima do kernel. Esta camada é composta por um número de processos de
servidores que são executados em background e cuidam das tarefas para as aplicações que estão executando.
A arqui t e tu r a cliente- servidor, no BeOS faz uso de protocolos de comunicação simples do tipo
Requisição/ resposta. A fim de obter um serviço, um processo cliente envia uma requisição ao servidor.
Este, por sua vez, executa as operações associadas ao serviço e envia uma resposta ao cliente, contendo
dados ou um código de erro caso o serviço não possa ser executado. A camada acima dos servidores é
composta pelos kits de software. Um Kit consiste em um número de classes de objetos orientados que o
programador utiliza para desenvolver aplicações para o BeOS. Coletivamente, estas classes juntas compõem
a API do BeOS.
2.1. Sistema Operacional Orientado a Objetos
O BeOS foi desenvolvido com base nesse paradigma da Engenharia de Software. Até mesmo o kernel do
BeOS é Orientado a Objeto. Para um usuário, a coisa mais visível é o fato de ser possível customizar o SO a
níveis inimagináveis sem muito esforço, o que faz com que surjam muitos programa s destinados a
customização (principalmente no que diz respeito à Interface). Para o programador, isso significa que é fácil
7
reaproveitar e melhorar o que o S.O fornece, sem ter que reescrever partes inteiras do mesmo (conceito de
reusabilidade.)
2.2. Gerência de Processos: SMP
SMP significa Simetrical Multi Processor – Multiprocessamento Simétrico. Neste conceito, um grupo de
processadores trabalha conjuntamente. As aplicações são divididas em correntes que podem rodar
Concorrentemente em qualquer processador que esteja disponível. O SMP melhor a o desempenho da
própria aplicação, como também o processamento total do sistema. O sistema SMP requer em alguma forma
de memória compartilhada e cachês de instrução locais, e o mais importante: sistema de SMP requer em
aplicações que podem tirar proveito do paralelismo. Como o BeOS, desde o princípio, foi criado para ser
multiprocessador. Assim, quando surgiu o SMP bastou a Be Inc incorporá-lo ao seu sistema operacional,
sendo que todo o seu funcionamento já era voltado para mais de um processador.
2.2. 1. Multitarefa Primitiva
O BeOS é um sistema operacional que foi projetado para dividira aplicação em vários threads mesmo que o
programador não tenha projetado assim. Isso aumenta a eficiência e a performance das aplicações. Na
multitarefa pré emptiva, o compartilhamento da CPU é gerenciado por um componente do sistema
operacional chamado escalonador (scheduler), que atribui tempo de CPU para as várias tarefas base adas em
um conjunto de heurísticas. O escalonamento é feito por Prioridade. Desse modo, nem o programador nem o
usuário necessitam conhecer os detalhes. No BeOS o recurso de multitarefa e levada a um patamar acima,
através do recurso de Multithreading. Uma Thread é um pedaço (geralmente uma função) de um programa
que roda simultaneamente com outras thread s no espaço alocado pelo S.O para a aplicação. No caso do
BeOS, o Multithreading é pervasivo, ou seja, existem muitas threads mesmo ao nível mais baixo do SO (O
Kernel, por exemplo, é composto por 4 threads).
2.2. 2. Multi Threading
No BeOS o processador não se torna mais rápido que em outros sistemas operacionais, mas as aplicações
ficam mais sensíveis, uma vez que elas recebem mais atenção do processador todo o tempo. O conjunto de
instruções não é executado seqüencialmente como outros sistemas fazem, e sim em paralelo. Ser multithread não tem nada a ver com multi- processamento, mas para que um sistema tenha suporte a
multiprocessamento ele tem que ter tarefas bem divididas s, para poder aloca- lãs a cada processador. É mais
fácil alocar tarefas bem pequenas. Sistema s como Windows NT não são "fortemente multi- thread"
Pois eles trabalham com threads, mas ainda assim são pesadas e poucas. No BeOS, cada tarefa de uma
aplicação é dividida em muito mais pedaços, sendo que muitos deles são do próprio sistema operacional.
2.3. Gerência de Memória
O Microkernel do SO controla diretamente o acesso a memória. Devido ao multiprocessamento, o
barramento de memória é o eixo de simetria entre os processadores. Assim, nenhum deles poderá acessar
diretamente a uma memória ou a um dispositivo de entrada/saída. Além disso, a memória e partilhada
nativamente, ao contrário dos clusters , que o emulam ao nível aplicacional. Os drivers no BeOS são
carregados em tempo real, indo para a memória apenas quando o dispositivo for utilizado, assim é
economizado tempo e espaço em memória. O Sistema Operacional também conta com um eficaz sistema
De memória protegida. Um dos aspectos mais críticos para a estabilidade de um sistema operacional é a
proteção de memória. Esse recurso controla o espaço de memória evitando as colisões. Como resultado, se
alguma aplicação travar, o sistema e as outras aplicações continuam rodando perfeitamente.
2.4. Sistemas de I/O
Os drivers de I/O no BeOS são multithreaded, levando em conta a distribuição de tarefa s de Entrada e saída
através de processadores múltiplos, e resposta mais rápida em sistemas de processador únicos. Os drivers
8
são carregados dinamicamente como necessitado, sem requerer a reinicialização de sistema. Vamos supor
que o usuário tinha uma placa de rede, mas que não funcionava no BeOS. Conseguiu o driver, ou o
fabricante disponibilizou- o. O driver de rede será copiado para um diretório específico, é reiniciando este
módulo do sistema operacional, é o suficiente para que este passe a funcionar. O BeOS envia informações e
vídeo diretamente para a placa gráfica e então para o monitor. Assim deixa de existir sobre carga no
Sistema e a taxa de quadros aumenta usando o mesmo hardware. O processo de enviar dados diretamente
para o coração da placa de vídeo é chama do DMA, Direct Memory Access.
Os Kits de software fazem a comunicação entre os dispositivos de I/O e os servidor e s (Camada
Intermediária do SO). Por exemplo: Para uma entrada de teclado, o Input Kit fará a interface entre o
programa e o servidor Input Server.
2.5. Sistema de Arquivos
O File System do Sistema Operacional foi desenvolvido par a suportar altas taxas de transferência de dados.
Isto inclui os drivers de acesso aos discos e um sistema de arquivos de 64 bits que suporta volumes muito
grandes. O tamanho máximo do sistema de arquivos do BeOS é de 18.000 Petas bytes. Isto é o mesmo que
gerenciar 3 bilhões de HD
De 6 Giga Bytes.
O BeOS ainda traz um Gerenciador de Boot, e o seu carregador além de ser muito rápido é pequeno o
suficiente para caber em um disco. Vamos dizer que o Windows foi instalado depois de instalar o BeOS;
você não poderia mais iniciar o computador no BeOS porquê o Windows remove o gerenciador de Boot do
Sistema. Mas o disquete de boot do Sistema e capaz de encontrar seu volume BeFS e carrega o Sistema
Operacional, direto de seu HD.
O sistema de arquivos no BeOS funciona de maneira semelhante a um Banco de Dados, permitindo que os
arquivos possuam um número infinito de atributos e que os mesmos sejam de qualquer tamanho, de forma
que fique fácil fazer pesquisas complexa s através do localizador (find) do sistema. Também é similar o fato
de existirem índices no sistema de arquivos, o que aumenta ainda mais seu desempenho na busca de
arquivos. Para evitar sobre carga no sistema. A maioria dos Sistemas Operacionais, não atualiza pequenas
transações para o disco imediatamente. Ao invés disso, mudanças são armazenadas em memória por um
tempo, sendo enviada s para o HD quando o sistema está livre. BeOS usa um sistema de jornal (Journaling)
para manter todas as transações registradas. Uma vez que o jornal é atualizado em tempo real, se o sistema
for desligado incorretamente ou travar, todos os dados são recupera dos do jornal, resultando em um re boot
tão rápido quanto um boot normal. O seu Sistema de Arquivos reconhece e dá acesso a outras Partições de
outros sistemas como Fat16/32 (Windows), ISO966 0, HFS (Mac OS), NFS entre outros.
3. Finalidade do BeOS
Quando foi projetado, o BeOS teve sua utilização voltada para a multimídia. Assim, muitos cuidados foram
tomados para que o sistema realmente suportasse aplicativos que trabalhasse com som, imagem e vídeo.
Um sistema para trabalhar com Multimídia deveria ser um sistema operacional de tempo real. Para garantir
um processamento em tempo real, o BeOs trabalha com multithreads em um sistema microkernel.
Permitindo que os drivers sejam carregados na memória apenas quando for necessário. Diversos outros
fatores foram analisados para o desenvolvimento deste SO. Porém, a característica que mais vale ressaltar é
o fato dele ser novo e criado a partir do zero. Há 30 anos atrás, nunca se imaginou que um computador iria
precisar de Giga bytes de dispositivos de armazenamento secundário e de memória. O problema atual é que
a maioria dos sistemas existentes no mercado atual foram desenvolvidos a mais de 10 anos ou funcionam em
cima de sistema s antigos. Assim, a proposta do BeOS era ser um sistema novo para a realidade atual.
Apesar disso, a Be teve sua parte intelectual compra da pela Palmem agosto/2001, patrocinada pela
Microsoft e pela Apple, e finalizou suas atividades em dez/2001. Devido a questões de mercado, a Palm
decidiu não continuar seu desenvolvimento. Atualmente, existem dois novos esforços para evitar a morte do
BeOS: OpenBeOS e BlueEyedOS, sendo que o primeiro tenta reproduzir o BeOS com código aberto e o
segundo quer usar o kernel do Linux e implementar compatibilidade com os programas do BeOS.
9
4. Referências
Dados Técnicos sobre o BeOS:
www.beatjapan.org/mirror/
www.be.com/products/beos/beos_datasheet.html
BeOS Specifications:
WWW.beatjapan.org/mirror/
www.be.com/products/beos/beos_specifications.html
BeDepot.com – Your on line superstore for BeOS products:
www.bedepot.com
Be Bits – Welcome: www.bebits.com
Grupo Brasileiro de Usuários de BeOS: www.bug-br.org.b r
Sistemas operacionais Alternativos: www.thebox.org.b r
Site sobre Hardware no BeOS: www.frizbe.net
Tanenba um, Andrew S. (1992) “Sistemas Operacionais modernos”,
LTC, Livros Técnicos e Científicos Editora S.A., 1992
Tanenba um, Andrew S. (1988) Organização Estruturada de
10
Download