SmartOS is a specialized Type 1 Hypervisor platform based on illumos. It supports two types of virtualization:
OS Virtual Machines (Zones, Containers): A light-weight virtualization solution offering a complete and secure userland environment on a single global kernel, offering true bare metal performance and all the features illumos has, namely dynamic introspection via DTrace
Hardware Virtual Machines (KVM, Bhyve): A full virtualization solution for running a variety of guest OS's including Linux, Windows, *BSD, Plan9 and more
SmartOS is a "live OS", it is always booted via PXE, ISO, or USB Key and runs entirely from memory, allowing the local disks to be used entirely for hosting virtual machines without wasting disks for the root OS. This architecture has a variety of advantages including increased security, no need for patching, fast upgrades and recovery.
Virtualization in SmartOS builds on top of the foundational illumos technologies inherited from OpenSolaris, namely:
ZFS for storage virtualization
Crossbow (dladm) for network virtualization
Zones for virtualization and containment
DTrace for introspection
SMF for service management
RBAC/BSM for auditing and role based security
And more SmartOS is typically "installed" by downloading and copying the OS image onto a USB key and then booting that key. On the first boot a configuration utility will configure your base networking, allow you to set the root password, and allow you to select which disks to use to create the ZFS Zpool which will provide persistent storage.
When you log into SmartOS you will enter the hypervisor, aka "global zone". From here you can download VM Images using the imgadm tool, which are pre-configured Container and HVM virtual machines. You can then use the vmadm tool to create and manage both containers and hardware virtual machines.
An important aspect of SmartOS is that both OS (Zones) and hardware virtual machines are both built on Zones technology. In the case of OS virtualization, the guest virtual machine is provided with a complete userland environment on which to run applications directly. In the case of HVM virtualization, the qemu or bhyve process will run within a stripped down Zone. This offers a variety of advantages for administration, including a common method for managing resource controls, network interfaces, and administration. It also provides HVM guests with an additional layer of security and isolation not offered by other virtualization platforms.
Finally, instances are described in JSON. Both administrative tools, imgadm and vmadm, accept and return all data in JSON format. This provides a simple, consistent, and programmatic interface for creating and managing VM's.