티스토리 뷰

가상화기술 VT(VirtualizationTechnology)


 


이번 포스트는 가상화 기술 (Vitualization Technology)과 관련내용입니다.

가상화란 간단히 말해 컴퓨터 안에 또 다른 가상의 컴퓨터를 돌리는 기술입니다.

실생활에서의 가상화라 한다면, 우리가 알게 모르게 많이 접하는 JavaVM 이 있습니다.


여러가지 분야에서 여러가지 이유로 가상화를 이용하고 있지만,

제 경우에는 안드로이드 앱 개발용도로 사용합니다.

앱을 개발하는 과정에서 테스트용 스마트폰을 PC상에서 구동하게 되는데,

이때 하스웨어가 지원하는 가상화 기술을 활용해서 좀더 쾌적한

(심지어 실물 스마트폰 보다 빠를 때도) 개발환경을 구축하고자 합니다.


가상화 기술은 반드시 하드웨어적인 서포트가 필요한 것은 아니지만,

하드웨어 서포트가 된다면 더 좋은 성능으로 이용할 수 있습니다.

가상화에 대해 이야기 하자면 끝도 없는 관계로,

오늘은 제가 사용할 용도인 안드로이드 개발 관련 이야기를 해볼까요?



안드로이드 개발툴인 안드로이드 스튜디오에는 AVD 라는 가상 스마트폰 프로그램이 있습니다.

허나 이 AVD는 느린속도 때문에 원성이 자자했는데요, 이를 딱히 여겼는지 인텔이 HAXM이라는 가상화 가속기를 내놓습니다.

이 HAXM과 함께 AVD를 사용할 경우 AVD 가상스마트폰 구동시 상당히 큰 속도 향상이 있었고,

안드로이드 앱 개발자들에게는 가뭄에 단비같은 존재가 되었지요.


하지만 이녀석은 CPU에서 가상화(VT)를 지원해야 합니다.

지원하지 않을 경우 HAXM 설치가 안되는 좌절스러운 상황에 놓이게 됩니다.





CPU의 가상화 지원여부는 ark.intel.com 에 방문해서 자신이 사용중인 cpu 모델명을 검색해보면

자세한 스펙이 나옵니다. 그중 Intel® Virtualization Technology (VT-x) 항목을 확인해 보시면

해당 CPU의 가상화기술 지원여부를 알 수 있습니다.






바이오스(BIOS)에서 VT-d 활성시키기


가상화 기술중 VT-d라는 것이 있습니다.

CPU가 하드웨어적으로 지원하는 가상화(VT)에서 조금더 확장된 개념으로

I/O에 대한 가상화 지원을 위해 VT-d 기술이 나오게 됩니다.


기존 가상화환경에서 하드디스크에 접근하려면


CPU <-> 메모리 <-> 가상화에뮬레이션 <-> 디스크 등 저장장치


이런식의 흐름이었는데, VT-d 기능이 활성화 되있을시에는,


CPU <-> 메모리 <-> 저장장치


이런식으로 저장장치에 대한 에뮬레이션 없이 거의 직접적으로 접근이 가능하게 됩니다.

즉, 실제장치를 가상장치인 것 처럼 에뮬레이션으로 할 필요가 없어지는 것이죠.

위의 흐름은 매우 단순화 한 것으니 개념적인 참고만 하시면 되겠습니다.



이 VT-d를 활용하려면 칩셋에서 지원해야 하는데

제가 써본 메인보드들은 VT-d 설정이 기본적으로 켜져있지 않더군요.

제 PC의 BIOS설정을 확인해 보니 역시나, Disabled 되있는 상태였고,

아래 스크린샷 처럼 활성화 시켜줬습니다.






댓글
  • 프로필사진 굿프린스 이 VT-d 기능 설정은 모모나 블루스택같은 멀티 앱플레이어와는 전혀 무관한건가요? 2018.12.31 12:37
댓글쓰기 폼