Android : Kernel and HAL
Android : Display & Multimedia
Open Source License(OSS) Licenses
Drivers : Kernel or User-space
- Android는 GNU/Linux가 아닌 Android/Linux를 사용
- Kernel
Linux Kernel 2.6.27 + Patches
+ Android 1.6(Donut) : Linux Kernel 2.6.29 사용
Patches : ashmem, binder, power manager, low memory Killer, Kernel Debugge
Source : http://git.android.com
- Hardware Abstraction Livrary
Android가 하드웨어에 접근하기 위한 인터페이스 제공
Kernel Drivers와 사용자 Drivers가 포함
Drivers 중에는 Linux Standard API를 사용하지 않는 것도 있다.(예 : vibrator)
Android : Display & Multimedia
- SurfaceFlinger
어플리케이션의 2D/3D Surfaces들을 Framebuffer에서의 구현을 제공
2D/3D Hardware 가속기를 사용하여, bit, rotate, scale, blend 등의 표현이 가능
- OpenGL ES Library
Hardware 기반의 OpenGL 가속 기능을 사용
- OpenCore 기반의 Media Framework
오디오 및 비디오와 이미지 코덱을 지원
Hardware / Software 코덱과 결합하여 사용
OpenMAX IL 인터페이스를 사용
+ Android 1.6(Donut) : OpenCORE 2.0 사용
+ Support for OpenMAX encoders
+ Support for additional audio codecs in AuthorEngine
+ Improved buffering model supports shared buffers allocated in the decoder
- AudioFlinger
어플리케이션에서 오디오 기능을 제공
Open Source License(OSS) Licenses
- Linux Kernel은 GPL 라이센스를 사용
- Android는 대부분 Apache v2 라이센스를 사용
- GPL and Apache
아파치 라이센스는 BSD 라이센스와 비슷하여 소스 코드 공개 등의 의무가 발생하지 않는다.
다만 'Apache'라는 이름에 대한 상표권을 짐해하지 않아야 한다는 조항이 명시적으로 들어가 있고, 특허권에 관한 내용이 포함되어 BSD 라이센스보다는 좀 더 법적으로 완결된 내용을 담고 있다.
- Open Source License는 Software 개발에 큰 영향을 끼친다.
Drivers : Kernel or User-space
- Kernel
kernel은 GPL 라이센스를 준수해야 한다.
Kernel은 다양한 응용프로그램과 보안 기능을 지원
리눅스 디바이스 드라이버 모델에 기반한 훌륭한 디바이스 드라이버 개발 환경 지원
다양한 Hardware 들을 지원
- User-space Livrary (HAL의 구성 요소)
GPL 라이센스를 적용 받지 않아, 특허권 및 소스코드 비공개 가능
간단한 레벨의 메모리 및 인터럽트의 사용이 가능
Kernel Level의 Driver보다 일반적으로 속도가 빠름
다양한 Hardware 들을 지원하지 못함
보안 기능에 있어서 지원이 불안정(3D Graphics Driver)
'Android > Android&Kernel' 카테고리의 다른 글
| Building on Mac OSX 10.6 Snow Leopard (0) | 2009/10/08 |
|---|---|
| Android Architecture (0) | 2009/09/22 |
| Android 구성요소 (0) | 2009/09/22 |
| What is Android? (0) | 2009/09/22 |
| Donut(Android 1.6) Platform Highlights (1) | 2009/09/16 |
| Android Dev Phone 1에 Android 1.5 올리기 (0) | 2009/06/26 |
TAG Android