Virtual Machines and Devices/Drivers

Jordus

Windows Guru
Power User
VIP
Local time
4:00 AM
Messages
159
I see a lot of questions on drivers and devices for Virtual machines. (Hyper-V, VMware, "XP mode", Virtual PC, etc)

Its important to understand that the devices the virtual machines see are not the actual hardware in the machine.

That is to say...the virtual machine might know that there is a network card available to use, but it doesnt know that the physical network card is a Broadcom 3c905 (for example). The virtual machine thinks that it is a pre-defined device that is written specifically for use in the virtual machine.

Same goes with other hardware, your Nvidia 9800 GTX would show up in the VM as a totally different piece of hardware. And this virtual piece of hardware does not have the features or power of the 9800 GTX nor does it require its device drivers.

Virtual machines use 2 types of devices. Emulated and Synthetic.

Emulated - Drivers/Devices that require a lot of physical box overhead to process for the virtual machine. Basically there is a lot of translation that the hypervisor (virtual pc, hyper-v, etc) must perform for the virtual device to utilize the physical device. These are the types of devices/drivers you will see used in Virtual PC and MS Virtual Server 2005 and some others.

Synthetic - Virtual Devices/Drivers that are highly optimized to perform very seamlessly with the underlying physical device. Hypervisor intervention/translation is kept minimal and therefore performance is greatly improved. Virtual machines using synthetic drivers are often said to be "enlightened". These are generally seen in bare metal hypervisors like Hyper-V and ESXi.


The important thing to take away from this post is that the actual physical devices in your computer are NOT what the virtual machine sees.

The network traffic from your virtual machine is passing through the physical network card, but the virtual machine will "see" a totally different device than what is actually in the computer. This goes for any device.

Hopefully this will clear up some confusion.


EDIT: Some additional reading if anyone would like

http://searchservervirtualization.techtarget.com/tip/0,289483,sid94_gci1312278,00.html
http://windowsitpro.com/article/articleid/99279/hyper-v-synthetic-devices.html
 

My Computer

OS
Windows Vista Business / Windows 7 Ultimate
Good explanation, this should be stickied.
 

My Computer

Computer Manufacturer/Model Number
self built
OS
Windows 7 Professional 64-bit
CPU
Intel E8400 3GHz
Motherboard
Intel DX48BT2
Memory
Kingston PC3-10700H 4Gb
Graphics Card(s)
XFX Radeon HD 5850 BlackEd.
Sound Card
Asus Xonar DG
Monitor(s) Displays
2x Samsung SM-T220HD 22"
Screen Resolution
1680x1050 on two monitors
Hard Drives
OCZ Vertex 2 120gb 3.5" (OS)
Seagate Momentus XT 500gb
Samsung F3 1Tb (games)
2x Samsung F1 1Tb
PSU
Thermaltake ToughPower 850w
Case
Thermaltake Armor
Cooling
Scythe Mugen II
Keyboard
Microsoft Comfort Curve USB
Mouse
Razer Diamondback 3G
Internet Speed
8128/443
<SNIP>
The important thing to take away from this post is that the actual physical devices in your computer are NOT what the virtual machine sees. <SNIP>

I think I am getting your point - but what about the actual non-existant devices in my computer that XP mode sees? E.g. in XP mode my drives include a floppy disk drive A: which physically doesn't exist in my machine... why do I score a virtual floppy? What can I do with that?

Still confused...

Cheers,

LMH
 

My Computer

Computer Manufacturer/Model Number
2 x home-brew
OS
Win 7 Ultimate 64-bit, Win7 N 32-bit, WHS
CPU
AMD 64 X2 3600+, AMD Phenom II X3 720BE
Motherboard
Gigabyte MA770-UD3, Gigabyte MA790GP-4UDH4, GA-890GPA-UDH3
Memory
4GB DDR2 OCZ dual-channel, 6GB DDR2 Corsair
Graphics Card(s)
Gigabyte HD 4850 on the dual-booter, built-in on others
Sound Card
2 x onboard
Monitor(s) Displays
LG Flatron W2353V
Screen Resolution
1920 x 1080
Hard Drives
Seagates, Samsung, WD
PSU
Corsair HX 620, Corsair 450, Kamariki et al.
Case
Lian Li PC-7F, Antec Sonata, Macase
Keyboard
Logitech diNovo Edge
Mouse
Logitech MX Revolution
Internet Speed
1500kb/s
Other Info
There's a few other PCs in my 'office', all older machines, running Ubuntu 9.10, Vista Ultimate and one surviving Windows ME machine (due to some old programs that I haven't moved...). I believe another 'veteran' still runs OpenSuse...
I'm of the opinion that a physical devices is unique interms of how the physical system sees them. For VM to be able to integrate with these devices they have to use emulation technology. You won't find device Ids (PCIs) to be idential in real machines and in VMs. At least i have not come across any.

"The important thing to take away from this post is that the actual physical devices in your computer are NOT what the virtual machine sees."

I'm not too certain this is entirely true. To be able to emulate devices, VMs needs to know for example what a DVD-ROM is and what a Floppy is. VM however has the ability to emulate/create pseudo devices which is why they are called Virtual Machines.

As for why there is a Floppy drive in XPM, apart from just been a Virtual thingie, there are apps that needs to be run from Floppy, you can mount a Floppy drive as you do a HDD. Crazy as it sound but that's the way it is.
 

My Computer

Computer Manufacturer/Model Number
Lenovo ThinkPad T60
OS
Windows 7 Ultimate 64Bit
CPU
GenuineIntel Intel(R) Core(TM) DuoCore T2400 @ 1.83GHz
Motherboard
Intel(R) 82801G (ICH7 Family)
Memory
2.00 GB
Graphics Card(s)
Mobile Intel(R) 945 Express Chipset
Sound Card
SoundMAX Integrated Digital HD Audio
Monitor(s) Displays
ThinkPad Display
Screen Resolution
1400x1050
Hard Drives
100Gb SATA
Keyboard
Standard Keyboard
Mouse
HID-compliant Mouse
Internet Speed
Cable Broadband - 54Mbps
Other Info
Intel(R) PRO/1000 PL Network Connection
11a/b/g Wireless LAN Mini PCI Express Adapter
<SNIP>
The important thing to take away from this post is that the actual physical devices in your computer are NOT what the virtual machine sees. <SNIP>

I think I am getting your point - but what about the actual non-existant devices in my computer that XP mode sees? E.g. in XP mode my drives include a floppy disk drive A: which physically doesn't exist in my machine... why do I score a virtual floppy? What can I do with that?

Still confused...

Cheers,

LMH

Its the same as any other virtual device. Actually, if you DIDNT have a floppy in your physical machine you can still add one in your VM. You can also add DVD/CD-roms even if you dont have a physical one, and just mount ISOs instead of physical discs.
 

My Computer

OS
Windows Vista Business / Windows 7 Ultimate
Back
Top