sysout-achieve / TIL_repo

Today I Learned
0 stars 0 forks source link

2020_0702 안드로이드에 대해서 (1/2) #117

Open sysout-achieve opened 4 years ago

sysout-achieve commented 4 years ago

안드로이드는 무엇인가

안드로이드는 구글에서 만든 스마트폰용 운영체제이다.

시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 집합니다.

안드로이드는 미들웨어, 사용자 인터페이스, 어플리케이션, MMS 서비스 등을 하나로 묶어 서비스를 제공하며 다양한 어플리케이션을 만들어 설치하면 실행될 수 있도록 구성된 어플리케이션 플랫폼이다.

리눅스 커널

커널은 하드웨어와 소프트웨어를 연결해주는 다리와 같은 중추적인 역할을 한다.

리눅스 운영체제가 가지고 있는 기본적인 기능들을 가지고 있으며 여기에 전세계에 공개된 오픈소스이기 때문에 안드로이드 시스템이 동작을 하기 필요한 기능들이 추가된 형태로 구성되어 있다. 하드웨어를 구동하기 위한 디바이스 드라이버, 메모리 관리, 프로세스 관리, 네트워크 관리 등과 같은 운영체제의 기본 역할을 담당한다.

하드웨어 추상화 계층(HAL)

복잡한 내부를 감추고 일관성 있는 인터페이스를 제공하기 위해 같은 종류의 하드웨어에 대한 공통 명령어 집합들로 이루어져 있는 것을 의미한다.

C와 C++로 이루어져 있다고 한다.

상위 수준의 Java API 프레임워크에 기기 하드웨어 기능을 사용할 수 있도록 표준 인터페이스를 제공

즉 프레임워크 API가 기기 하드웨어에 액세스 하기 위해 호출을 수행하면 Android 시스템이 해당 하드웨어 구성 요소에 대한 라이브러리 모듈을 로드한다.

하드웨어 추상화 계층이 필요한 이유


참조 : 안드로이드에 대해서 velog