Sei sulla pagina 1di 15

SYMBIAN OS

SO PAULO
2014
1

Sumrio
1. Introduo................................................................................................................3
2.

Desenvolvimento......................................................................................................4
2.1.

Processos e Threads..........................................................................................4

2.2.

Deadlocks...........................................................................................................5

2.3.

Kernel.................................................................................................................6

2.4.

Entrada e Sada (I/O).......................................................................................8

2.5.

Sistemas de Arquivos......................................................................................11

2.6.

Gerenciamento de Memria...........................................................................12

3.

Concluso...............................................................................................................13

4.

Referncias Bibliogrficas....................................................................................14

1. Introduo
O Sistema Operacional Symbian, muito popular em aparelhos mveis Nokia, apresenta
uma arquitetura multitarefa robusta de 32 bits. Suas linguagens de programao so C e
Java.
A histria do Symbian comea em 1984 com uma empresa inglesa de nome Psion, que
produzia o Psion Series 5, um computador de mo com processamento modesto, mas
que portava um excelente sistema operacional prprio que fazia bom uso da memria e
proporcionava um incrvel desempenho, o EPOC 32. Movido a duas pilhas AA que
duravam at 30 horas, o dispositivo possua uma bateria de Backup para preservar os
dados durante a troca e cartes Compact Flash de at 128 MB para expandir a memria.
O EPOC 32 possui aplicativos instalados como processadores de texto, planilhas;
gerenciadores de contatos, agenda, calculadora e claro, leitor de e-mails e navegador
(caso possusse um modem serial).
Os lanamentos seguintes da marca Psion no obtiveram o sucesso esperado, fazendo
com que a empresa parasse de produzir aparelhos em 2000. Entretanto, o EPOC
sobreviveu, originando assim o Symbian OS. Em 2008, a Nokia (que possua 48% das
aes) comprou o sistema, incluindo os seus direitos.
Os cinco pontos chaves do Symbian OS so: pequenos dispositivos mveis, o mercado
de massa, conexo wireless ocasional, variedade de produtos e plataforma aberta para
desenvolvimento de terceiros. A famlia Symbian se divide em duas plataformas
principais: S60 (encontrada em celulares LG e Samsung) e UIQ (Sony-Ericsson e
Motorola). Existem ainda outras verses, como S40, que anterior ao S60,
acompanhando geralmente celulares com hardwares menos robustos; MOAP (Mobile
Oriented Applications Platform), exclusivo para os japoneses, contando com uma
interface fechada que no permite o desenvolvimento de softwares de terceiros; dentre
outros.
As quatro plataformas citadas so, na realidade, interfaces que rodam a partir do
Symbian, que o sistema operacional. S40, S60 e UIQ so interfaces parcialmente
compatveis.
Atualmente a Nokia foi comprada pela Microsoft em uma tentativa de conter os
concorrentes, o que implicar no fim da plataforma Symbian dentro dos prximos anos.

2. Desenvolvimento
2.1. Processos e Threads
Para o Symbian os processos so conjuntos de threads agrupados em uma nica
estrutura de controle de blocos de processos, com um nico espao de memria. A
princpio temos uma thread principal marcada como o ponto de partida do processo,
vale ressaltar tambm que as threads compartilham parmetros de escalonamento, ou
seja, se ocorrer alguma mudana em relao ao mtodo de escalonamento, todos os
parmetros, referentes as threads, vo mudar. As threads compartilham, tambm, objetos
de espao de memria, ou seja, dispositivos e outros descritores de objetos. Ento, por
fim, quando um processo finalizado, o ncleo elimina todas as threads no processo.
Abaixo temos um circulo de vida de uma thread para melhor compreenso.

Imagem 1 Circulo de vida de uma thread, incluindo seu estado.

2.1.2

Objetos ativos

Os objetos ativos so threads especializadas que so implementadas visando


aliviar a carga que elas impem sobre o ambiente operacional. A princpio difcil ver a
utilidade de algo assim, mas eles so muito interessantes, vamos considerar o
escalonamento. Enquanto eles esperam por eventos, todos esses objetos ativos ficam em
um nico processo e podem atuar como uma thread para o sistema. Qual o resultado
disso? Uma quantidade menor de verificaes de threads e um desempenho mais rpido,
o que crucial em sistemas para smartphones.
2.1.3 Comunicao
Em um ambiente com vrias threads, a comunicao entre processos , no
mnimo, fundamental. Um soquete, um pipeline de comunicao abstrata entre dois
pontos, o modelo mais bsico usado pelo Symbian. Ele usa semforos amplamente, o
que proporciona a sincronizao de processos e threads.

2.2.

Deadlocks

O Symbian se trata de um sistema multitarefa preemptivo. Com isso, podemos inferir


que, por ser preemptivo, o tratamento de deadlocks realizado com o uso de
escalonamento, ou seja, cada processo possui um espao de memria reservado para ele,
impossibilitando a execuo de um novo processo no lugar de outro. Alm disso, cada
processo recebe tambm uma prioridade do sistema. Nisto, o sistema que decide de o
processo ser executado ou no.
Isto pode ser reforado pela utilizao de Active Objects, ou objetos ativos, pelo
sistema. Os objetos ativos podem ser utilizados para gerar o processamento cooperativo,
que simula a existncia de vrias threads. Eles funcionam da seguinte maneira: um
thread qualquer possui um escalonador ativo. Este escalonador, ento, fica espera de
novos eventos. Quando ocorre um evento, invocado o objeto ativo que precisava deste
evento. Quando este evento tratado, o escalonador volta a esperar pela ocorrncia de
outros eventos a serem tratados. O problema que, uma vez que os objetos ativos so
tratados ao mesmo tempo, cooperando uns com os outros, ainda h o risco de uma tarefa
bloquear todo o processo, ou seja, ocorre um deadlock. Assim, deve se tomar cuidado
neste aspecto.
Mesmo assim, os deadlocks podem ocorrer, mesmo que raramente, mas o sistema traz
algumas formas de minimizar a ocorrncia deles, citadas acima.

2.3.

Kernel

O kernel do Symbian baseado no mesmo kernel do S.O. do Psion Series 5. O EKA1


(EPOC Kernel1), como era chamado, representa toda a base do sistema, possuindo
recursos importantes como a proteo de memria e a multiprogramao preempitva.
Era um microkernel, pois trata-se de um kernel voltado a dispositivos com hardware
mais modesto, o que o caso dos smartphones equipados com Symbian. Este kernel foi
usado at a verso 7.0 do Symbian OS.
Entretanto, ele trazia alguns problemas: a comunicao entre os objetos era lenta,
afetando o desempenho do sistema, pois esta comunicao era feita atravs da troca de
mensagens. Assim, na verso 8.0, surgiu o kernel EKA2, que pretendia corrigir as falhas
trazidas na verso anterior, trazendo 3 principais inovaes:
1. Suporte do sistema de tempo real: essa funcionalidade permite que os
processos que exigem a prioridade em tempo real tenham um tempo limite
maior.
2. Mltiplos fluxos de execuo: o kernel agora faz a gesto dos mltiplos fluxos
de execuo, junto com a dos mltiplos processos.
3. Nanokernel: o nanokernel simplifica a superviso dos fluxos de execuo e
excluses mtuas. Porm, ele no aceita a alocao de memria dinmica.
Mesmo assim, ele capaz de trazer um desempenho melhor em relao ao
microkernel, pois ele traz apenas as funes bsicas do sistema dentro dele,
deixando outras funes mais sofisticadas para um segundo nvel do ncleo do
sistema.

Imagem 2 Camadas do Kernel do Symbian

Este kernel tambm traz um recurso importante, os chamados Dinamic Link Libraries,
tambm chamados de DLLs. As DLLs so bibliotecas acopladas a memria do sistema,
trazendo funes bsicas para as aplicaes. O Symbian traz mais de 100 DLL's em um
smartphone comum. Para se ter uma ideia da importncia delas, na verso 9 do sistema,
a interface grfica formada totalmente por DLLs. Existem dois tipos de DLLs: as
estticas (funes mais simples do sistema) e as polimrficas (so como plug-in's para
os aplicativos).
7

O kernel do Symbian OS foi construdo pensando-se em 2 aspectos importantes que um


smartphone deve ter: a possibilidade se executar vrios servios ao mesmo tempo e,
simultaneamente, disponibilizar um ambiente similar a um Desktop comum. Por conta
disso, ele possui uma estrutura mais complexo do que os sistemas convencionais.
A nvel de administrador, a estrutura do Kernel possui os seguintes componentes:

PDD (Physical Device Driver): responsvel pela comunicao direta com o


hardware do aparelho;
LDD (Logical Device Driver): trata da interface de com os nveis superiores do
software. Os drivers de dispositivos encontrados no sistema so formados pelo
LDD e tambm pelo PDD.
ASSP (Application Specific Standard Product): pode realizar a comunicao
direta com o processador do dispositivo, podendo fazer diversas funes, como
o controle do acesso direto memria, a realizao de interrupes, a gesto de
energia do aparelho, etc.
RTOS (Real Time OS): basicamente, atravs de uma ligao direta com o
hardware, ele implementa as funcionalidades que possibilitam que um aparelho
possa realizar operaes telefnicas, ou seja, implementa as funes de GSM no
celular.
Memory Model: este modelo diz como a memria organizada e como o S.O.
poder funcionar com ela.
Nanokernel: executa as partes mais bsicas do sistema.
Symbian OS Kernel: implementa os diversos Memory Model (modelos de
memria) do sistema.

A nvel de usurio, a estrutura do Kernel possui os seguintes componentes:

Microkernel Servers: componente responsvel por realizar a requisies das


operaes para rodar em modo Kernel, ou seja, em nvel de administrador.
HAL: o Hardware Abstraction Layer, como j diz o nome, camada de
abstrao do hardware. Ele oferece o suporte a diversos recursos de multimdia
ao dispositivo, como o udio, vdeo, tecnologias de acelerao de
reconhecimento de voz, entre outros.

Os outros componentes executados a nvel de usurio so bibliotecas do sistema e


threads a nvel de usurio (User Thread).

2.4.

Entrada e Sada (I/O)

A estrutura de entrada/sada do Symbian bastante semelhante a de outros sistemas


operacionais comuns. Essa estrutura tem como principais caractersticas, as seguintes:

Drivers de Dispositivos: como na maioria dos S.O., os drivers permitem o


acesso do software ao hardware. O driver executado em modo Kernel, para
que seja possvel que ele permita a utilizao de recursos protegidos pelo
sistema por um cdigo do nivel de usurio requisitante. Um driver em Symbian
dividido em 2 setores:
o LDD: O Logical Device Driver trata-se de um driver de dispositivo
lgico, o qual realiza a interao com as camadas mais altas do software.
Ele pode ser utilizado para um conjunto especfico de dispositivos, ou
seja, pode ser usado o mesmo driver de dispositivo lgico para um
conjunto de aparelhos semelhantes.
o PDD: O Physical Device Driver trata-se de um driver de dispositivo
fsica, responsvel pela comunicao direta com o hardware do
dispositivo. Diferentemente do LDD, ele deve sempre mudar de acordo o
dispositivo, ou seja, ele no poder ser usado para um conjunto de
aparelhos semelhantes.
Assim, podemos inferir que 2 dispositivos semelhantes podem ter o mesmo
LDD, porm, possuiro PDDs diferentes.
O Symbian oferece uma facilidade de implementao de novas funes ao
sistema. Assim, se o sistema no apresentar LDD's e PDD's, possvel adicionlos atrves de aplicaes de usurio, sendo que a necessidade de implementao
dos mesmos detectada pelo sistema.

Extenses de kernel: so casos diferenciados de drivers de dispositivos. Isso se


deve ao fato de que eles so carregados na inicializao do sistema. Portanto,
eles so tratados de forma diferente do sistema em relao aos drivers
convencionais do Symbian. So especialmente direcionados a alguns
dispositivos. A maioria destas extenses adicionada ao sistema como LDDs,
trazendo junto com eles os PDDs, e podem ser executados conforme as
aplicaes do usurio solicitarem.
De forma geral, as extenses so montadas no momento em que o sistema
inicializado, para s depois que o escalonador do sistema esteja ativo, serem
carregadas e iniciadas, prontas para serem utilizadas. Elas podem trazer diversas
funes bastante importantes, como, por exemplo, o gerenciamento de monitor,
o DMA, o controle dos perifricos do dispositivo (como a entrada USB,
encontrado em muitos aparelhos Symbian), entre outros.
Geralmente, as extenses so usadas principalmente para que as funes que
trazem consigo no precisem que o kernel seja recompilado para poderem serem
9

montadas e executadas. Por exemplo, quando so necessrios drivers para


dispositivos especficos, que, geralmente, no so encontrados dentro do kernel.
Outro motivo, que, por conta do Symbian ser um sistema orientado a objetos,
estas funes representam bem a abstrao, que uma caracterstica encontrada
em sistemas orientados a objetos.

DMA (Direct Memory Access): a possibilidade de se ter o acesso direto a


memria do sistema por um dispositivo. um recurso bastante utilizado pelos
drivers de dispositivos, de forma geral. No Symbian, suportado o uso de
hardware de DMA, que nada mais do que um controlador de canais de DMA,
sendo que cada canal oferece um meio de comunicao entre o dispositivo e a
memria (o que evidencia o conceito de DMA) unidirecional, ou seja, em apenas
uma direo. Ou seja, se for preciso que ocorra uma comunicao em duas
direes (bidirecional), preciso ter 2 canais pra que isso seja possvel. Um
exemplo disso que para um controlador LCD de tela em um sistema, Symbian
realizar o DMA, so necessrios 2 canais de DMA, pois necessria uma
comunicao bidirecional. Podem tambm existir canais DMA de uso geral no
sistema.
Esta comunicao ocorre da seguinte maneira: no momento em que os dados de
uma aplicao so transferidos para a memria do sistema, uma interrupo
disparada. Em seguida, o hardware do DMA oferece este servio de DMA ao
PDD, que usado no dispositivo transmissor (responsvel por criar a interface
com o hardware). Nisso, so criadas duas camadas de software, entre o PDD e
controlador de DMA: uma extenso do kernel que faz a interface com o
hardware de DMA e a camada de DMA de software. Esta ltima camada
tambm se divide em 2 outras camadas: a camada de DMA dependente da
plataforma e a camada de DMA independente da plataforma.
A camada de DMA, por se tratar de um driver bastante importante, um dos
primeiros a serem iniciados no sistema.
Infelizmente, o suporte ao DMA no Symbian dificultoso, por que este sistema
suporta diversas configuraes de hardware diferentes, e o DMA no possui uma
configurao unificada para todos os tipos de hardware. Pensando desse modo, o
Symbian traz uma forma de burlar esta dificuldade.
Cada fabricante traz as extenses de kernel e a camada dependente de
plataforma nica para o seu dispositivo, sendo que a interface com o hardware
do DMA acoplada a camada independentemente da plataforma. O diferencial
aqui que o hardware de DMA tratado como se fosse um dispositivo comum,
que traz consigo um driver de disposto convencional, trazendo o seu LDD e o
seu PDD. Isto vai de acordo com a forma como o Symbian abrangente no
quesito de suporte a diversos dispositivos diferentes.

Existem tambm casos especiais, que tambm so tratados pelo Symbian:

10

Mdia de armazenamento: o sistema Symbian oferece suporte a dispositivos de


armazenamento fixos e removveis, podendo dar suporte a at 26 unidades
distintos ao mesmo tempo, apenas diferenciando-as por letras, de forma
semelhante a sistemas Windows. Isso deve a um tipo especial de driver,
chamado driver de mdia, que nada mais do que um PDD que usado apenas
pelo servidor de arquivos, o qual possibilita o acesso dos dispositivos das mdias
de armazenamento. Estes ltimos devem suportar uma grande gama de forma de
armazenamento. Por padro, o Symbian, para poder suportar este tipo de mdia,
inclui um LDD-padro e uma interface API para usurios.

Bloqueio de E/S: o sistema Symbian utiliza os objetos ativos como um meio de


bloquear a entrada/sada de dados. Isso se deve ao fato de que objetos ativos,
diferentemente das threads comuns, so coordenados por um nico escalonador
e implementados dentro de apenas um thread, sendo que as suas chamadas
bloqueantes so tratadas pelo sistema operacional. Levando isso em conta, se
ocorrer uma chamada bloqueante de E/S, este objeto ativo ir avisar o sistema e
ir se suspender. Ao trmino da chamada, o processo suspenso acordado e
continua a ser executado.
Na verdade, os objetos ativos possuem uma perspectiva diferente: eles chamam
uma funo especial que dever ser retorna imediatamente. Ou seja, chamando
uma funo para o bloqueio de E/S, o bloqueio imediato, enquanto isso, o S.O.
continuar esperando o trmino da chamada bloqueante.

Mdia removvel: este requisito bastante difcil de se tratar em um S.O., pois,


ao ser inserido no aparelho, ele tratado com um dispositivo comum. Ento, o
Symbian levou em conta uma srie de similaridades entres as mdias removveis
em seu projeto: eles podem ser inseridos e removidos; podem ser removidos
mesmo quando estiverem em uso; cada uma pode reportar as suas capacidades;
os cartes incompatveis com o sistema devem ser rejeitados e que cada carto
precisa de energia.
Pensando nisso, o Symbian traz em seu interior controladores de software que
gerenciam cada um destes dispositivos removveis que so suportados pelo
sistema. Estes controladores trabalham com drivers especficos para cada tipo de
carto, isso tambm a nvel de software. Quando um carto inserido no
aparelho, criado um objeto soquete que passa a se comportar como um canal
por onde os dados navegam. Quando ocorre alguma mudana de estado, o
Symbian retorna uma srie de eventos que s so iniciados com esta mudana.
Para isso, estes drivers so configurados como objetos ativos, para pode
trabalhar com esses eventos.

11

2.5.

Sistemas de Arquivos

O Sistema Operacional Symbian suporta dois sistemas de arquivo: FAT32 (File


Allocation Table - Tabela de Alocao de Arquivos), que compatvel com o Windows
e funciona a partir de uma tabela que indica a localizao dos dados de cada arquivo (o
32 faz referncia ao endereamento em 32 bits); e o LFFS (Logging Fast File System).
O Symbian OS permite ainda implementaes de Sistemas de Arquivos atravs de uma
interface no estilo plug-in, alm de suportar FAT16, NTFS e outros formatos de carto
de memria.
Utiliza-se o Flash Disk como um disco rgido para a manipulao e escrita de dados,
que pode ser realizada tanto sistema de arquivos quanto pelo utilizador do Sistema
Operacional.
O Symbian possui para o Sistema de Gestor de Pacotes (Package management system)
os formatos .sis e .sisx. Enquanto os arquivos de formato .sis fazem referncia as
verses antigas do sistema operacional (anteriores ao Symbian 8.1), os arquivos com
terminao .sisx funcionam em sistemas operacionais Symbian de Terceira Gerao
(Symbian S60 3rd Edition) que comeam a partir da verso 9.1.
Arquivos do formato .sis ainda podem funcionar em verses mais recentes do
Symbian, embora o seu funcionamento no seja totalmente garantido.

12

2.6.

Gerenciamento de Memria

Como sabemos, o armazenamento nos smartphones limitado, o modelo de


memria restrito e no usa um esquema de memria virtual ou de espao de troca de
gerenciamento, ou seja, tem suas limitaes. Porm, o fato de no possuir memria
virtual no quer significa a ausncia de gerenciamento de memria, essa ausncia
significa apenas que as pginas no podem ser trocadas nas memrias enviadas para
armazenamento externo, porm, as pginas no so substitudas, mas as que esto sendo
trocadas so apenas descartadas. O gerenciamento de memria flash consiste nas
seguintes tarefas:
1. Gerenciamento do tamanho de aplicaes:
O tamanho de uma aplicao tem um efeito decisivo em como a memria
usada.
2. Gerenciamento do heap:
O heap, espao para alocao dinmica de memria, possui tamanho limitado
nas plataformas desse tipo, e deve ser gerenciado com rigor.
3. Execuo local:
Aqui a memria mapeada no espao de endereamento virtual e os programas
so executados diretamente dela, sem que antes tenham que ser copiados para a
RAM, isso faz com que a aplicao inicie instantaneamente, e o melhor de tudo,
no ocupa a RAM, que costuma ser bem pequena em dispositivos mveis.
4. Carregar DLLs:
Pode no parecer, mas a escolha do momento que as DLLs so carregadas
podem influenciar no desempenho de um sistema. mais aceitvel carreg-las
enquanto a aplicao estiver iniciando, pois mais confortvel esperar para a
aplicao iniciar do que atrasos na execuo.
5. Transferncia do gerenciamento de memria para o hardware:
Se existe uma MMU (unidade de gerenciamento de memria, um dispositivo
de hardware que traduz endereos virtuais em fsicos) ela utilizada em sua
capacidade total.

13

3. Concluso
O Symbian, embora j esteja beira da morte, foi um sistema operacional eficiente e de
custo popular. Com o passar do tempo, passou a ser substitudo por outros sistemas
mveis que possuam um maior nmero de aplicativos, embora nem mesmo o Android
tenha conseguido repetir o seu excelente projeto de baixo consumo de energia.

14

4. Referncias Bibliogrficas

TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3. ed. So Paulo:


Pearson, 2010.

http://www.oficinadanet.com.br/artigo/outros_sistemas/sistema_operacional_sy
mbian_os

http://www.allaboutsymbian.com/

http://www.hardware.com.br/dicas/celulares-nokia.html

15

Potrebbero piacerti anche