jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all
Contents:
  1. 가상화
    1. 개념
    2. 하이퍼바이저
      1. 종류
    3. 가상화 방식
    4. 장점/단점

가상화

개념

  • 물리 하드웨어 위에 가상 하드웨어를 만들어 여러 게스트 OS1 실행

  • CPU의 가상화 지원(Intel VT-x/AMD-V)과 MMU2/페이지 테이블3을 활용해 격리와 성능 확보


하이퍼바이저

한 컴퓨터에서 여러 가상 머신 돌리게 해주는 가상화 전담 소프트웨어/레이어4다

종류

  • Type-1(베어메탈): 하드웨어 위에 직접 동작 (ESXi, Hyper-V, Xen, KVM). 서버/프로덕션 주력

  • Type-2(호스트형): 기존 OS 위의 앱처럼 동작 (VirtualBox, VMware Workstation, Parallels). 개발/학습에 편리


가상화 방식

  • 완전 가상화: 게스트 OS 수정 없이 구동

  • 준가상화(Para-virtualization): 게스트에 특수 드라이버(virtio 등)로 I/O 성능 향상

  • OS 수준 가상화(컨테이너): 커널은 공유, 프로세스·파일시스템만 격리 (Docker/Podman)
    부팅 빠름, 오버헤드5 매우 낮음, 대신 커널은 동일 계열이어야 함


장점/단점

  • 장점: 격리, 스냅샷/롤백, 자원 통합(Consolidation), 이식성 좋은 테스트 환경

  • 단점: I/O 성능 오버헤드5 가능, GPU/USB/특수장치는 패스스루 설정 필요, 운영 복잡도





  1. 가상 머신에 설치된 OS ↩

  2. 하드웨어 메모리 관리 장치, 가상주소를 물리주소로 바꾸고 접근 권한 검사. OS의 페이지 테이블 참조 ↩

  3. 가상 페이지를 물리 프레임에 연결하는 자료 구조 ↩

  4. 무엇(소프트웨어), 어디(레이어)인지를 표현 ↩

  5. 명령어 처리시 들어가는 간접적, 추가적인 컴퓨터 자원 ↩ ↩2