SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Android Core
Felipe Silveira
felipesilveira.com.br Aula 3
HAL - Hardware Abstraction Layer
Hardware Abstraction Layer
Hardware Abstraction Layer
● Abstração dos drivers de dispositivos
● Composto por várias shared libraries
● O Android framework foi desenhado para acessar o
HAL, e não a camada de kernel (drivers) diretamente
● Justificativa:
- Minimizar as diferenças de drivers entre diferentes
dispositivos
- Adicionar algumas funções a alguns drivers
(framebuffer, por exemplo)
- Questões de licenças (evitando a alteração de
arquivos GPL)
Tipos de HAL
● Módulos de hardware, localizados em /vendor/lib/hw e
/system/lib/hw
● Bibliotecas OpenGL, localizadas em /vendor/lib/egl e
/system/lib/egl
Módulos de Hardware
Responsáveis por controlar componentes como:
● audio
● camera
● framebuffer
● gps
● gralloc - gerenciamento de framebuffer e GPU buffer
● lights - controle dos leds do sistema
● sensors - módulo que contém vários sensores, como
acelerometro, sensor de pressão, sensor de
proximidade, etc.
Convenção de nomes
Os módulos de hardware são nomeados sempre seguindo
o formato: module_id.<modifier>.so
Onde modifier pode ser:
● ro.hardware
● ro.product.board
● ro.board.platform
● ro.arch
● default
libhardware interface genérica
É uma interface que deve ser implementada
por todos os 'HAL' definidos no sistema.
Definido em:
hardware/libhardware/include/hardware/hardware.h

Mais conteúdo relacionado

Mais procurados

Cross platform app development with flutter
Cross platform app development with flutterCross platform app development with flutter
Cross platform app development with flutterHwan Jo
 
Segurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativosSegurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativosRodrigovieira99
 
Proteção e segurança de sistemas operacionais
Proteção e segurança de sistemas operacionaisProteção e segurança de sistemas operacionais
Proteção e segurança de sistemas operacionaiscleber_opo
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamentoJackerCastilho
 
Apresentação de Montagem e Manutenção
Apresentação de Montagem e ManutençãoApresentação de Montagem e Manutenção
Apresentação de Montagem e ManutençãoCDP_Online
 
Arquitetura e Montagem de Computadores.pdf
Arquitetura e Montagem de Computadores.pdfArquitetura e Montagem de Computadores.pdf
Arquitetura e Montagem de Computadores.pdfOs Fantasmas !
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaSuzana Viana Mota
 
Sistema Operativos
Sistema OperativosSistema Operativos
Sistema OperativosBugui94
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativosTROLITO LALALAL
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Java and its features
Java and its featuresJava and its features
Java and its featuresPydi Nikhil
 

Mais procurados (20)

Cross platform app development with flutter
Cross platform app development with flutterCross platform app development with flutter
Cross platform app development with flutter
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
 
Segurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativosSegurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativos
 
Proteção e segurança de sistemas operacionais
Proteção e segurança de sistemas operacionaisProteção e segurança de sistemas operacionais
Proteção e segurança de sistemas operacionais
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamento
 
Sistema windows 10
Sistema windows 10Sistema windows 10
Sistema windows 10
 
Apresentação de Montagem e Manutenção
Apresentação de Montagem e ManutençãoApresentação de Montagem e Manutenção
Apresentação de Montagem e Manutenção
 
Applet in java
Applet in javaApplet in java
Applet in java
 
Arquitetura e Montagem de Computadores.pdf
Arquitetura e Montagem de Computadores.pdfArquitetura e Montagem de Computadores.pdf
Arquitetura e Montagem de Computadores.pdf
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Java Collections Tutorials
Java Collections TutorialsJava Collections Tutorials
Java Collections Tutorials
 
Sistema Operativos
Sistema OperativosSistema Operativos
Sistema Operativos
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativos
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Sqlite
SqliteSqlite
Sqlite
 
Java and its features
Java and its featuresJava and its features
Java and its features
 
Diagrama de sequência
Diagrama de sequênciaDiagrama de sequência
Diagrama de sequência
 

Destaque

An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...William Liang
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)Nanik Tolaram
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on AndroidGary Bisson
 
The Rise of Social CRM
The Rise of Social CRMThe Rise of Social CRM
The Rise of Social CRMRichard Hughes
 
Closing Conference for IPA 128287 - Partnership Actions on Environment
Closing Conference for IPA 128287 - Partnership Actions on EnvironmentClosing Conference for IPA 128287 - Partnership Actions on Environment
Closing Conference for IPA 128287 - Partnership Actions on EnvironmentElena Ignatova
 
Kreeo : Enterprise Social Collaboration Platform
Kreeo : Enterprise Social Collaboration PlatformKreeo : Enterprise Social Collaboration Platform
Kreeo : Enterprise Social Collaboration PlatformSumeet Anand
 
Zoom Out Zoom In اعجاز اللهي
Zoom Out Zoom In اعجاز اللهيZoom Out Zoom In اعجاز اللهي
Zoom Out Zoom In اعجاز اللهيamr hassaan
 
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...Olaf Janssen
 
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...howie martell
 
Technology Transfer . Universities: General Concepts Part I
Technology Transfer . Universities:  General Concepts Part ITechnology Transfer . Universities:  General Concepts Part I
Technology Transfer . Universities: General Concepts Part ICristina Villavicencio
 
Vijay Mewada June 11
Vijay Mewada June 11Vijay Mewada June 11
Vijay Mewada June 11vsa177
 
Schubert, Publications Updated 1009
Schubert, Publications   Updated 1009Schubert, Publications   Updated 1009
Schubert, Publications Updated 1009dasch1
 
Presentacion Ad Site Links Google AdWords
Presentacion Ad Site Links Google AdWordsPresentacion Ad Site Links Google AdWords
Presentacion Ad Site Links Google AdWordsJuan Pittau
 

Destaque (20)

Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on Android
 
The Rise of Social CRM
The Rise of Social CRMThe Rise of Social CRM
The Rise of Social CRM
 
Closing Conference for IPA 128287 - Partnership Actions on Environment
Closing Conference for IPA 128287 - Partnership Actions on EnvironmentClosing Conference for IPA 128287 - Partnership Actions on Environment
Closing Conference for IPA 128287 - Partnership Actions on Environment
 
NASA Science on Drupal: what we do
NASA Science on Drupal: what we doNASA Science on Drupal: what we do
NASA Science on Drupal: what we do
 
Trial
TrialTrial
Trial
 
Risk
RiskRisk
Risk
 
Clase 10 test
Clase 10 testClase 10 test
Clase 10 test
 
PinQA - Geomediasummit
PinQA - GeomediasummitPinQA - Geomediasummit
PinQA - Geomediasummit
 
SUSTAINABLE OFFERINGS
SUSTAINABLE OFFERINGSSUSTAINABLE OFFERINGS
SUSTAINABLE OFFERINGS
 
Kreeo : Enterprise Social Collaboration Platform
Kreeo : Enterprise Social Collaboration PlatformKreeo : Enterprise Social Collaboration Platform
Kreeo : Enterprise Social Collaboration Platform
 
Zoom Out Zoom In اعجاز اللهي
Zoom Out Zoom In اعجاز اللهيZoom Out Zoom In اعجاز اللهي
Zoom Out Zoom In اعجاز اللهي
 
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
 
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
 
Technology Transfer . Universities: General Concepts Part I
Technology Transfer . Universities:  General Concepts Part ITechnology Transfer . Universities:  General Concepts Part I
Technology Transfer . Universities: General Concepts Part I
 
Vijay Mewada June 11
Vijay Mewada June 11Vijay Mewada June 11
Vijay Mewada June 11
 
Schubert, Publications Updated 1009
Schubert, Publications   Updated 1009Schubert, Publications   Updated 1009
Schubert, Publications Updated 1009
 
Presentacion Ad Site Links Google AdWords
Presentacion Ad Site Links Google AdWordsPresentacion Ad Site Links Google AdWords
Presentacion Ad Site Links Google AdWords
 

Semelhante a Android HAL Abstrai Drivers e Padroniza Acesso a Hardware

Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoMauro Tapajós
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcadotdc-globalcode
 
Dicionario de HARDWARE
Dicionario de HARDWAREDicionario de HARDWARE
Dicionario de HARDWARElcamisa4
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks3Way Networks
 
Sistemas Operacionais.pptx
Sistemas Operacionais.pptxSistemas Operacionais.pptx
Sistemas Operacionais.pptxstenio medeiros
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Antônio Arapiraca
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
1 aprehardsoftso
1 aprehardsoftso1 aprehardsoftso
1 aprehardsoftsoUCM-NAMPULA
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 

Semelhante a Android HAL Abstrai Drivers e Padroniza Acesso a Hardware (20)

Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
Red hat enterprise
Red hat enterpriseRed hat enterprise
Red hat enterprise
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
Dicionario de HARDWARE
Dicionario de HARDWAREDicionario de HARDWARE
Dicionario de HARDWARE
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Linux
LinuxLinux
Linux
 
S.o iuras
S.o iurasS.o iuras
S.o iuras
 
So trabalho
So trabalhoSo trabalho
So trabalho
 
Sistemas Operacionais.pptx
Sistemas Operacionais.pptxSistemas Operacionais.pptx
Sistemas Operacionais.pptx
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
1 aprehardsoftso
1 aprehardsoftso1 aprehardsoftso
1 aprehardsoftso
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 

Mais de Felipe Silveira

Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Felipe Silveira
 
Android performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdadeAndroid performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdadeFelipe Silveira
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Android Core Aula 5 - RIL (Radio Interface Layer)
Android Core Aula 5 -  RIL (Radio Interface Layer)Android Core Aula 5 -  RIL (Radio Interface Layer)
Android Core Aula 5 - RIL (Radio Interface Layer)Felipe Silveira
 
Android Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicosAndroid Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicosFelipe Silveira
 
Android Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidAndroid Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidFelipe Silveira
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisFelipe Silveira
 

Mais de Felipe Silveira (8)

Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Android performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdadeAndroid performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdade
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Android Core Aula 5 - RIL (Radio Interface Layer)
Android Core Aula 5 -  RIL (Radio Interface Layer)Android Core Aula 5 -  RIL (Radio Interface Layer)
Android Core Aula 5 - RIL (Radio Interface Layer)
 
Android Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicosAndroid Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicos
 
Android Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidAndroid Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema Android
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociais
 
Desenvolvimento Android
Desenvolvimento AndroidDesenvolvimento Android
Desenvolvimento Android
 

Android HAL Abstrai Drivers e Padroniza Acesso a Hardware

  • 2. HAL - Hardware Abstraction Layer
  • 4. Hardware Abstraction Layer ● Abstração dos drivers de dispositivos ● Composto por várias shared libraries ● O Android framework foi desenhado para acessar o HAL, e não a camada de kernel (drivers) diretamente ● Justificativa: - Minimizar as diferenças de drivers entre diferentes dispositivos - Adicionar algumas funções a alguns drivers (framebuffer, por exemplo) - Questões de licenças (evitando a alteração de arquivos GPL)
  • 5. Tipos de HAL ● Módulos de hardware, localizados em /vendor/lib/hw e /system/lib/hw ● Bibliotecas OpenGL, localizadas em /vendor/lib/egl e /system/lib/egl
  • 6. Módulos de Hardware Responsáveis por controlar componentes como: ● audio ● camera ● framebuffer ● gps ● gralloc - gerenciamento de framebuffer e GPU buffer ● lights - controle dos leds do sistema ● sensors - módulo que contém vários sensores, como acelerometro, sensor de pressão, sensor de proximidade, etc.
  • 7. Convenção de nomes Os módulos de hardware são nomeados sempre seguindo o formato: module_id.<modifier>.so Onde modifier pode ser: ● ro.hardware ● ro.product.board ● ro.board.platform ● ro.arch ● default
  • 8. libhardware interface genérica É uma interface que deve ser implementada por todos os 'HAL' definidos no sistema. Definido em: hardware/libhardware/include/hardware/hardware.h