Android 개요

안드로이드 | 2010.10.06 23:33
Posted by 하드락



 Android 개요

Android 마스코트

Linux Kernel 마스코트

턱스(Tux)”

Java 마스코트

듀크(Duke)”


[ Android Architecture ]


안드로이드
응용프로그램(Java 작성) 어플리케이션 프레임워크(.jar형태의 Java Class) 이용해 Dalvik VM에서 제공하는 코어 라이버러리(Core Library) 기능을 사용하게 되고, 코어 라이버러리는 리눅스 커널(Linux Kernel) 위에서 동작하는 다양한 라이브러리(C/C++) 호출하게 된다. 라이브러리는 필요에 따라 리눅스 커널의 System Call 호출하게 된다.


리눅스 커널
하드웨어 드라이버, 프로세스와 메모리 관리, 보안, 네트워크, 전력관리, 등과 같은 핵심 시스템
서비스는 리눅스 2.6 커널이 담당한다. 또한 커널은 하드웨어와 스택의 나머지 부분 사이에  상 계층을 제공한다.

 

라이버러리
라이버러리는 리눅스 커널 바로 위에서 동작하며, 안드로이드 시스템의 다양한 Component에서
사용되는 C/C++ 라이버러리를 제공한다.

 

libc

리눅스 기반 임베디드 장치에 최적화된 표준 C 시스템 라이버러리

Media Library

다양한 오디오 비디오 포맷의 재생/녹음 기능 지원

(PacketVideo OpenCORE 기반으로 설계됨)

Surface Manager

디스플레이 관리 지원

LibWebCore

브라우저 엔진

SGL

2D 그래픽 엔진

OpenGL ES

3D 그래픽 엔진 (OpenGL ES 1.0 API 기반으로 설계됨)

FreeType

비트맵 벡터 폰터 렌더링 지원

SQLite

어플리케이션 데이터 저장에 사용되는 작고 가벼운 관계형 데이터베이스 엔진

SSL / WebKit

통합 브라우저 인터넷 보안 기능 지원

 

안드로이드 런타임
라이버러리는 코어 라이버러리와 Dalvik 가상 머신을 포함하고 있는 안드로이드 런타임은 라이버러리와 함께 어플리케이션을 동작하게 하는 엔진으로서, 어플리케이션 프레임워크의 기본을 형성한다.

 

코어 라이버러리

안드로이드 어플리케이션은 JAVA 프로그래밍 언어로 사용해 작성되지만, 전통적인 자바 VM 아닌 Dalvik이라는 가상 머신을 통해 실행된다. 안드로이드 코어 라이버러리는 전통적인 자바 코어 라이버러리에서 사용 가능한 대부분의 기능뿐만 아니라 안드로이드 전용 라이버러리도 제공한다.

Dalvik 가상 머신

Dalvik 구글의 Dan Bornstein 만든 VM으로, Dalvik이란 이름은 Dan Bornstein

그의 조상이 살던 아이슬란드의 물고기 잡는 마을의 이름을 것이다.

Dalvik 장치가 복수의 인스턴스를 효율적으로 실행할 있도록 보장하기 위해 최적화된 레지스터 기반의 가상 머신이다. Dalvik VM .dex 파일을 실행시키는데,

파일은 표준 .class .jar 파일이 컴파일 시점에 콤팩트하게 변환된 것이다.

 

어플리케이션 프레임워크
어플리케이션 프레임워크는 안드로이드 어플리케이션을 만드는데 사용되는 클래스를 제공하며, 하드웨어 접근 사용자 인터페이스와 어플리케이션 리소스 관리를 위한 일반적인 추상을 제공한다.

 

Activity Manager

액티비티 스택 관리를 포함하여 액티비티의 수명 주기를 제어한다.

View System

액티비티의 사용자 인터페이스를 구성하는데 사용된다.

Notification Manager

사용자에게 신호를 보내기 위한 일관되면서도 간섭적이지 않은 메커니즘을 제공한다.

Content Providers

개발된 어플리케이션이 다른 어플리케이션과 데이터를 공유할 있도록 준다.

Resource Manager

문자열과 그래픽 같은 리소스를 소스 코드와 분리하여 관리한다.

 

어플리케이션 계층
Native 어플리케이션과 3rd Party 어플리케이션은 모두 동일한 API 라이버러리를 사용하는 어플리케이션 계층 위에 구축된다. 어플리케이션 계층은 어플리케이션 프레임워크를 통해 사용 가능한 클래스와 서비스를 사용함으로써 안드로이드 런타임 내에서 실행된다.

신고

'안드로이드' 카테고리의 다른 글

Hello World  (0) 2010.10.07
Android 개발 환경 설치  (0) 2010.10.07
안드로이드 참고 사이트  (0) 2010.10.07
스마트폰 운영체계(OS) 점유율  (0) 2010.10.06
OHA (Open Handset Alliance)  (0) 2010.10.06
Android 개요  (0) 2010.10.06

댓글을 달아 주세요

블로그 이미지

하드락

I ♡ Android !!!

카테고리

분류 전체보기 (14)
안드로이드 (13)
Google Play (1)
안드로이드 팁 (0)
참고자료 (0)