Machineboy空

VM(Virtual Machine) 가상 머신 본문

Computer/개념

VM(Virtual Machine) 가상 머신

안녕도라 2023. 10. 18. 10:27

VM(Virtual Machine)의 정의

  • VM은 실행 중인 애플리케이션과 운영체제를 포함하여 컴퓨터와 거의 동일한 모든 기능을 수행할 수 있는 컴퓨터의 가상화된 인스턴스입니다.

  • 가상 머신은 물리적 머신에서 실행되며 하이퍼바이저라고 불리는 소프트웨어에서 컴퓨팅 리소스에 엑세스한다.
  • 하이퍼바이저: 물리적 머신의 리소스를 필요에 따라 프로비저닝 및 배포를 할 수 있는 풀로 추상화하여 여러 VM이 단일 물리적 머신에서 실행되도록 한다.

VM(Virtual Machine)의 장단점

  • 장점
    • 가상 머신은 유지 및 관리가 간편하며 범용성이 뛰어나다.
    • 하나의 물리적 컴퓨터에서 여러 운영 체제 환경을 실행할 수 있다. 
      • 멀티 플랫폼과 대응이 가능하다 (android, ios 등 모든 플랫폼에서 빌드 가능)
    • 재해 복구 및 애플리케이션 프로비저닝 옵션 제공
  • 단점
    • 하나의 물리적 시스템에서 여러 가상 머신을 실행하면 성능이 불안정해질 수 있음
    • 가상 머신은 물리적 컴퓨터보다 효율성이 떨어지며 실행 속도도 느림

=> 언어 간 속도 차이가 나는 이유

  • C#, Java : VM을 활용하여 사용한다. 
    • 멀티 플랫폼에 대응할 수 있다는 장점이 있다. (Unity의 경우 android, iOS등 모든 플랫폼에 빌드가 가능하니까)
  • C++ 은 VM 없이 바로 실행
    • 따라서 실행 속도가 빠르다는 장점은 있다.

'Computer > 개념' 카테고리의 다른 글

Value vs Reference type  (0) 2023.10.24
Action, Delegate, 함수 포인터  (0) 2023.10.20
배열(Array)과 리스트(List)  (0) 2023.10.11
상속: virtual , override  (0) 2023.09.21
괄호들: Generic [ ], ( ), { }, < >  (0) 2023.09.20