More Related Content
Similar to Desktop Virtualisation (20)
More from Adam Trickett (12)
Desktop Virtualisation
- 1. 1
Desktop
Virtualisation
Adam John Trickett
www.iredale.net
adam.trickett@iredale.net
PGP Key: 0xAF0DB8C8
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 2. 2
In The Beginning...
• Computers were:
• Very Expensive
• Very Rare
• Very slow
• Ran one thing at a time
• Ran for only one user
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 3. 3
Time Passes...
• By the 1960s computers are:
• Still expensive
• Getting more common
• Getting faster
• Required to do more than one things at one
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 4. 4
Multics
• Started in 1964
• MIT, GE & Bell Labs
• Multi-user, multi-tasking system
• Gave rise to Unix and hence Linux
• Last Multics system decommissioned
30/10/2000
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 5. 5
Virtual Machines
• Pioneered by IBM in the 1960s
• 1966 IBM CP-40 & CP-67
• 1972 IBM System/370 & VM370
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 6. 6
Virtual V Multitasking
• Run lots of programs • Run lots of programs
at the same time at the same time
• Lots of users at the • Lots of users at the
same time same time
• Can run on their own • All running on the
kernel same kernel
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 7. 7
Time Passes...
• Computers get faster and cheaper
• IBM VM systems get smarter
• IBM VM systems run multitasking software
• Unix systems get smarter
• Unix systems run using hardware assisted VM
• IBM release the “PC” using the Intel 8086
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 8. 8
PCs
• Primitive processor
• Limited memory
• Primitive single user operating system:
• No multi-tasking
• No VM
• Reboot becomes a way of life
• Cheap
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 9. 9
Time Passes...
• Processors get a lot faster
• Memory gets cheap and fast
• Operating systems grow up, Windows NT and
Linux
• Multi-user
• Pre-emptive multi-tasking
• BSOD for some users...!
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 10. 10
Machine Emulators
• Desktop computers are fast enough to fully
emulate the complete hardware of an older
slower system, e.g.
• VersatIle Commodore Emulator
• DOSbox
• MESS
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 11. 11
QEMU
• Can emulate several processors
• Can emulate several hardware platforms
• Contains framework to run a virtual system on
a regular PC
• Sub-component used by other emulators
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 12. 12
Qemu Components
• CPU emulators
• Firmware
• VGA graphics emulator
• IDE subsystem & virtual disks
• Network subsystem
• PS/2 mouse and keyboard
• Sound etc
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 13. 13
CLI Invocation
• Create a virtual file system:
qemu create -f qcow2 vdisk.qcow2 10G
• Start a Qemu session:
qemu-system-x86_64 -boot c
-hda vdisk.qcow2 -cdrom cd.iso
-soundhw all -m 256 -localtime -k en-gb
-net nic -net user
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 14. 14
Kqemu / “Qemu Accelerator”
• Kernel module
• Guest usermode code runs directly on host
CPU
• Does not require special CPU
• Only x86 or AMD64
• Same scripts as Qemu
• Some old or odd OS wont run under kqemu
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 15. 15
KVM QEMU
• Kernel module – in mainline kernel
• KVM an alternative to kqemu
• Can be used just like Kqemu/Qemu
• Requires CPU x86/AMD64 with virtualisation
features
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 16. 16
VirtualBox
• Three Licences:
• Open source
• Proprietary personal
• Proprietary commercial
• Uses some parts of Qemu
• Built in Qt based GUI and CLI
• Guest OS drivers
• Can use hardware virtualisation if available
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 17. 17
Comparison
• Qemu/KQemu/KVM • VirtualBox
• CLI no native GUI • GUI or CLI
• Can use CPU • Can use CPU
virtualisation virtualisation
• Guest graphics • Good guest graphics
performance poor performance
• Support for older • Older OS hardware
hardware problems
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 18. 18
Conclusion
• Use VirtualBox, unless:
• Host not x86/AMD64 CPU
• Guest not x86/AMD64 CPU
• Old guest e.g. Windows 95
• Don't need a GUI
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 19. 19
Demo
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 20. 20
Resources
• http://www.iredale.net/p/by-type/talk/
• http://www.hants.lug.org.uk/
• http://www.slideshare.net/
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.
- 21. 21
Thank You
Any
Questions?
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.