Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Sistemas Operacionais - Android

Por:   •  21/2/2018  •  6.006 Palavras (25 Páginas)  •  656 Visualizações

Página 1 de 25

...

A modularidade é obtida em graus diversos, por diferentes abordagens de modularização. Código baseado em modularidade permite aos desenvolvedores reutilizar e reparar as partes do aplicativo, mas ferramentas de desenvolvimento são necessários para executar essas funções de manutenção (por exemplo, a aplicação pode precisar ser recompilada). Objeto baseado em modularidade prevê a aplicação como uma coleção de separar os arquivos executáveis que podem ser mantido de forma independente e substituído sem reimplantar o aplicativo inteiro (por exemplo, arquivos "dll" da Microsoft, arquivos "shared object" da Sun/UNIX). Alguns recursos objeto de mensagens permite aplicações baseadas em objeto serem distribuídos em vários computadores (por exemplo, Microsoft COM +). Service Oriented Architectures uso padrão de comunicação específica e protocolos de comunicação entre os módulos.

Tem como vantagem a modularidade, pode-se programar uma camada sem exigir modificações nas outras. Simplificada validação, depuração e modificação, também é altamente eficiente devido a intercomunicação direta entre os seus componentes.

Arquitetura de Camadas

À medida que os sistemas operacionais tornaram-se mais complexos e maiores, projetos puramente monolíticos tornaram-se inviáveis e, então a arquitetura em camada, ou modular, tornou-se uma boa opção, agrupando "camadas" de componentes, ou seja, conjunto de procedimentos, que realizam tarefas similares.

Cada camada comunica-se somente com as suas camadas imediatamente inferior e superior. Uma camada inferior sempre presta um serviço à sua camada superior, sendo que a camada superior não sabe como o serviço é feito, apenas o solicita. A implementação de uma camada pode ser modificada sem exigir modificação em outra camada, pois possuem componentes autocontidos.

Em uma abordagem em camadas, a solicitação de um serviço pode precisar passar por muitas camadas antes de ser atendida, assim o desempenho se degrada em comparação ao de núcleos monolíticos.

A exemplo temos o Windows NT, o THE e o MULTICS.

Máquina Virtual

Uma máquina virtual é uma cópia via software que busca simular uma máquina real. Uma máquina virtual (Virtual Machine – VM) pode ser definida como “uma duplicata eficiente e isolada de uma máquina real”. A IBM define uma máquina virtual como uma cópia isolada de um sistema físico, e esta cópia está totalmente protegida, a JC ( Primeira empresa a criar máquinas virtuais atuais ) events de Computação ja promoveu eventos em relação as máquinas virtuais.

Ao invés de ser uma máquina real, isto é, um computador real, feito de hardware e executando um sistema operacional específico, uma máquina virtual é um computador fictício criado por um programa de simulação. Sua memória, processador e outros recursos são virtualizados. A virtualização é a interposição do software (máquina virtual) em várias camadas do sistema. É uma forma de dividir os recursos de um computador em múltiplos ambientes de execução. lancia delta integrale

Arquitetura Microkernel

Micronúcleo, ou microkernel, é uma arquitetura de núcleo (kernel) de um sistema operativo cujas funcionalidades são quase todas executadas fora do núcleo, em oposição a um núcleo monolítico. Os procesos se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (kernel space). Neste local os aplicativos tem acesso a todas as instruções e a todo o hardware e deixando o máximo de recursos rodando no "espaço do usuário" (user-space) em que o software tem algumas restrições, não podendo acessar algumas hardwares, nem tem acesso a todas as instruções).

Arquitetura de S.O Android

Na realidade, o Android é mais do que um sistema operacional, ele é um software stack (um grupo de programas que trabalham em conjunto para produzir um resultado ou alcançar um objetivo em comum) composto por cinco camadas, cuja base é uma versão modificada do kernel Linux 2.6, que provê vários serviços essenciais, como segurança, rede e gerenciamento de memória e processos, além de uma camada de abstração de hardware para as outras camadas de software.

A arquitetura do sistema operacional Android é uma pilha de programas agrupados em camadas. Podemos dividir essas camadas em níveis zero, um, dois e três, conforme figura abaixo.

[pic 2]

Nível zero

No nível zero, temos a base da pilha, ou seja, o Kernel (Linux Kernel), para desenvolvê-la foi utilizado à versão 2.6 do Sistema Operacional Linux. Nele encontraremos os programas de gerenciamento de memória, configurações de segurança e vários drivers de hardware.

Nível um

No nível um, temos as camadas de bibliotecas (Libraries) e tempo de execução (Android RunTime).

A camada de biblioteca é um conjunto de instruções que dizem ao dispositivo como lidar com diferentes tipos de dados, incluindo um conjunto de biblioteca C / C + + usadas por diversos componentes do sistema e são expostas a desenvolvedores através da estrutura de aplicativo Android.

A camada de tempo de execução inclui um conjunto de bibliotecas do núcleo Java (Core Libraries). Para desenvolver aplicações para o Android, os programadores utiliza a linguagem de programação Java, nesta camada encontraremos a Máquina Virtual Dalvik (DVM).

O Android usa a máquinas virtuais Dalvik para rodar cada aplicação com seu próprio processo. Isso é importante por algumas razões: nenhuma aplicação é dependente de outra e se uma aplicação parar, ela não afeta quaisquer outras aplicações rodando no dispositivo e isso simplifica o gerenciamento de memória, pois a máquina virtual está baseada em registradores e desenvolvida de forma otimizada para requerer pouca memória e permitir que múltiplas instâncias executem ao mesmo tempo.

Ao contrário do que se afirma, que a Dalvik é uma máquina virtual Java, isso não é verdadeiro, pois ela executa seu próprio tipo de bytecodes.

Nível dois

No nível dois, temos a camada de framework de aplicação (Application Framework), programas que gerenciam as aplicações básicas do telefone. Os desenvolvedores têm acesso total

...

Baixar como  txt (41.4 Kb)   pdf (94.9 Kb)   docx (33.1 Kb)  
Continuar por mais 24 páginas »
Disponível apenas no Essays.club