1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas...

48
Sistema Operaciona l 1

Transcript of 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas...

Page 1: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

1

Sistema Operacional

Page 2: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

2

Facol Faculdade Escritor Osman da Costa Lins

Sistemas de Informação – 5º Período

Sistemas Operacionais – Hugo Souza

Alunos : Gleybson Farias Fabio Lopes

Page 3: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

3

Sumario

• Histórico ...........................................05

• Hierarquia/Arquitetura e Organização do Sistema ............................................10

• Processamento ..................................19

• Memoria ...........................................28

• Arquivos ...........................................33

• E/S ..................................................37

• Segurança.........................................40

• Benefícios, Limitações e conclusões da equipe sobre o S.O. ...........................44

Page 4: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

4

Introdução

Desde a sua criação, em 2005, o SO Android tem se expandido como Sistema Operacional dos Smartphones. São várias a versões oficiais lançadas, sendo a mais nova versão 4.2 (jellybean). Neste estudo, iremos falar sobre as características de funcionamento deste sistema, sobre as formas em que este sistema operacional utiliza para gerenciar memória, processos, segurança, e entre outros aspectos importantes, a gerência de energia, visto se tratar de dispositivos com armazenamento de energia limitado se comparado a computadores pessoais.

Page 5: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

5

Histórico

Page 6: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

6

Histórico

• Em agosto de 2005, a Google compra a Android.Inc, uma pequena empresa em Palo Alto, California, USA, que contava com Andy Rubin como Co-fundador, que era uma empresa que estava desenvolvendo um sistema operacional para celulares.

• Em 05 de novembro de 2007, é criada OHA - Open Handset Alliance, uma aliança liderada pela Google, que teve de início 35 empresas, entre elas fabricantes de celulares, operadoras telecomunicações, fabricantes de chips e desenvolvedores de software.

• A partir de então, foi anunciado o Sistema Operacional Android 1.0, e o codigo fonte liberado, sendo de Licença Apache 2.0.

Licença de software livre e código aberto, mas que permite que alterações feitas no código

fonte não sejam obrigatoriamente compartilhadas.

Page 7: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

7

Histórico – Primeiro Dispositivo com SO Android

• O primeiro dispositivo com o SO Android foi lançado em 22 de outubro de 2008, era o HTC G-1, T-Mobile, tinha um processador de 528MHz, 192MB de RAM, tela de 3,2 “ e 320 × 480 pixels, câmera de 3.2 mega pixels, teclado QWERTY completo de 5 linhas, trackball, Bluetooth 2.0, Wi-Fi 802.11 b/g, GPS, tinha 117,7 x 55,7 x 17,1 milímetros e pesava 158 gramas.

Page 8: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

8

Empresas componentes da OHA

Page 9: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

9

Versões do SO Android

Page 10: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

10

Hierarquia/Arquitetura e Organização do Sistema

Page 11: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

11

Hierarquia/Arquitetura e Organização do Sistema

•O Android é um sistema operacional baseado no kernel do Linux (não igual), tendo uma máquina virtual Java rodando sobre o kernel do Linux, dando suporte para o desenvolvimento de aplicações Java através de um conjunto de bibliotecas e serviços.

•A arquitetura do SO possui basicamente as seguintes camadas:

•Aplicação;•Framework de Aplicações;•Bibliotecas e serviços;•Android Runtime;•Kernel Linux.

Page 12: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

12

Page 13: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

13

Arquitetura e Organização do Sistema - Camadas

•Aplicações: A camada de aplicativos é a que está no topo da pirâmide da arquitetura do sistema operacional Android, composta pelo conjunto de aplicações nativas do mesmo, bem como aplicações que venham a ser instaladas. Dentre estes pode–se citar: cliente de e-mail, despertador, calendário, jogos, mapas, browser e internet, etc.

Page 14: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

14

Arquitetura e Organização do Sistema - Camadas

•Framework: A camada de framework nativo disponibiliza aos desenvolvedores as mesmas Applications Programming Interface (APIs) – Interface de Programação de Aplicativos utilizadas para a criação de aplicações originais do sistema operacional Android. Este framework permite que o programador tenha o mesmo acesso ao sistema que os aplicativos da camada de aplicativos possuem. Este framework foi criado para abstrair a complexidade e simplificar o reutilização de procedimentos. Essa camada funciona como um link com a camada de bibliotecas do sistema operacional que serão acessadas através de APIs contidas no framework.

Page 15: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

15

Arquitetura e Organização do Sistema - Camadas

•Bibliotecas e serviços: Essas bibliotecas são responsáveis por fornecer funcionalidades para manipular o áudio, vídeo, gráficos, banco de dados e browser. Algumas bibliotecas são a Bionic, a OpenGL/ES para trabalhar com interface gráfica, e a SQLite para trabalhar com banco de dados. Aqui também estão os serviços usados em camadas superiores, como máquina virtual Java Dalvik. (trataremos mais desse assunto mais a frente). A maior parte destas bibliotecas e serviços estão desenvolvidos em C e C++;

Page 16: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

16

Arquitetura e Organização do Sistema - Camadas

•O Android Runtime: Permite que cada thread rode sua própria instância da MV (máquina virtual). Embora no desenvolvimento de aplicativos seja utilizada a linguagem Java, as aplicações não são executadas em uma máquina virtual Java tradicional, e sim em outra chama de Dalvik. Essa máquina virtual é otimizada especialmente para dispositivos móveis. A plataforma Google Android permite o desenvolvimento de aplicativos na linguagem Java. Essa máquina virtual foi construída pelos engenheiros da Google, para obter um consumo mínimo de memória e isolamento de processos. Ela permite que as aplicações escritas em linguagem Java sejam executadas normalmente

Page 17: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

17

Dalvik Virtual Machine

As aplicacões da plataforma Android rodam em instâncias da maquina virtual Dalvik. Ela foi projetada para rodar em sistemas com baixa frequência de CPU, pouca memória RAM disponível e SO sem espaço de swap. Outra característica dessa máquina virtual e capacidade de serem rodadas diversas instâncias ao mesmo tempo, deixando a cargo do Sistema Operacional o gerenciamento de memória, isolamento de processos e suporte a threads.

A Dalvik não e uma maquina virtual Java, pois ela utiliza seu próprio bytecode, no formato .dex, ao inves do bytecode próprio do Java. O Android Software Development Kit contem uma ferramenta, chamada dx, que transforma arquivos .class de Java para o formato de bytecode da Dalvik. Isso permite que a plataforma venha a suportar outras linguagens assim que surgirem ferramentas para conversão para o formato .dex.

Na inicialização do sistema, é criado um processo para a máquina virtual denominado Zygote. A partir desse processo, outras máquinas são instanciadas com fork() quando necessárias para rodas outras aplicações. No Zygote, ficam as bibliotecas compartilhadas em modo somente leitura, e todos os processos de aplicações tem partes de sua memória mapeadas nesta região do Zygote.

Os processos do Android tem, além de suas pilhas, coletores de lixo separados. Eles devem ser independentes, porem devem também respeitar o compartilhamento.

Page 18: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

18

Arquitetura e Organização do Sistema - Camadas

Kernel: A camada do kernel é baseada no Kernel do sistema operacional Linux versão 2.6. Esta camada atua também como responsável pela abstração entre o hardware e os aplicativos e é responsável pelos serviços principais do sistema operacional Android, como o gerenciamento de memória e de processos. Várias funções do kernel são utilizadas diretamente pelo Android, mas muitas modificações foram feitas para otimizar memória e tempo de processamento das aplicações. Essas modificações incluem novos dispositivos de drivers, adições no sistema de gerenciamento de energia e um sistema que possibilita terminar processos de maneira criteriosa quando há pouca memória disponível. O Linux 2.6 foi escolhido por já conter uma grande quantidade de drivers de dispositivos sólidos e por ter um bom gerenciamento de memória e processos.

Page 19: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

19

Gerência de Processos

Page 20: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

20

Processamento

Processo de Boot - O kernel do Linux executa o processo “init”, que inicia as configurações básicas do sistema operacional Android e inicia outros processos e serviços, incluindo o zygote, que é responsável por inicializar a MV Dalvik e todos os processos e serviços Java.

Assim como no Linux, para se iniciar algum processo, é executada a chamada Fork().

O processo zygote carrega as classes Java do núcleo, e executa os passos iniciais de processamento. Essas classes Java podem ser reutilizadas por outros aplicativos do Android e, portanto, nesta etapa, acelera o processo de inicialização global. Após o processo de carregamento inicial, o zygote aguarda novas solicitações, ficando por enquanto, ocioso.

Page 21: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

21

Processamento

O processo de inicialização acessa o arquivos init.rc e init.device.rc (init.device.rc é específico do dispositivo.

É no “init.rc” que esta configurada boa parte do restante da inicialização do sistema, incluindo a execução dos serviços básicos do Android, dentre eles:• Console: Inicia o shell ash ;• ServiceManager: Inicia o binder (responsável pela comunicação entre os processos);• Vold: Volume daemon — controla a montagem de volumes de mídia no sistema de arquivos;• Adbd: Android debugger bridge daemon — servidor para comunicação com o cliente adb;• Media: Inicia os servidores multimídia (áudio, vídeo, etc);•Bootsound: Executa um arquivo de áudio no boot, lendo um arquivo em “/system/media/audio/ui/boot.mp3”;• Installd: Servidor de instalação de pacotes/aplicações” *.apk.

Depois de interpretar este arquivo, o “init” entra em um loop infinito monitorando a ocorrência de eventos e a execução de processos.

Ao executar uma aplicação, o processo “zygote” cria uma instância da MV Dalvik para executá-la, e cada aplicação roda com um user ID diferente, ou seja, cada aplicação tem o seu ID de usuário diferente.

Page 22: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

22

Processamento – O zygote

O “zygote” é o pai dos processos Java. Todos os aplicativos desenvolvidos em Java é criado por este processo, que instancia uma MV Dalvik para executar um processo ou serviço Java. O “zygote” tem basicamente dois objetivos principais:

1. Prover uma infraestrutura para a execução de aplicações Java.

2. Iniciar o System Server, que gerencia a base dos serviços do sistema operacional Android

Page 23: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

23

Processamento

Assim como em Sistemas Unix, os processos possuem PCB (Bloco de Controle de Processos), contendo entre várias informações, o estado do processo.

Page 24: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

24

Processamento – Prioridade de Processos

No Android todos os processos são mantidos na memória até que haja a necessidade de recursos para outros processos. A ordem na qual os processos são finalizados para liberação de recursos está associada ao nível de prioridade da aplicação do mesmo. A prioridade de uma aplicação é igual a de seu componente de maior prioridade.

Page 25: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

25

Processamento – Política de Escalonamento de Processos

•Assim como no Linux, o sistema operacional Android divide os seus processos em três grandes classe: processos interativos, processos em Lote e processos em tempo real.

•O escalonador do Android não distingue processos interativos de processos batch, diferenciando-os apenas dos processos em tempo real.

•Android é baseado em time-sharing, ou seja, o tempo do processador é dividido em fatias de tempo, fatias essas denominadas de quantum, as quais são alocadas aos processos.

Page 26: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

26

Processamento – IPC (Inter-process communication)

O kernel utilizado pelo Android também introduz o Binder, um novo mecanismo para a comunicação entre processos (IPC - Inter-process communication) e chamada remota de métodos, que permite que um processo possa chamar uma rotina em outro processo, e que é responsável pela identificação do método a ser invocado e da passagem dos argumentos entre os processos.

Page 27: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

27

Processamento – Módulo Wakelocks

•O módulo Wakelocks foi mais uma alteração referente ao Kernel do Linux.

•Se um dispositivo Android ficar um tempo sem ser usado, entrará em modo de baixo consumo para garantir economia de bateria, visto que a energia em dispositivos móveis é um recurso escasso, diferente de um computador pessoal que é o principal alvo do sistema Linux.

•O módulo de wakelock permite que as aplicações desabilitem o mecanismo de baixo consumo.

Page 28: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

28

Gerência de Memória

Page 29: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

29

Memória

Referente à gerência de memória, o Android introduz um mecanismo (OOM – Out-of- Memory Handler) para terminar processos quando na falta de memória.

o Kernel do Android possui algumas modificações em relação ao Kernel do Linux. Entre elas, citamos:

•Ashmem - É um novo mecanismo de compartilhamento de memória, onde dois ou mais processos podem comunicarem-se através de uma região compartilhada de memória.

•Pmem – Utilizado para o gerenciamento de grandes regiões contíguas de memória física compartilhadas entre o espaço dos usuários e drivers de Kernel.

Page 30: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

30

Memória

•O SO Android também se utiliza do conceito de memória virtual, bem como do conceito de Swap.

•O gerenciamento de memória em baixo nível do Android é feito pelo Linux Kernel 2.6. A descrição da memória virtual é feita portanto no Linux através de segmentação e paginação.

Page 31: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

31

Memória - Segmentação

A segmentação divide a memória em 2 espaços distintos, o espaço do kernel (Kernel Space) e o espaço do usuário (User Space). Dentro destes espaços temos os 4 segmentos básicos:• Kernel Code.• Kernel Data/Stack.• User Code.• User Data/Stack.

Page 32: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

32

Memória - Paginação

•onde a memória é dividida em pedaços de tamanho fixo (páginas), e segmentos de código são alocados nestes e mapeados utilizando-se uma tabela de páginas, ao invés de alocação de todo código de uma única vez.

•Quando a memória já preencheu todas as páginas possíveis é necessário realizar a substituição de páginas quando o processo em execução requisita que uma nova página seja alocada.

•O algoritmo utilizado para esta substituição de páginas é o Least Recentment Used (LRU).

Page 33: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

33

Sistema de Arquivos

Page 34: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

34

Sistema de Arquivos

•O sistema de arquivos utilizado pelo Android até a versão 2.2 (Froyo) é o YAFFS2 (Yet Another Flash File System, 2nd edition).

•YAFFS é o primeiro sistema de arquivos que foi projetado especificamente para Memória flash NAND.

•Na maioria dos sistemas de arquivos flash, os blocos obsoletos são marcados como tais, mas o YAFFS2 marca também os blocos com números de sequência que aumentam de forma uniforme. Quando o sistema de arquivos é escaneado no momento da montagem, os inodes válidos podem ser rapidamente identificados. O YAFFS também mantém árvores em RAM para representar a estrutura de blocos do dispositivo flash, inclusive a montagem rápida por meio de verificação de pontos —um processo que salva a estrutura em árvore RAM no dispositivo flash em uma desmontagem normal para que ele possa ser rapidamente lido e restaurado na RAM no momento da montagem. O desempenho no momento da montagem é uma grande vantagem do YAFFS2 sobre outros sistemas de arquivos flash.

Page 35: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

35

Sistema de Arquivos

•A partir da versão 2.3 (gingerbread), o sistema de arquivos passou a ser ext4, que é uma evolução do sistema ext3.

•Os diferenciais do ext4 referente ao ext3 é a melhora da performance, limites de armazenamentos e recursos do sistema de arquivos corrente, com ou sem a “reformatação” e/ou reinstalação do SO e softwares “environment”.

Page 36: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

36

Sistema de Arquivos

•Diferente dos sistemas desktop, no Android, apenas o aplicativo pode acessar seu próprio diretório e criar subdiretórios com permissões para que outras aplicações o acessem.

•No android, o acesso ao sistema de arquivos é feito através das classes java.oi.

Page 37: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

37

E/S

I/O

Page 38: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

38

E/S

O gerenciamento de entrada e saída no Android é implementado através doe devices drivers, um device para cada dispositivo.

Todas as operações de entrada e saída são efetuadas como uma sequência de bytes, não existindo o conceito de registro ou métodos de acesso

Page 39: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

39

E/S

Em relação à entrada e saída de dados, o Kernel do Android inseriu o Timed GPIO.

É o que possibilita acionar saídas de Input/Output (I/O)–Entrada e Saída de forma temporizada. Está implementado em ‘drives/misc/timed_gpio.c’’.

Page 40: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

40

Segurança

Page 41: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

41

Segurança

O kernel Linux providencia ao Android um conjunto de aspetos chave no seu modelo de segurança:

• Um modelo de permissões baseado no utilizador - cada entidade no sistema de ficheiros tem um dono e está atribuído a um grupo. Um utilizador com permissões para tal pode modificar as permissões de leitura, escrita e execução de uma entidade para o seu dono, para o grupo e para os restantes utilizadores. Existe ainda um utilizador especial (superuser) que pode violar estas permissões, tendo acesso completo ao sistema de ficheiros.

• Isolamento de processos - Um processo em Linux funciona como uma máquina virtual: tem um espaço de endereçamento próprio, um repertório de instruções e um estado interno (i.e. estado do processador, recursos externos, etc).

Page 42: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

42

Segurança

• Um mecanismo de comunicação interprocesso segura extensível – Um processo apenas pode comunica com outros através de um conjunto de mecanismos bem definidos (que vão desde a aproximação naive de escrita de informação num ficheiro em disco até à utilização de pipes ou memória partilhada).

• A hipótese de remover partes desnecessárias ou potencialmente inseguras do kernel.

Page 43: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

43

Segurança – SandBox de Aplicações

A plataforma Android aproveita a gestão de utilizadores providenciada pelo kernel Linux para atacar o problema do isolamento de aplicações. O Android atribui um identificador de utilizador (UID) a cada aplicação na altura da sua instalação, não partilhado por qualquer outra aplicação por defeito. Quando uma aplicação é iniciada, é executada no contexto desse utilizador num processo separado. Esta aproximação diverge de outros sistemas operativos (incluindo o próprio Linux), em que várias aplicações correm sob o mesmo utilizador.

A estratégia aplicada pelo Android assegura o isolamento das várias aplicações do sistema ao nível do kernel, utilizando para isso facilidades existentes no Linux. Uma aplicação não será autorizada, por exemplo, a aceder ao sistema de ficheiros completo, dado que cada aplicação possui uma diretoria de dados própria, cujo owner é o utilizador atribuído à própria aplicação. Isto abrange o acesso a alguns dispositivos e dados chave do telefone (e.g. uma aplicação não pode fazer chamadas ou alterar as definições do telefone, dado que estas funções são efetuadas por aplicações separadas).

Page 44: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

44

Benefícios e Limitações sobre o Android

Page 45: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

45

Benefícios

•Sistema de código aberto e gratuito;•Milhares de aplicações disponíveis no Google Play;•Vários grupos que desenvolvem Roms personalizadas do sistema;•Os dados são sincronizados com todos os serviços da Google;•Facilidade de programar pala esta plataforma;•Interface gráfica agradável.

Page 46: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

46

Limitações

•Pouca duração da bateria de aparelhos com este sistema;

•Alguns aplicativos tem incompatibilidades para certas versões do Android;

•Muitos Aplicativos maliciosos presentes no Google Play;

Page 47: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

47

Conclusão

•É um sistema otimizado para mobiles, mas tem boa performance. Relativamente seguro, com uma estrutura bem detalhada, bem como um stack de aplicações nativas que o torna atraente.•Tem um gerenciamento de memória e processos que priorizam economia de energia, sem abrir mão de desempenho. Por utilizar linguagem java para se programar, torna mais fácil desenvolver para este sistema.

Page 48: 1. Facol Faculdade Escritor Osman da Costa Lins Sistemas de Informação – 5º Período Sistemas Operacionais – Hugo Souza Alunos : Gleybson Farias Fabio.

48

Referências Bibliográficas

•Ibm.com - Anatomia dos Sistemas de Arquivos Flash do Linux http://www.ibm.com/developerworks/br/library/l-flash-filesystems/Acessado em 06.5.2013;

•developer.android.com – Arquitetura Google Android. http://developer.android.com/Acessado em 06.5.2013;

•Sistemas operacionais – Conceitos e Aplicações. Silberschatz, Galvin & Gane. Editora Campus, 2001.

•Sistemas Operacionais Modernos, 3a edição. Andrew Tanenbaum. Editora Pearson, 2009.

•Analysis of the Android Architecture - Stefan Brahler – 2010, disponível em http://os.ibds.kit.edu/downloads/sa_2010_braehler-stefan_android-architecture.pdf;

•Sistema Operacional Android - Rafael Caveari Gomes, Jean Alves R. Fernandes & Vinicius Corrêa Ferreira, 2012. Disponível em http://www.midiacom.uff.br/~natalia/2012-1-sisop/tgrupo1.pdf;

•UPV - HDI ANDROID - Herraiz Antón, Gabriel. 2012. Disponível em http://histinf.blogs.upv.es/files/2012/12/ANDROID-Gabriel-Herraiz-Ant%C3%B3n.pdf ;

•An Introduction to Android - Huang Xuguang. 2009. Disponível em https://androidgroup.googlecode.com/files/Introduction%20to%20Android.pdf;

•Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications - Dominique A. Heger. 2011. Disponível em http://people.stfx.ca/x2011/x2011bhd/391/m_78_3.pdf;

•Introdução a Arquitetura Android - Maycon Viana Bordin. Disponível em http://sites.setrem.com.br/stin/2012/anais/Maycon.pdf;

•Segurança no Android - Daniel Cibrão & Rui Gonçalves. 2012. Disponível em http://web.fe.up.pt/~jmcruz/ssi/ssi.1112/trabs-als/final/G4T10-android-final.pdf;

•Android – Flávia Lacerda, Glayston Castro, Raphael Turquette, Vivianne Rezende, Disponível no site http://prezi.com/rau9jgu9wxye/copy-of-trabalho-de-so-android/;