Linus Torvalds has released the 2.6.20 Linux kernel, introducing two separate implementations of virtualisation, among other features.
Virtualisation has become a hot topic over the past year, and players such as VMware and XenSource have been angling to get their code included directly in the Linux kernel. However, developers have been reluctant to include a significant amount of code that would tie into a single vendor's technology.
The solution that arrives with kernel 2.6.20 is an implementation of paravirtualisation that can work with different hypervisors, Torvalds said. Paravirtualisation allows different virtual machines to run very efficiently, but needs either modification of the guest OS or support at the hardware level.
Xen is an open source example of paravirtualisation, and VMware ESX Server and Parallels Workstation also use the technique. The implementation in the new kernel supports i386 hardware.
The kernel also includes a relatively new technology called KVM (Kernel-based Virtual Machine), a full-virtualisation system developed by Qumranet, an Israel-based startup. KVM requires the hardware-based virtualisation support found in newer AMD and Intel processors.
It consists of two pieces of open-source software, the user module and the kernel module, kvm.ko, which has been included in Linux 2.6.20.
The technique of "full virtualisation", used by KVM as well as VMware Workstation, VMware Server and Parallels Desktop, among others, simulates enough hardware to allow unmodified guest operating systems as guests.
Other additions include support for relocatable x86 kernels and a debugging feature called fault injection.
Torvalds said that despite the addition of virtualisation and other new features, there were few basic changes to the kernel.
"I tried rather hard to make 2.6.20 largely a 'stabilisation release'," he wrote to the kernel development mailing list. "Unlike a lot of kernels lately, there aren't really any big fundamental changes to some core infrastructure area, and while we always have bugs, I really am hoping that we fixed many more than we introduced."