Skip to Content
임베디드 안드로이드
book

임베디드 안드로이드

by Karim Yaghmour
May 2025
Beginner to intermediate
412 pages
7h 20m
Korean
O'Reilly Media, Inc.
Book available
Content preview from 임베디드 안드로이드

6장. 기본 사용자 공간

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

이쯤 되면 이미 여기저기서 몇 가지를 시도해 본 경험이 있거나 실제 안드로이드 시스템을 사용해 보고 싶다는 열망이 생겼을 것입니다. 모든 임베디드 시스템과 마찬가지로 최소한의 기능을 갖춘 시스템을 만든 다음 요구 사항이 충족될 때까지 점점 더 많은 하드웨어와 기능에 대한 지원을 추가하는 것이 일반적인 목표일 것입니다.

물론 최소한의 기능을 갖춘 안드로이드 시스템을 얻으려면 먼저 커널을 보드에 가져와야 합니다. 앞서 언급했듯이 안드로이드 호환 커널을 얻는 가장 좋은 방법은 SoC 공급업체에 문의하는 것이므로 커널 포팅 및 보드 가져오기는 이 책에서 다루는 범위를 벗어납니다. 하지만 최소한의 기능을 갖춘 커널을 확보했다면 가장 먼저 다루어야 할 안드로이드 구성 요소는 기본 사용자 공간입니다.

2장에서 설명한 대로 이 파운데이션은 Dalvik 가상 머신과 이 머신에서 실행되는 서비스 및 앱을 포함하여 안드로이드 스택의 모든 상위 계층을 위한 호스팅 환경의 역할을 합니다. 또한 안드로이드 하드웨어 지원의 일부가 구현되는 곳이기도 합니다. 따라서 지금이 바로 Android의 기본 사용자 환경을 자세히 살펴볼 수 있는 좋은 시기입니다. 다른 점이 없다면, 대부분의 클래식 임베디드 Linux 시스템에서 볼 수 있는 것과는 충분히 다르므로 별도의 논의가 필요합니다.

파일 시스템

4장에서는 빌드 시스템의 작동 방식과 생성되는 이미지에 대해 설명했습니다. 특히 표 4-3에서는 빌드 시스템에서 일반적으로 생성되는 이미지의 자세한 목록을 제공했습니다. 반대로 그림 6-1은 런타임에 이러한 이미지가 서로 어떻게 연관되는지 보여줍니다. 나중에 다룰 몇 가지 예외를 제외하면 이 파일 시스템 레이아웃은 2.3/Gingerbread와 4.2/Jelly Bean에서 기본적으로 동일합니다.

빌드 시스템에서 생성된 이미지에서 그림 6-1에 표시된 런타임 구성으로 이동하는 방법을 이해하려면 2장의 시스템 시작 설명으로 돌아가서, 보다 구체적으로 그림 2-6에 표시된 부팅 프로세스를 참조해야 합니다. 기본적으로 커널은 빌드 시스템에서 생성된 RAM 디스크 이미지를 루트 파일 시스템으로 마운트하고 해당 이미지에 있는 초기화 프로세스를 시작합니다. 이 장의 뒷부분에서 살펴보겠지만 이 초기화 프로세스의 구성 파일은 루트 파일시스템의 기존 디렉토리 항목에 여러 추가 이미지와 가상 파일시스템을 마운트하게 합니다.

Android root filesystem
그림 6-1. 안드로이드 루트 파일 시스템

"왜 이렇게 파일시스템이 많은가?"라는 질문을 가장 먼저 하실 수 있습니다. 실제로 왜 하나의 파일시스템 이미지에 모든 것을 저장하지 않을까요? 그 답은 각 이미지의 용도가 다르고 사용되는 저장 장치나 기술의 특성이 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

밑바닥부터 시작하는 딥러닝

밑바닥부터 시작하는 딥러닝

사이토 고키

Publisher Resources

ISBN: 9798341659803