아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
한가한게2
한가한게220.04.21

안드로이드 가상머신 구동 원리가 무엇인가요?

녹스, 블루스택, 미뮤 등의 안드로이드 앱플레이어 들이 있는데

이런 앱플레이어에서 안드로이드를 구동할 수 있는 원리는 무엇인가요?

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 일종의 애뮬레이터입니다.

    애뮬레이터는 가상의 하드웨어를 소프트웨어적으로 구현한 것이고, 애뮬레이터 위에 운영체제, 앱 등의 소프트웨어를 설치할 수 있게 하는 것입니다.

    안드로이드 앱플레이어의 경우는 애뮬레이터 위에 안드로이드 운영체제와 기본 앱들을 미리 설치해둬서 사용자에게 가상의 안드로이드 휴대폰으로 인식하도록 합니다.

    애뮬레이터에 대해 이해하시려면 먼저 하드웨어 자원과 운영체제를 이해해야 하는데, 하드웨어 자원은 제한적(cpu 갯수, memory 크기, disk 크기, 네트워크 대역폭 등)이기 때문에 운영체제는 하드웨어의 여러 자원(CPU, MEMORY, DISK, NETWORK 등) 을 효율적으로 관리하고, 어플리케이션들에게 자원을 할당해주는 기능을 합니다. 이렇게 되면 어플리케이션에서는 하드웨어에 대한 구체적 정보가 없이도 운영체제에게 필요한 만큼의 하드웨어 자원을 요청하면 되고, 운영체제는 하드웨어의 제한 범위 내에서 운영체제에게 적절하게 자원을 분배해줍니다.

    애뮬레이터는 일종의 하드웨어인 척 하는 어플리케이션입니다. 크게 보면 세가지 기능을 제공합니다.

    1. 하드웨어를 가상으로 제공하며, 그 용량을 애뮬레이터 설정된 값으로 제한합니다. 운영체제에서는 이 설정된 값에 따라 자원을 관리합니다.

    2. 애뮬레이터 내부의 운영체제가 하드웨어 자원요청을 부모 운영체제에게 중계합니다. 중계시 설정된 범위를 넘지 못하도록 애뮬레이터가 제한합니다.

    3. 실제 존재하지 않는 하드웨어(cdrom 드라이브, usb, 자이로스코프 센서, 가속 센서, gps 센서 등)를 가상으로 제공합니다. 그리고 애뮬레이터 내부의 운영체제와 실제 하드웨어인 것처럼 통신합니다.