Paravirtualization is a form of not-quite-virtualization employed by Xen. The Xen team decided that virtualizing x86 was not only hard but also not actually necessary most of the time. Instead, they created a virtualized subset of the x86 architecture, without the difficult bits, that ran on x86.
The downside of this approach is that most operating systems are not written to run on this subset of x86. This means that you can’t just take an existing OS and install it on Xen.
Fortunately, it is relatively easy to port an operating system to Xen. Linux, NetBSD, and FreeBSD all run with Xen already, and a Solaris port is underway. The performance of an OS running inside Xen is typically within 10 percent of the same system running on the bare hardware.
Paravirtualization is only really a short-term solution. Both AMD and Intel have extensions to the x86 instruction set that permit true virtualization. Once these are widely deployed, paravirtualization can fade away as a footnote in history, but until then they are quite optimal.