상세 컨텐츠

본문 제목

Virtual Machine

Computer Science/OS

by yellowmarine 2020. 10. 15. 15:58

본문

Virtual Machine

img

  • 말 풀이 그대로 가상 머신으로써 하나의 컴퓨팅 머신의 OS 위에 새로운 OS를 만들어 사용하는 것을 의미한다.
    • ex) Virtual box, KVM 등
  • 하나의 컴퓨팅 머신 위에 구분을 짓는 이유는 뭘까?

장점

  1. 하나의 컴퓨팅 머신 위에 서로 다른 두가지 OS를 구동 시킬 수 있다.

    ex1 ) 하나의 컴퓨팅 머신에서 ubuntu 와 cent os 두가지 운영체제를 쓰고 싶을 경우 혹은 특정

    ex2 ) 특정 software가 ubuntu bionic의 운영체제가 아니라 운영상의 문제로 ubuntu xenial을 써야하는 경우

  2. 한정된 자원에서 여러 이용자에게 격리된 서비스를 제공하기 위해

    ex) cloud 서비스를 제공하기 위해 PM의 자원을 instance에 할당 후 제공.

  3. 독립된 환경을 만들기 위해

    ex1 ) 새로운 서비스에 대한 error checking

    ex2 ) cloud 서비스를 제어하기 위한 각각의 component들에 대한 분리

단점

  1. 위의 그림에서 볼 수 있듯 하나의 OS위에 새로운 OS를 만들 환경을 만들어 주어야하기 때문에 VM들을 관리하기 위해 hypervisor가 필요하게 된다. 이러하기 때문에 오버헤드가 많아지게 된다.
  2. 기존 OS 위에 새로운 OS를 만들기 때문에 상대적으로 느리다.

여담

  • 최신에는 docker의 container를 사용하여 자체 OS들을 두지 않고 image 형식으로 관리를 한다.
  • 물론 docker container를 사용하더라도 container들을 관리할 부분이 존재를 하지만 가상화와 다르게 OS를 설치하는 부분들을 걷어내어 격리성을 없에고 이식성을 최대한 높이는 방향으로 설계가 가능하게 되었다.
  • 나아가서 kubernetes를 공부하는것도 좋을듯하다

'Computer Science > OS' 카테고리의 다른 글

Virtual Memory  (0) 2024.03.20
IPC(Inter Process Communication)  (0) 2024.03.20
Multiprocessor, Multiprograming  (0) 2020.10.13
OS, DMA  (0) 2020.10.13

관련글 더보기