Page 410 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 410
정보통신기기 프로젝트
Linux 커널
Android 플랫폼의 기반은 Linux 커널입니다. 예를 들어, ART(Android 런타임)는 스레딩 및 하위 수준
의 메모리 관리와 같은 기본 기능에 Linux 커널을 사용합니다.
Linux 커널을 사용하면 Android가 주요 보안 기능을 활용하고 기기 제조업체가 널리 알려진 커널용
하드웨어 드라이버를 개발할 수 있습니다.
HAL(하드웨어 추상화 계층)
HAL(하드웨어 추상화 계층)은 상위 수준의 Java API 프레임워크에 기기 하드웨어 기능을 노출하는
표준 인터페이스를 제공합니다. HAL은 여러 라이브러리 모듈로 구성되어 있으며, 카메라 또는 블루투스
모듈과 같은 특정 유형의 하드웨어 구성 요소를 위한 인터페이스를 구현합니다. 프레임워크 API가 기기
하드웨어에 액세스하기 위해 호출을 수행하면 Android 시스템이 해당 하드웨어 구성 요소에 대한 라이
브러리 모듈을 로드 합니다.
Android 런타임
Android 버전 5.0(API 레벨 21) 이상을 실행하는 기기의 경우, 각 앱이 자체 프로세스 내에서 자체
ART(Android 런타임) 인스턴스로 실행됩니다. ART는 DEX 파일을 실행하여 저용량 메모리 기기에서 여
러 가상 머신을 실행하도록 작성되었습니다. DEX 파일은 Android용으로 특별히 설계된 바이트코드 형
식으로, 최소 메모리 공간에 맞게 최적화되어 있습니다. Jack과 같은 툴체인을 빌드하고, Java 소스를
Android 플랫폼에서 실행될 수 있는 DEX 바이트코드로 컴파일합니다.
ART의 주요 기능
AOT(Ahead-Of-Time) 및 JIT(Just-In-Time) 컴파일
최적화된 가비지 수집(GC)
전용 샘플링 프로파일러, 상세 진단 예외 및 크래시 보고, watchpoint를 설정하여 특정 필드를 모
니터링할 수 있는 기능을 비롯한 향상된 디버깅 지원 기능
Android 버전 5.0(API 레벨 21) 이전 버전에서는 Dalvik이 Android 런타임이었습니다. 앱이 ART에서
제대로 실행되면 Dalvik에서도 제대로 실행되지만, 그 반대의 경우 제대로 실행된다는 보장은 없습니다.
Android에는 Java API 프레임워크가 사용하는 몇 가지 Java 8 언어 기능을 포함하여 대부분의 Java
프로그래밍 언어 기능을 제공하는 일련의 핵심 런타임 라이브러리도 포함되어 있습니다.
정보통신기기과
- 403 -