출처 : "안드로이드 플랫폼 포팅과 활용" - 전용준, 김한철,이명윤, 변태영 공저
// 안드로이드 : 구글의 휴대폰용 오픈 소스 소프트웨어 플랫폼 및 주변 도구를 의미.
운영체제부터 미들웨어, 그리고 자바 언어로 개발되는 즁요 응용프로그램, 사용자 편의 인터페이스까지 모두 포괄하는 "모바일 단말을 위한 소프트웨어 스택"이다.
말그대로 플랫폼이다.
// 특징 :
1. 안드로이드 플랫폼은 리눅스 커널을 채택하였다.
리눅스 커널에는 많은 하드웨어 메이커가 직접 제공한 디바이스 드라이버들이 있다. 리눅스 커널을 채택한 것은 많은 하드웨어에 쉽게 이식할 수 있기 때문이다.
하지만 커널 이외에는 리눅스관련 소프트웨어를 사용하지 않는다. 예를들면 구글은 표준 C라이브러리 'libc'는 BSD UNIX의 것임을 분명히 밝히고 있다.
2. 응용 소프트웨어 실행환경은 자바 가상머신 환경이며 자바언어를 사용하여 구현한다.
안드로이드의 아키텍쳐는 리눅스커널상에 네이티브코드로 동작하는 라이브러리군과 'Dalvik VM'이라 부르는 독자적인 VM실행환경, 그리고 그 위에서 동작하는 애플리케이션 프레임워크로 구성되어있다.
운영체제부터 미들웨어, 그리고 자바 언어로 개발되는 즁요 응용프로그램, 사용자 편의 인터페이스까지 모두 포괄하는 "모바일 단말을 위한 소프트웨어 스택"이다.
말그대로 플랫폼이다.
// 특징 :
1. 안드로이드 플랫폼은 리눅스 커널을 채택하였다.
리눅스 커널에는 많은 하드웨어 메이커가 직접 제공한 디바이스 드라이버들이 있다. 리눅스 커널을 채택한 것은 많은 하드웨어에 쉽게 이식할 수 있기 때문이다.
하지만 커널 이외에는 리눅스관련 소프트웨어를 사용하지 않는다. 예를들면 구글은 표준 C라이브러리 'libc'는 BSD UNIX의 것임을 분명히 밝히고 있다.
2. 응용 소프트웨어 실행환경은 자바 가상머신 환경이며 자바언어를 사용하여 구현한다.
안드로이드의 아키텍쳐는 리눅스커널상에 네이티브코드로 동작하는 라이브러리군과 'Dalvik VM'이라 부르는 독자적인 VM실행환경, 그리고 그 위에서 동작하는 애플리케이션 프레임워크로 구성되어있다.
// Dalvik 가상머신 : 임베디드 시스템 환경을 위해 설계된 자바 가상머신으로서 기존 자바 실행파일 형식과 다른 실행파일 형식(.dex)을 사용하여 실행파일의 크기와 성능을 임베디드 시스템 환경에 최적화하였다.
// JNI : Java Native Interface

// 파일 시스템

// 메모리 구조

// 기타 참고 그림



댓글 없음:
댓글 쓰기