DOSBox is not virtualization either.
Popek and Goldberg wrote about the necessary conditions for virtualization a long time ago. You can read about it here:
Popek and Goldberg virtualization requirements - Wikipedia, the free encyclopedia
Basically, until fairly recently x86 CPUs could not meet all of these requirements. Not all instructions were protected, particularly some that allowed reading protected state (as opposed to writing it). Since these additions were made, further tweaks were implemented to improve efficiency.
VMWare has also written some decent papers on the topic that you might want to look for.
Popek and Goldberg wrote about the necessary conditions for virtualization a long time ago. You can read about it here:
Popek and Goldberg virtualization requirements - Wikipedia, the free encyclopedia
Basically, until fairly recently x86 CPUs could not meet all of these requirements. Not all instructions were protected, particularly some that allowed reading protected state (as opposed to writing it). Since these additions were made, further tweaks were implemented to improve efficiency.
VMWare has also written some decent papers on the topic that you might want to look for.