You are on page 1of 30

Universidade Federal de Viosa Campus Rio Paranaba

UFV-CRP

Sistemas Operacionais SIN351


Prof. Maycon Leone M. Peixoto
mayconleo@gmail.com

Smartphones
Telefone inteligente Aparelhos celulares que executam sistemas operacionais com funes completas e apresentam caractersticas de um desktop Qualquer pessoa pode desenvolver aplicaes que executam nos smartphones

Mercado de Smartphones

"Share of Smartphone sales by operating systems in Q2/2009(data does not include Palm WebOS, which was introduced in June, 2009). "Canalys: iPhone outsold all Windows Mobile phones in Q2 2009". AppleInsider. 21 August 2009. http://www.appleinsider.com/articles/09/08/21 /canalys_iphone_outsold_all_windows_mobile_ phones_in_q2_2009.html. Retrieved 21 September 2009.

"Google Android smacks down Windows Mobile in latest Gartner data". Press release. 19 May 2010. http://www.zdnet.com/blog/cellphones/google-android-smacks-downwindows-mobile-in-latest-gartner-data/3829. Retrieved 28 May 2010.

Sistemas Operacionais para Smartphones

Symbian

Histria

Psion (1980 - 1990): fabricante de PDAs

Srie 3, 3c (1996), 3mx (1998)


Melhoria no processador e com mais memria

EPOC (1996)

Sistema Operacional 32 bits, com suporte a touch screen Release 1: orientado a objetos Release 3: Psion srie 5 Release 5: Psion srie 7

Symbian

Histria

2000: Psion + lderes da indstria de telefonia mvel (Nokia, Ericsson, Motorola e Matsushita) criaram um empreendimento denominado Symbian

Desenvolvimento do SO Symbian Surgiu na verso 6, em 2001 (Symbian 6) Novas funcionalidades de smartphones Ncleo e servios do sist. operacional foram separados da interface com o usurio Melhorou desempenho, principalmente de funes de tempo real Adicionou conceitos de segurana

Verso 7: 2003

Verso 8: 2004

Verso 9.1: 2005

Verso 9.2 e 9.3: 2006 Verso 9.4 e 9.5: 2007

Symbian

Caractersticas

Projetado especificamente para smartphones Orientado a objetos Projeto de microncleo (microkernel) Utiliza a arquitetura cliente/servidor Possui caractersticas de um sistema operacional de desktop nfase em comunicao e multimdia

Symbian

Problemas no microncleo:

Custo de comunicao devido a comunicao entre os servidores, os quais esto no espao do usurio Desempenho das funes cai quando saem do espao do ncleo e passam para o espao do usurio Utilizao de 2 ou mais espaos de endereamento devido aos constantes chaveamentos entre espao do usurio e espao do ncleo

Symbian

Soluo para os problemas do microncleo:


Implementao de uma estrutura de nanoncleo Dentro do ncleo, separa as funes com implementao mais sofisticada, deixando no nanoncleo as funes mais bsicas O nanoncleo se torna o ncleo do sistema operacional

Symbian

Symbian

Nanoncleo:

Funes mais bsicas, como operaes em threads em modo privilegiado:


Escalonamento e operaes de sincronizao Tratamento de interrupes e objetos de sincronizao como semforos e mutexes

Funes preemptveis e primitivas, tornandoas mais rpidas

Symbian

Ncleo

Implementao das funes de ncleo mais complicadas, combinadas com as operaes mais primitivas do nanoncleo

Threads em modo usurio Escalonamento de processos e mudanas de contexto Memria dinmica Sincronizao complexa Comunicao entre objetos e processos

Symbian

Funes de um sistema operacional maior:


Processos e Threads: sistema multitarefa e multithread Suporte comum ao sistema de arquivos: compatvel com o Windows (FAT32) Rede: TCP/IP Gerenciamento de memria: mapeia a memria em pginas mesmo no usando o mapeamento de memria virtual

Symbian Processos e Threads


Threads: unidade central de processamento Nanothreads: threads no nanoncleo

Nanoncleo suporta threads, fornecendo escalonamento de nanothreads, sincronizao (comunicao inter-threads) e servios de temporizao Precisam de uma pilha para armazenar as informaes de ambiente de tempo de execuo e so executadas em modo privilegiado, no podendo ser executadas em modo usurio Conjunto mnimo de dados para a execuo das nanothreads: localizao e tamanho da pilha

SO controla o restante: cdigo usado por cada thread e armazena o contexto das threads em suas pilhas de execuo

Symbian Processos e Threads

Nanothreads: estados possveis, alm dos convencionais:


Suspenso: uma thread suspende a outra Espera por semforo rpido: espera pela sinalizao de um semforo rpido (semforo do nanoncleo) Espera DFC (delayed function call): espera a chamada atrasada de funo, utilizadas para implementao de drivers e representam chamadas ao ncleo que podem ser escalonadas para execuo pela camada do ncleo Dormindo: esto adormecidas esperando pela passagem de um perodo de tempo especfico Outro: estado genrico que pode ser utilizado pelos desenvolvedores para implementarem estados extras (expanso das funes do nanoncleo para novas plataformas)

Symbian Processos e Threads

Nanothreads:

Essencialmente um processo mais leve Possui um minicontexto que vai se alternando conforme as nanothreads vo passando pelo processador Caracterstica: controle rgido que o ncleo tem sobre elas e a mnima quantidade de informao que compe o contexto de cada uma

Symbian Processos e Threads


Threads: baseadas nas nanothreads O ncleo amplia o suporte que o nanoncleo oferece As threads definidas no modo usurio so implementadas por threads do Symbian Cada thread do Symbian contm uma nanothread e adiciona sua prpria pilha de execuo pilha usada pela nanothread O Symbiam adiciona sete novos estados em que as threads podem estar, focadas em condies bloqueantes especiais que podem ocorrer (suspenso por semforos normais, variveis mutex e variveis condicionais)

Esses estados so implementados de acordo com os estados das nanothreads

Symbian Processos e Threads

Processos

So threads agrupadas sob uma nica estrutura de controle de bloco de processos com um nico espao de memria Pode haver uma ou vrias threads de execuo sob um bloco de controle de processos O escalonamento de um processo implementado pelo escalonamento de uma thread e da inicializao do bloco de controle de processo adequado Forma especializadas de thread executada no espao do usurio, as quais foram implementadas visando diminuir a sobrecarga de se ficar verificando se uma thread que foi bloqueada j est pronta ou no Diferena principal para as threads-padro est em no perder tempo verificando se j foram desbloqueadas

Objetos ativos

Symbian Processos e Threads

Comunicao

Soquete: pipeline de comunicao abstrata entre dois pontos

Abstrao usada para ocultar o gerenciamento dos dados e do mtodo de transporte Comunicao entre clientes e servidores, threads e dispositivos e entre as threads Forma de comunicao tambm entre os dispositivos
Abstrao importante: soquetes que trabalham sobre TCP/IP podem ser adaptados para trabalhar em um ambiente Bluetooth alterando os parmetros no tipo do soquete usado

Implementa tambm sincronziao padro: semforos e mutexes

Symbian Gerenciamento de memria

Modelo de memria restrito

Sem memria virtual com paginao sob demanda Dois tipos de memria:

RAM (cdigo do SO quando inicia) e memria flash (memria operacional e armazenamento permanente)

Ausncia de MV com paginao por demanda no implica ausncia de gerenciamento de memria

Contm:

Paginao Traduo de endereos Abstrao de endereos fsicos e virtuais

Ausncia de MV significa que as pginas no podem ser trocadas na memria e enviadas para armazenamento externo As pginas so substitudas, porm as que saem so descartadas ao invs de serem enviadas para disco... Isso significa que apenas as pginas de cdigo podem ser substitudas umas vez que apenas elas esto na memria flash

Symbian Gerenciamento de memria

Tarefas do gerenciador de memria:

Gerenciamento do tamanho da aplicao: cdigo e dados. Tendncia de se utilizar POO pode ser um problema Gerenciamento da heap: uso cuidadoso. Os usurios so forados a recuperar e reutilizar esse espao o mximo possvel Execuo local: memria flash mapeada no espao de endereamento virtual e os programas podem ser executados diretamente dela sem serem copiadas para a RAM Carregar DLLs: escolha de quando carregar as DLLs: todas inicialmente ou durante a execuo Transferncia do gerenciamento de memria para o hardware: MMU

Symbian Gerenciamento de memria


Sistema de 32 bits: enderea at 4GB Utiliza endereos virtuais que podem ser mapeados em endereos fsicos Divide a memria em pginas virtuais e quadros fsicos, normalmente de 4 KB

Tabela de pgina com mais de 1 milho de entradas... impossvel! Soluo: tabela de pgina em dois nveis

1o. Nvel: diretrio de pgina mantido na memria principal (12 bits) 2o. Nvel: coleo de tabelas de pginas, com 8 bits indicando a pgina Palavra na pgina, deslocamento (12 bits)

Symbian Gerenciamento de memria

TTBR: registrador base da tabela de traduo (translaction table base register)

Symbian Gerenciamento de memria

Modelos de implementao de memria


Modelo em movimento: projetado para as primeiras arquiteturas ARM Modelo mltiplo: utilizada a partir da verso 6 da arquitetura ARM Modelo direto: sem MMU no utilizado em smartphones Modelo emulador: dar suporte ao emulador do Symbian no Windows

Symbian Entrada e Sada

Drivers de dispositivos

Executados como cdigo privilegiado de ncleo Dois nveis:

Driver de dispositivo lgico (LDD logical device driver): interface com as camadas altas de software Driver de dispositivo fsico (PDD physical device driver): interage diretamente com o hardware

Pode haver um LDD para dispositivos da mesma classe e PDDs diferentes para cada dispositivo

Symbian Entrada e Sada

Extenses de ncleo

Drivers de dispositivos carregados pelo Symbian na inicializao Normalmente no so acompanhadas de PDDs Executam operaes essenciais

Servios de DMA Gerenciamento do monitor Controle do barramento para dipositivos perifricos

DMA

Fornece suporte Problema:

Suporte a vrias configuraes de hardware o que impede de assumir uma configurao nica de DMA

Symbian Entrada e Sada

Mdia removvel

Ao ser inserida, considerada como um dispositivo

Precisa de controlador, driver, estrutura de barramento e talvez se comunicar com a CPU atravs de DMA Como o SO detecta a insero e remoo e como tratar a ausncia do dispositivo?
Todos os dispositivos devem ser inseridos e removidos Todas as mdias removveis podem ser retiradas enquanto esto sendo utilizadas Cada mdia pode reportar suas capacidades Cartes incompatveis devem ser rejeitados Cada carto precisa de energia

Caractersticas:

Controladores de software gerenciam cada carto suportado Soquete para comunicao entre os controladores de software e o dispositivo

Android

Sistema operacional para dispositivos mveis, incluindo um middleware e aplicaes padres e uma verso modificada do kernel do Linux

Foram alterados 75 arquivos e adicionados 88 no kernel 2.6.25

Android - Camadas

Links interessantes
http://cs736android.pbworks.com/FrontPage Cdigo fonte do Android

http://www.netmite.com/android/mydroid/

You might also like