본문 바로가기

안드로이드/알아두기

[안드로이드] 안드로이드 실행환경에 대한 간단한 설명

안드로이드의 실행환경 구성

  1. Linux Kernel
  2. Library(Android Runtime 포함)
  3. Application Framework
  4. Application

 

1. Linux Kernel

안드로이드는 리눅스 위에서 돌아간다. 그리고 리눅스 커널을 사용하여 다양한 하드웨어(Bluetooth, Wi-Fi, GPS, Camera 등), 메모리 관리 등의 작업을 수행한다.

 

2. Library

스마트폰은 손안에 들어갈 정도로 작은 휴대기기이다. 그렇다면 이러한 휴대기기를 상대적으로 적은 용량을 이용하여 동작시켜야 하기 때문에 libc 혹은 libm와 같은 메모리 소비가 적은 라이브러리가 적합하다. 이 계층에서는 Surface Manager는 Window Manager의 화면 접근에 대한 처리, Media Framework를 통한 오디오 혹은 비디오 코덱 등 각종 음악, 동영상, 사진과 같은 미디어 처리를 담당한다. 그리고 SQLite, SSL(Secure Socket Layer), WebKit 등 뿐만 아니라 실질적으로 안드로이드 앱을 구동해주는 dalvik Virtual Machine과 코어 라이브러리까지 포함하는 영역이다.

 

3. Application Framework

Linux Kernel과 Library가 C/C++로 작성되었던 것과 달리 이 계층부터는 Java로 작성되었다. 기본적으로 네이티브 라이브러리와 안드로이드 런타임을 추상화 시킨 계층으로서 안드로이드 4대 컴포넌트로 알려진 Activity, Broadcast Receiver, Content Provider, Service 등과 같은 여러 구성요소가 등장하게 된다.

 

4. Application 

마지막 계층은 어플리케이션 계층으로서 안드로이드 구조에서 최상위 계층에 있으며, 이 계층은 실질적으로 동작하게 되는 앱이 설치되는 환경을 제공하게 된다.