Developer.

1.7 Virtualization

📂 목차


📚 본문

Virtualization

가상화는 단일 컴퓨터의 하드웨어를 여러 실행 환경으로 추상화하여 독립된 컴퓨터처럼 동작하게 하는 기술이다. 보통 CPU, 메모리, 디스크 등 하드웨어를 여러 실행 환경으로 분리시키며, 각 환경이 독립된 컴퓨터처럼 작동하게 된다.

a-computer-running-a-a-single-operating-system-and-b-three-virtual-machines

  • 여러 운영체제를 동시에 실행하고 상호작용
  • 사용자 간의 환경 전환은 단일 운영체제의 프로세스 전환과 유사

예시
IBM 메인프레임: 다중 사용자가 단일 시스템에서 작업을 수행
VMware: Windows에서 게스트 OS 와 어플리케이션 실행

Emulation

소프트웨어로 하드웨어를 시뮬레이션만 하는 것이고 다른 CPU 아키텍쳐에서 실행하는 착각을 준다.

  • 소스 CPU 명령어를 타겟 CPU 명령어(다른 운영체제의 CPU 아키텍쳐 명령어)로의 변환 -> 전체 운영체제를 다른 플랫폼에서 실행이 가능

예시
Apple의 Rosetta: IBM Power CPU 어플리케이션을 Intel x86에서 실행가능

이는 성능 저하와 네이티브 코드보다 느린 단점이 뒤따른다.