안드로이드(Android)의 개요안드로이드(Android)의 개요

Posted at 2013.11.03 20:27 | Posted in == Mobile ==/Android



facebook에 글올리기



안드로이드(Android)의 개요


1. 안드로이드란?


핸드폰을 포함한 모든 모바일 기기에 탑재될 수 있는 모바일 플랫폼


구글이 중심이된 OHA(Open Handset Aliance)에서 개발한 완전히 개방된 모바일 플랫폼


andro(인간) + oid(oeides) (~와 같은) => Android (인간을 닮은 것 = 인조인간)





2. 안드로이드의 주요 특징


다양한 기술을 수용하고 빠르게 혁신할 수 있는 개방적인 모바일 플랫폼을 구축


- 리눅스 커널 기반 : 안드로이드는 운영체제 커널로 리눅스 커널을 이용하여 내부 뼛속까지 오픈소스 기반으로 구성됨.

리눅스는 대표적인 공개 운영체제이며 상당히 오랜 기간 동안 오픈소스를 대표하는 소프트웨어로 발전해왔음.


- 자바 프로그래밍 언어 사용 : 안드로이드 애플리케이션은 기본적으로 자바 프로그래밍 언어로 개발됨.

이는 인터넷과 오픈소스 진영에서 많이 사용되는 자바를 모바일 영역에서까지 채택하여 많은 자바 개발자들이 쉽게 안드로이드 애플리케이션을 개발할 수 있도록 함.

인터넷 오픈소스 진영에 있던 많은 자바 개발자들에게 안드로이드는 자신들의 경력을 모바일 영역으로까지 확대시킬 수 있는 좋은 수단이 됨.


- 많은 확장 라이브러리 제공 : 안드로이드는 애플리케이션 개발 시에 필요한 다양한 오픈소스 라이브러리들을 자체적으로 가지고 있음.

모바일 기기의 하드웨어에 의존적인 라이브러리(3G, WIFI, 블루투스 등 네트워크 라이브러리, 카메라, GPS, 각종 센서 라이브러리 등)에서부터 2D 그래픽이나 각종 포맷을 지원하는 멀티미디어 라이브러리까지 다양한 라이브러리를 제공

OpenGL, SQLite 등의 각종 써드파티 라이브러리들을 모바일 환경에 맞게 최적화하여 제공함으로써 개발자로 하여금 필요한 라이브러리를 찾고 이를 모바일 환경에 최적화하는 번거로움을 덜어줌.




3. 안드로이드 플랫폼


안드로이드는 운영체제와 프레임워크, 핵심 어플리케이션을 포함하고 있는 모바일 플랫폼


즉, 하나의 모바일 기기의 운영체제이자 다른 애플리케이션들을 개발하여 실행하는 소프트웨어 프레임워크


전화통신, 웹 브라우저, 주소록 등과 같은 필수 어플리케이션들이기도 함.




- Applications : 이메일 클라이언트, SMS 문자메시지 프로그램, 달력, 지도, 브라우저, 주소록 등과 같은 핵심 애플리케이션을 탑재

모든 애플리케이션은 자바 프로그래밍 언어를 사용하여 작성됨


- Application Framework : 애플리케이션 프레임워크는 안드로이드 애플리케이션을 만드는데 사용되는 각종 클래스 및 API들을 제공


- Android Runtime : 안드로이드 런타임은 런타임 시에 필요한 핵심 라이브러리 들과 달빅 VM(Dalvik Virtual Machine)으로 구성됨.

이 중 달빅 VM은 안드로이드 런타임의 핵심으로 모바일 환경에 최적화된 자바 VM임.

각 안드로이드 애플리케이션은 달빅 VM의 개별 인스턴스로 실행되어, 하나의 모바일 기기에서 여러 개의 인스턴스가 동시에 실행할 수 있게 함. -> 멀티 태스킹 환경 가능


- Libraries : 안드로이드는 다양한 C/C++ 라이브러리들을 포함하고 있음.

대표적으로 System C 라이브러리, Surface 매니저, 미디어 라이브러리, Webkit, SGL, 3D 라이브러리, FreeType, SQLite 등이 존재

이 라이브러리들은 안드로이드 애플리케이션 프레임워크를 통해 개발자에게 제공


- Linux Kernel : 리눅스 커널은 보안, 메모리 관리, 프로세스 및 쓰레드 관리, 네트워크 스택, 전원관리, 그리고 각종 하드웨어 드라이버 등과 같은 핵심 시스템 서비스들을 처리

리눅스 커널은 물리적인 하드웨어를 추상화하여 안드로이드 플랫폼에서 접근 가능하도록 하는 역할을 담당



이웃추가
facebook에 글올리기

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기