1. 안드로이드(Android)의 개요
1-1. 안드로이드(Android)의 정의
- 운영체제, 미들웨어, 중요 프로그램을 포함하는 임베디드 디바이스를 위한 SW스택
- 2007년 11월 공개된 구글의 안드로이드(Android)는 휴대폰개발에 필요한 SW플랫폼 일체를 제공하는 공개SW
1-2. 안드로이드(Android)의 특징
- 리눅스 커널상에 네이티브 코드로 동작하는 라이브러리군과 ‘Dalvik가상머신(Dalvik VM, 비표준 JAVA Virtual Machine)’이라 부르는 독자 VM 실행환경, 그리고 그 위에서 동작하는 애플리케이션 프레임워크로 구성
- 리눅스를 커널에 채택 : 새로운 하드웨어나 주변기기에 대응하기 쉬워짐
2. 안드로이드(Android)의 구성도, 구성요소
2-1. 안드로이드(Android)의 구성도
2-2. 안드로이드(Android)의 구성요소
구성요소 | 설명 | 상세구성요소 |
애플리케이션 (Applications) | - Java로 작성 - Core Application을 탑재 - Android package(*.apk) 형태 :디바이스로 다운로드 하는 단위, Java code+data/resource files로 구성, aapt tool 을 사용하여 제작 |
Email, SMS Program, Calendar, Map, Browser , Contacts, Others |
애플리케이션프레임워크 (Application Framework) | - 개발자는 Core Application 에서 사용되는 Framework API 를 같이 사용할 수 있음 - Component 재사용이 용이하도록 설계 - Application 에서 만든 기능을 다른 Application에서 사용가능 |
Activity Manager , Window Manager , Content Providers , View System , Notification Manager, Package Manager , Telephony Manager , Resource Manager , Location Manager |
라이브러리 (Libraries) | - C/C++ 로 작성된 라이브러리 - 개발자에게 Application Framework를 통해 제공 - 라이브러리접근방법 : Binder를 이용한 프로세스간의 통신, JNI 를 이용한 접근 |
Surface Manager , Media Framework , SQLite, OpenGL ES, Free Type, Webkit, SGL, SSL, Libc |
안드로이드런타임 (Android Runtime) | - Core Library : JAVA 의 Core Library를 사용할 수 있도록 제공 - Dalvik VM(Virtual Machine) : 모든 안드로이드 애플리케이션은 Dalvik VM에 대한 자기자신의 인스턴스를 가지고 자신의 프로세스 내에서 동작 |
Core Libraries, Dalvik Virtual Machine |
리눅스 커널 (Linux Kernel) | - Linux version 2.6.x - 추상 계층 제공: 하드웨어와 상위 소프트웨어 스택 사이 - Core System Service |
Display Driver, Camera Driver, Bluetooth Driver, Flash Memory Driver, USB Driver, Keypad Driver, Wi-Fi Driver, Audio Drivers, Power management |
'1. IT Story > Basic Studies' 카테고리의 다른 글
사물인터넷(IoT, Internet of Things) (0) | 2019.09.01 |
---|---|
MEAP(Mobile Enterprise Application Platform) (0) | 2019.08.31 |
터치스크린(Touch Screen) (0) | 2019.08.30 |
USIM(제3세대 단말기 내의 범용가입자 식별모듈) (0) | 2019.08.28 |
소셜서비스플랫폼(Social Service Platform) (0) | 2019.08.26 |
소셜큐레이팅 (Social Curating) (0) | 2019.08.23 |
소셜커머스(Social Commerce) (0) | 2019.08.22 |
EAI(Enterprise Application Integration) (0) | 2019.08.17 |