호스트 OS는 기본 하드웨어와 상호 작용하는 컴퓨터에 설치된 소프트웨어이며 일반적으로 가상화된 서버에서 게스트 운영 체제와 구별하는 데 사용되는 운영 체제를 설명하는 데 사용됩니다.
호스트 OS는 하드웨어와 상호 작용하고 유형 2 하이퍼바이저를 실행하는 운영 체제를 설명하는 데 가장 일반적으로 사용됩니다. 호스트형 하이퍼바이저라고도 하는 유형 2 하이퍼바이저는 하드웨어와 직접 상호 작용하지 않고 호스트 운영 체제 위에서 실행됩니다. 그러면 이 유형 2 하이퍼바이저는 각각 게스트 운영 체제를 실행할 여러 가상 머신(VM)을 생성할 수 있습니다. 이 경우 게스트 운영 체제는 호스트 운영 체제와 동일할 필요가 없습니다.
Apple의 OS X 운영 체제를 실행하는 컴퓨터의 실제 예를 살펴보겠습니다. 사용자가 Windows 운영 체제에서만 사용할 수 있는 응용 프로그램을 실행하려는 경우 사용자는 가상화를 사용하고 OS X를 실행하는 컴퓨터에 VMware Fusion과 같은 유형 2 하이퍼바이저를 설치할 수 있습니다. 그런 다음 사용자는 VMware Fusion 하이퍼바이저를 사용하여 VM을 만들고 해당 VM에 Windows 10을 운영 체제로 설치합니다. 그러면 사용자는 이 VM 내에서 자신의 Windows 애플리케이션을 실행할 수 있습니다. 컴퓨터에 설치된 OS X의 원래 인스턴스는 호스트 운영 체제로 간주되고 Windows 10(VM에서 실행)은 게스트 운영 체제로 간주됩니다.
그러나 모든 가상화된 서버가 호스트 운영 체제를 사용하는 것은 아닙니다. 대부분의 경우 베어메탈 하이퍼바이저라고도 하는 유형 1 하이퍼바이저는 서버의 하드웨어에 직접 설치됩니다. 유형 1 하이퍼바이저는 호스트 OS를 대신하여 게스트 운영 체제를 실행할 수 있는 가상 머신을 생성할 수 있습니다.
호스트 운영 체제라는 용어는 컨테이너 기반 가상화를 사용하는 운영 체제를 설명하는 데에도 사용할 수 있습니다. 컨테이너는 본질적으로 동일한 서버에서 애플리케이션을 분리하는 데 사용되는 논리적 파티션입니다. VM의 경우처럼 각 응용 프로그램에 대해 전체 운영 체제를 복제하는 대신 컨테이너를 사용하면 동일한 서버의 응용 프로그램이 동일한 운영 체제 커널을 공유하지만 여전히 하드웨어 격리를 제공할 수 있습니다. 이 공유 운영 체제를 호스트 OS라고 합니다.
서버 관리자는 VM의 게스트 운영 체제가 컨테이너의 호스트 운영 체제 역할도 하는 혼란스러운 상황에 직면할 수도 있습니다. 예를 들어 Linux 배포판을 게스트 OS로 실행하는 VM을 호스팅하는 VMware의 ESXi 유형 1 하이퍼바이저를 실행하는 서버를 생각해 보십시오. 그런 다음 Linux 게스트 OS를 사용하여 Linux OS 커널을 공유하는 여러 컨테이너를 만들 수 있으므로 호스트 OS로 간주될 수 있습니다.