Olá usuário , seja muito bem vindo ao nosso fórum !

Se esta visitando nosso fórum e de alguma forma nós te ajudamos com algum tutorial, download, espero que colabore com a gente se registrado no fórum que não leva mais que 1 minuto.

Outras formas de colaborar com o nosso fórum:

-> Se logando apos o registro.
-> Entrando diariamente.
-> Postando novos conteúdos no fórum como tutoriais, downloads, piadas, memes, notícias, vídeos, etc..
-> Leia nossas regras e participe de nossas promoções.

Até mais , aguardo seu registro e sua colaboração com o fórum.
Olá usuário , seja muito bem vindo ao nosso fórum !

Se esta visitando nosso fórum e de alguma forma nós te ajudamos com algum tutorial, download, espero que colabore com a gente se registrado no fórum que não leva mais que 1 minuto.

Outras formas de colaborar com o nosso fórum:

-> Se logando apos o registro.
-> Entrando diariamente.
-> Postando novos conteúdos no fórum como tutoriais, downloads, piadas, memes, notícias, vídeos, etc..
-> Leia nossas regras e participe de nossas promoções.

Até mais , aguardo seu registro e sua colaboração com o fórum.

Você não está conectado. Conecte-se ou registre-se

Sistema Operacional Symbian OS. Parte 3/4

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

!skipper

!skipper
RBFounder

RBFounder

9. Gerência de Memória

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

A memória RAM é utilizada durante na execução das aplicações, é nela que os programas e o sistema operacional alocam memória durante e execução dos processos e fluxos de execução, geralmente os dispositivos móveis possuem uma quantidade muito pequena de memória RAM.
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. A memória ROM é exclusiva do sistema, o usuário não pode manipular nem escrever dados nesta memória.

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 é os comuns nos SO?s da Microsoft, FAT (File Allocation Table) e o LFFS (Logging Fast File System).

Os cartões de memória funcionam como discos de armazenamento, só que removíveis, desta maneira é possível alterar a capacidade de armazenamento de um dispositivo.

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. Quanto a alocação de memória, ela tem uma implementação simples, baseada em Heap. Heap é 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. Ele faz, entretanto, o uso de outros mecanismos para gerenciar sua memória, incluindo os MMU?s.

Assim como a maioria do sistema, 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. Devido as limitações de tamanho de memória, não é viável para o Symbian OS dedicar 1MB para a tabela de página, pois a pesquisa e acesso a uma tabela de página muito grande, iria provocar uma enorme sobrecarga ao sistema.

Para resolver este problema, o Symbian OS adotou uma tabela de páginas de dois níveis, conforme demonstrado na figura 3. O primeiro nível, page directory, que é indexado pelos primeiros bits do endereço lógico, fornece uma ligação para o segundo nível, que é um conjunto de tabelas de página. 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 3: 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. Tendo em vista que o endereçamento do Symbian OS poderá atingir os 4 GB, apesar de ser improvável que um Smartphone tenha tal quantidade de memória, tal situação causaria uma "exceção não tratada", fazendo com que a aplicação fosse encerrada.

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. Não é possível substituir partes de memória usadas como páginas de uma futura aplicação, mesmo que as partes pertençam a uma aplicação que já não esteja executando. Isto acontece porque não existe swapping no Symbian OS, logo não existe um local para onde possam ser copiadas estas páginas.

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 [Jipping, Michael j. (2007)].


10. Gerência de Processador

Os celulares têm sua arquitetura de hardware baseada em microprocessadores assíncronos ARM (Advanced RISC Machine) de 32 bits. As características principais destes microprocessadores são o tamanho reduzido e o baixo consumo de energia, o que corresponde com os requisitos do Symbian OS. O alto desempenho exigido pelo Symbian OS v9.3 é relativo, entre 100 e 200 MHz, quando comparado com os CPU?s dos desktops que chegam a 3GHz. As versões mais recentes, baseadas no EKA2, do Symbian OS são projetados para microprocessador ARM modelo v5T. Um processo em Symbian OS é um executável que tem o seu próprio espaço de memória, uma pilha e um cabeçalho. O Symbian OS, suporta também, múltiplos processos e múltiplos fluxos de execução, todo o processo tem um nome associado ao mesmo, e por padrão é utilizado o nome do arquivo .exe em questão.

A partir da oitava versão do sistema que utiliza o EKA2, o Symbian OS inova o tratamento de multi-programação. Para tratar os processos e fluxos de execução utiliza escalonadores tradicionais, que são controlados pelo nanokernel, alguns processos são considerados de alta prioridade, como o controle das chamadas telefônicas, aplicações de vídeo e música, animações e outras aplicações que usam protocolos de comunicação. A gerência desses processos é implementada com um FIFO (First in, First out), onde os primeiros processos têm a prioridade mais alta da fila. O escalonamento dos fluxos de execução segue uma linha híbrida, onde para cada tipo de processo ou fluxo de execução, o sistema implementa um método para gerenciar os seus recursos. Os múltiplos fluxos de execução são tratados com um escalonador Roud-Robin com prioridades (64 níveis). O nanokernel implementa, internamente, algoritmos escalonadores Round-Robin com prioridades, limite de tempo de execução e semáforos.

A prioridade entre os processos é tratada pelo kernel, seguindo a prioridade dada a cada processo, seja pelo próprio sistema, seja pelo utilizador, ou seja pelo programador. O processo chega ao estado final quando termina a sua execução normal ou num processo de kill (quando é enviado sinais a determinados processo em execução). Também pode ser encerrado por um outro motivo indicado pelo sistema operacional. Neste caso, o processo pode ser interrompido e finalizado de duas formas chamadas de kill itself, quando ele encerra a sua execução ou quando ele é encerrado pro meio de outro processo. Os processos nesse sistema operacional são tratados internamente no núcleo, ou num nível mais baixo, no nanokernel. Este último, implementa alguns escalonadores tradicionais como o FIFO, Round-Robin e semáfores para controlar a fila de processos e fluxos de execução[Jipping, Michael j. (2007)].

http://www.thunderzone.co.cc

BOT

BOT
RBFounder

RBFounder

Para evitar Necro-Post estamos fechando todos os tópicos com mais de 1 mês de inatividade.
Os tutoriais e downloads estão sendo fechados, mas continuarão disponíveis no fórum.

Algum tutorial fail? Ou um link quebrado?
Mande-me Mensagem Privada com o link do tópico e o problema.

Obrigado e Tópico Closed.

https://twitter.com/

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos