안드로이드 OS 구조
2022. 9. 23. 21:52ㆍandroid
1. 리눅스 커널 계층
- 리눅스 기반으로 설계 리눅스 커널 사용
- 커널 = 하드웨어와 OS 의 중간다리 역할 , 하드웨어 자원을 관리하고 사용하게 하는 역할 )
2. 하드웨어 추상화 계층( HAL)
- 하드웨어에 맞는 표준 인터페이스
- 하드웨어가 어떻게 동작하는지 알 필요가 없음.
- 하드웨어의 영향을 주지 않고 수정과 변경이 가능하게 함
3. 네이티브 라이브러리 계층
- 핵심 안드로이드 시스템 구성요소와 서비스 라이브러리들이 모인 장소
- 대표적으로 OpenGL( 2D/3D 그래픽 작업)
4. 안드로이드 런타임 계층
- 실행중인 애플리케이션 코드들을 운영체제가 이해하도록 코드를 컴파일하는 계층.
- 달빅 VM을 쓰다가 ART로 변경
- BUT 달빅 JIT(Just In Time) 의 방식의 메모리를 많이 잡아먹는 문제로 인해 AOT(Ahead Of Time) 기반(설치시 한 번에 컴파일하여 바이트코드로 변환해두고 읽어들이는 형태) ART를 사용
5. 안드로이드 프레임워크
- 자바 API 프레임워크를 말한다. 개발자의 코드 작성 영역인 애플리케이션 계층과 자바 API 프레임워크 밑의 계층과의 다리 역할을 맡는다.
- 액티비티 생명주기, 언어 설정, 콘텐트 프로바이더 , 로케이션 매니저 , notification ,리소스 manager 등의 종류가 포함되어있다.
6. 애플리케이션 계층
일반 사용자들이 접하는 계층 , 기본 제공 앱과 스토어 다운 받은 앱이 속해 실행되는 영역
'android' 카테고리의 다른 글
Serialization(직렬화) & Deserialization(역직렬화) (0) | 2022.09.26 |
---|---|
어노테이션 뜻, 이유, 장점 (2) | 2022.09.25 |
gradle kotlin dsl migration - 2. Gradle 에서 kts 로 migration (0) | 2022.05.24 |
gradle kotlin dsl migration - 1.BuildSrc 폴더 생성하고 그 안에 build.gradle.kts 생성 (0) | 2022.04.27 |
android fragment lifecycle adapter 위치 정리 (0) | 2022.04.25 |