VMware ESX
Enterprise-class, type-1 hypervisor for deploying and serving virtual computers

VMware ESX (formerly named ESXi) and a different historic VMware ESX are enterprise-class, type-1 hypervisors developed by VMware, now a subsidiary of Broadcom, for deploying and serving virtual computers. As type-1 hypervisors, ESX is not a software application that is installed on an operating system (OS); instead, they include and integrate vital OS components, such as a kernel.
Prior to ESXi 3.0 (released in 2008) there was only the original hypervisor named ESX, and for a while both hypervisor products existed (until the final 4.1 release of the historic ESX in 2010). ESXi replaces the Service Console (a rudimentary operating system) with a more closely integrated OS. ESX/ESXi is the primary component in the VMware Infrastructure software suite. However from version 9.0, VMware renamed ESXi to ESX despite the name having already been used before for their earlier hypervisor product.
The name ESX originated as an abbreviation of Elastic Sky X. In September 2004, the replacement for ESX was internally called VMvisor, but later changed to ESXi (as the "i" in ESXi stood for "integrated").
01Architecture
ESX runs on bare metal (without running an operating system) unlike other VMware products. It includes its own kernel. In the historic VMware ESX, a Linux kernel was started first and then used to load a variety of specialized virtualization components, including ESX, which is otherwise known as the vmkernel component. The Linux kernel was the primary virtual machine; it was invoked by the service console. At normal run-time, the vmkernel was running on the bare computer, and the Linux-based service console ran as the first virtual machine. VMware dropped development of historic ESX at version 4.1, and now exclusively uses ESXi (since renamed to ESX in 2025), which does not include a Linux kernel at all.
The vmkernel is a microkernel with three interfaces: hardware, guest systems, and the service console (Console OS).
Interface to hardware
The vmkernel handles CPU and memory directly, using scan-before-execution (SBE) to handle special or privileged CPU instructions and the SRAT (system resource allocation table) to track allocated memory.
Access to other hardware (such as network or storage devices) takes place using modules. At least some of the modules derive from modules used in the Linux kernel. To access these modules, an additional module called vmklinux implements the Linux module interface. According to the README file, "This module contains the Linux emulation layer used by the vmkernel."
The vmkernel uses the device drivers:
- net/e100
- net/e1000
- net/e1000e
- net/bnx2
- net/tg3
- net/forcedeth
- net/pcnet32
- block/cciss
- scsi/adp94xx
- scsi/aic7xxx
- scsi/aic79xx
- scsi/ips
- scsi/lpfcdd-v732
- scsi/megaraid2
- scsi/mptscsi_2xx
- scsi/qla2200-v7.07
- scsi/megaraid_sas
- scsi/qla4010
- scsi/qla4022
- scsi/vmkiscsi
- scsi/aacraid_esx30
- scsi/lpfcdd-v7xx
- scsi/qla2200-v7xx
These drivers mostly equate to those described in VMware's hardware compatibility list. All these modules fall under the GPL. Programmers have adapted them to run with the vmkernel: VMware Inc. has changed the module-loading and some other minor things.
Service console
In the historic ESX, the Service Console is a vestigial general purpose operating system most significantly used as bootstrap for the VMware kernel, vmkernel, and secondarily used as a management interface. Both of these Console Operating System functions were deprecated since historic ESX development stopped at version 4.1 and so the next version of 5.0 was ESXi only. The Service Console, for all intents and purposes, is the operating system used to interact with VMware ESX and the virtual machines that run on the server.
Purple Screen of Death
In the event of a hardware error, the vmkernel can catch a Machine Check Exception. This results in an error message displayed on a purple diagnostic screen. This is colloquially known as a purple diagnostic screen, or purple screen of death (PSoD, named by analogy to the blue screen of death (BSoD)).
Upon displaying a purple diagnostic screen, the vmkernel writes debug information to the core dump partition. This information, together with the error codes displayed on the purple diagnostic screen can be used by VMware support to determine the cause of the problem.

02Versions
VMware ESX used to be available in two main types: ESX (version 4.1 and earlier) and ESXi (version 3.5 onwards), but as of version 5, the original ESX has been discontinued in favor of ESXi (since renamed to ESX from version 9.0 onwards).
Historic ESX and ESXi before version 5.0 do not support Windows 8/Windows 2012. These Microsoft operating systems can only run on ESXi 5.x or later.
VMware ESX (formerly ESXi) is a smaller-footprint version of ESX which does not include the ESX Service Console nor use a Linux Kernel. Before Broadcom acquired VMware, it was available - without the need to purchase a vCenter license - as a free download from VMware, with some features disabled.
ESXi stood for "ESX integrated".
VMware ESX (formerly ESXi) originated as a compact version of VMware ESX (historic) that allowed for a smaller 32 MB disk footprint on the host. With a simple configuration console for mostly network configuration and remote based VMware Infrastructure Client Interface, this allows for more resources to be dedicated to the guest environments.
Two variations of ESX exist:
- VMware ESX Installable
- VMware ESX Embedded Edition
The same media can be used to install either of these variations depending on the size of the target media. One can upgrade ESXi to VMware Infrastructure 3 or to VMware vSphere 4.0 ESXi.
ESXi was originally named VMware ESX Server ESXi edition, through several revisions the ESXi product finally became VMware ESXi 3. New editions then followed: ESXi 3.5 up to ESXi 8, before being renamed to ESX with version 9.
03GPL violation lawsuit
VMware was sued by Christoph Hellwig, a Linux kernel developer. The lawsuit began on March 5, 2015. It was alleged that VMware had misappropriated portions of the Linux kernel, and, following a dismissal by the court in 2016, Hellwig announced he would file an appeal.
The appeal was dismissed by the German court in February 2019, on the basis of not meeting "procedural requirements for the burden of proof of the plaintiff".
In the last stage of the lawsuit in March 2019, the Hamburg Higher Regional Court also rejected the claim on procedural grounds. Following this, VMware officially announced that they would remove the code in question. This followed with Hellwig withdrawing his case, and withholding further legal action.

05Known limitations
As of September 2020, these are the known limitations of VMware ESXi 7.0 U1.
Infrastructure limitations
Some maximums in ESXi Server 7.0 may influence the design of data centers:
- Guest system maximum RAM: 24 TB
- Host system maximum RAM: 24 TB
- Number of hosts in a high availability or Distributed Resource Scheduler cluster: 96
- Maximum number of processors per virtual machine: 768
- Maximum number of processors per host: 768
- Maximum number of virtual CPUs per physical CPU core: 32
- Maximum number of virtual machines per host: 1024
- Maximum number of virtual CPUs per fault tolerant virtual machine: 8
- Maximum guest system RAM per fault tolerant virtual machine: 128 GB
- VMFS5 maximum volume size: 64 TB, but maximum file size is 62 TB -512 bytes
- Maximum Video memory per virtual machine: 4 GB
Performance limitations
In terms of performance, virtualization imposes a cost in the additional work the CPU has to perform to virtualize the underlying hardware. Instructions that perform this extra work, and other activities that require virtualization, tend to lie in operating system calls. In an unmodified operating system, OS calls introduce the greatest portion of virtualization "overhead".
Paravirtualization or other virtualization techniques may help with these issues. VMware developed the Virtual Machine Interface for this purpose, and selected operating systems currently support this. A comparison between full virtualization and paravirtualization for the ESX Server shows that in some cases paravirtualization is much faster.
Network limitations
When using the advanced and extended network capabilities by using the Cisco Nexus 1000v distributed virtual switch the following network-related limitations apply:
- 64 ESX/ESXi hosts per VSM (Virtual Supervisor Module)
- 2048 virtual Ethernet interfaces per VMware vDS (virtual distributed switch)
- and a maximum of 216 virtual interfaces per ESX/ESXi host
- 2048 active VLANs (one to be used for communication between VEMs and VSM)
- 2048 port-profiles
- 32 physical NICs per ESX/ESXi (physical) host
- 256 port-channels per VMware vDS (virtual distributed switch)
- and a maximum of 8 port-channels per ESX/ESXi host
Fibre Channel Fabric limitations
Regardless of the type of virtual SCSI adapter used, there are these limitations:
- Maximum of 4 Virtual SCSI adapters, one of which should be dedicated to virtual disk use
- Maximum of 64 SCSI LUNs per adapter
Sources and credits
This article is adapted from the Wikipedia article “VMware ESX”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Images, from Wikimedia Commons:
- VMwareESXiHostClientSummary.png by VMware, Fair use
- VMware ESX PSOD.png by Unknown author, Public domain
- VMware ESXi 4.1 PSOD.jpg by Zidane2k1, Public domain
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.