Summary of virtual machine technology (400 words)

上級600 words
2026-02-20

Virtual machine technology allows one physical computer to run multiple “virtual” computers at the same time. Each virtual machine (VM) behaves like a separate computer with its own operating system, applications, and settings. This is made possible by software called a hypervisor, such as VMware ESXi or Microsoft Hyper-V. The hypervisor sits between the hardware and the virtual machines, allocating CPU, memory, storage, and network resources to each VM.

仮想マシンテクノロジーは、1台の物理コンピューターで複数の「仮想」コンピューターを同時に実行することを可能にします。各仮想マシン(VM)は、独自のオペレーティングシステム、アプリケーション、設定を持つ独立したコンピューターのように動作します。これは、VMware ESXiやMicrosoft Hyper-Vなどのハイパーバイザーと呼ばれるソフトウェアによって実現されます。ハイパーバイザーはハードウェアと仮想マシンの間に位置し、CPU、メモリ、ストレージ、ネットワークリソースを各VMに割り当てます。

For example, a single physical server can run both Windows Server and Ubuntu at the same time as separate virtual machines. This improves hardware utilization, reduces costs, and makes it easier to test different environments safely. If one VM crashes, the others are usually unaffected, which increases stability and isolation.

例えば、1台の物理サーバーで、Windows ServerとUbuntuをそれぞれ別の仮想マシンとして同時に実行できます。これにより、ハードウェアの使用率が向上し、コストが削減され、異なる環境を安全にテストすることが容易になります。1台のVMがクラッシュしても、他のVMは通常影響を受けないため、安定性と分離性が向上します。

However, traditional virtual machines can be relatively heavy because each VM includes a full operating system. This is where container technology becomes important. Docker is a popular container platform that packages an application together with its libraries and dependencies into a “container.” Unlike a VM, a container does not include a full operating system. Instead, it shares the host OS kernel. This makes containers much lighter and faster to start compared to VMs.

しかし、従来の仮想マシンは、各VMに完全なオペレーティングシステムが搭載されているため、比較的重くなることがあります。ここでコンテナテクノロジーが重要になります。Dockerは、アプリケーションとそのライブラリおよび依存関係を「コンテナ」にパッケージ化する、人気のコンテナプラットフォームです。VMとは異なり、コンテナには完全なオペレーティングシステムは搭載されていません。代わりに、ホストOSカーネルを共有します。これにより、コンテナはVMに比べてはるかに軽量で起動も高速になります。

You can think of VMs as full houses built on one piece of land, while containers are more like apartments in the same building. Both provide separation, but containers share more underlying structure, making them more efficient.

VMは一つの土地に建てられた一軒家のようなもので、コンテナは同じ建物内のアパートのようなものだと考えてください。どちらも分離を提供しますが、コンテナはより多くの基盤構造を共有しているため、より効率的です。

Another related technology is Windows Subsystem for Linux (WSL). WSL allows users to run a Linux environment directly on Windows without needing a traditional virtual machine. In its newer version, WSL 2, Microsoft actually uses a lightweight virtual machine behind the scenes. This VM is optimized and runs automatically, so users do not need to manage it manually. WSL is especially useful for developers who want to use Linux tools while working on a Windows computer.

もう1つの関連技術は、Windows Subsystem for Linux(WSL)です。WSLを使用すると、従来の仮想マシンを必要とせずに、Windows上で直接Linux環境を実行できます。新しいバージョンのWSL 2では、Microsoftは実際に軽量の仮想マシンをバックグラウンドで使用しています。このVMは最適化され、自動的に実行されるため、ユーザーが手動で管理する必要はありません。WSLは、Windowsコンピューターで作業しながらLinuxツールを使用したい開発者にとって特に便利です。

In summary, virtual machines provide strong isolation by running full operating systems, containers like Docker provide lightweight and efficient application isolation, and WSL bridges Windows and Linux environments for development convenience. Together, these technologies form the foundation of modern cloud computing and DevOps practices.

まとめると、仮想マシンは完全なオペレーティングシステムを実行することで強力な分離を提供し、Dockerなどのコンテナは軽量で効率的なアプリケーション分離を提供し、WSLは開発の利便性のためにWindowsとLinux環境を橋渡しします。これらの技術が組み合わさって、現代のクラウドコンピューティングとDevOpsプラクティスの基盤を形成しています。

Host OS Kernel について

前提

  • OS(Operating System):WindowsやLinuxのような基本ソフト
  • カーネル(Kernel):OSの「中核部分」

カーネルは、OSの中でも特に重要な部分で、次のような役割を担っています。

  • CPUやメモリの管理
  • ディスクやネットワークの制御
  • アプリケーションからの要求をハードウェアに伝える

つまり、ハードウェアとソフトウェアをつなぐ司令塔のような存在です。

→ 上記を踏まえてホストOSカーネルとは?

  • ホストOS:そのマシンに直接インストールされている元のOS
  • ホストOSカーネル:そのホストOSの中核部分

たとえば、Windows上で Docker を動かしている場合、Dockerコンテナは(仕組みによっては)WindowsやLinuxの「ホストOSのカーネル」を共有します。
コンテナは仮想マシンのようにOSを丸ごと持たず、ホストOSのカーネルを共同利用することで軽量化を実現しています。
一方、従来の仮想マシンは、ゲストOSごとにカーネルを持つため、その分リソース消費が大きくなります。

DevOps について

開発チームと運用チームが協力して開発を進める、システム開発手法の1つ。
ソフトウェア開発の「Development(開発)」と「Operations(運用)」から成るため DevOps