Gerência de Memória

10. Gerência de Memória

Uma plataforma operada pelo Symbian OS oferece os seguintes tipos de memória: RAM(Randon Acess Memory), ROM (Read Only Memory), Flash Disk interno e cartãos de memória.

A memória RAM é utilizada durante a execução de aplicações.

Parte do sistema operacional Symbian OS fica armazenado na memória ROM, assim como código de boot, drivers e código específico do hardware.

O Flash Disk representa memórias adicionais que pode funcionar como um disco rígido para leitura e escrita de dados, que pode ser feita pelo utilizador ou pelo sistema de arquivos do sistema operacional. O sistema de arquivos suportado é o FAT (File Allocation Table) e o LFFS (Logging Fast File System).

 

10.1. Alocação de Memória
O kernel do Symbian OS é responsável por alocar a memória física e gerir os recursos físicos da memória RAM, MMU (Memory Management Unit) e caches. A alocação de memória, tem uma implementação simples, baseada em Heap, que é uma estrutura de dados organizada como árvore binária, seguindo algumas regras.

O Symbian OS é exemplo de sistema que não usa memória virtual (Swap) para o seu gerenciamento de memória.

O Symbian OS divide a memória em páginas lógicas e molduras físicas. O tamanho usual para as molduras é de 4KB. Visto que o tamanho da memória poderá atingir os 4GB ( pois se trata de sistema 32-bit) e tendo em conta o tamanho das molduras de pagina, facilmente se percebe que se irá obter uma tabela de página com mais de um milhão de entradas. Possui uma tabela de páginas de dois níveis, o Page directory, que é indexado pelos primeiros bits do endereço lógico e fornece uma ligação para o segundo nível, que é o conjunto de tabelas de páginas

Estas tabelas, fornecem uma ligação para uma página específica na memória e são indexados pelos 8 bits do meio do endereço lógico e a página em memória é indexada pelo últimos 12 bits do endereço lógico.

A tradução dos endereços lógicos em endereços físicos é feita por hardware através da MMU e TLB (Translation Lookaside Buffer) presentes na arquitetura do processador ARM.

Figura 4. Tabela de página multi-nivel.

Quando uma página não está presente na memória, ocorre um erro, pois todas as páginas pertencentes a uma aplicação devem ser carregadas no momento em que é iniciada a aplicação.

Partes de memória são atribuídas a página através de uma lista de partes livres. Se não existirem partes disponíveis, então ocorre um erro. Isto acontece porque não existe swapping no Symbian OS.

Há quatro versões diferentes do modelo de implementação de memória no Symbian OS, cada modelo foi projetado para certos tipos de configurações de hardware.

Monving Model: Foi concebido para as arquiteruras mais recentes do ARM, neste modelo a page directory tem 4 KB, e cada entrada possui 4 bytes, o que da um diretório de 16 KB. Embora a segmentação não seja explicitamente utilizada, existe uma organização para o layout da memória. Existe uma parte para guardar os dados pertencentes ao utilizados, e uma parte para guardar os dados relativamente ao Kernel.

Multiple Model: Modelo concebido para a versão 6 da arquitetura ARM. A MMU, nesta versão, difere da utilizada nas versões anteriores. Por exemplo, a page directory, requer um manuseamento diferente uma vez que pode ser seccionada em duas partes, cada um referenciando diferentes conjuntos de tabelas de pagina, user-page tables e kernel-page tables.

Direct Model:  Este modelo assume que não existe uma MMU. É um modelo raramente utilizado uma vez que a falta de MMU poderia causar graves problemas de performance. Este modelo é útil para ambientes de desenvolvimento em que por alguma razão seja útil ter a MMU desativada.

Emulator Model: Desenvolvido para suportar o emulador do Symbian OS no Microsoft Windows. Tal como seria de esperar, este modelo apresenta algumas restrições, o emulador roda como um único processo no Windows. O espaço de endereçamento esta limitado a 2 GB (ao invés dos 4GB). Toda a memória disponibilizada para o emulador é acessível por qualquer processo do Symbian OS. Não existe proteção de memória, as bibliotecas do Symbian OS são disponibilizadas como DLL’s do Windows, cabendo a este manusear a sua alocação e respectiva gestão de memória.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

%d blogueiros gostam disto: