4061 Session 27 (4/23). Today Virtual Machines and Emulation.
-
Upload
ami-robbins -
Category
Documents
-
view
216 -
download
3
Transcript of 4061 Session 27 (4/23). Today Virtual Machines and Emulation.
Virtual Machines
• One machine == one OS?– What about
• One machine, many OS• Many machines, one OS
• Portability of code– Why are Java and Python more portable than
C?
• Virtual machines are a new layer of abstraction
VM History
• 1972, IBM System/360
• Mainframes– Isolation between users– Era before user/kernel mode bit
• Little activity in 80s and early 90s
• Exciting area today
Jails
• “chroot jail”– Change the root directory of the calling process– Once a running process executes chroot("/home/jail"),
/home/jail becomes "/“– Can no longer access files above the new root
directory
• Jail is enforced by the OS, not the application• But applications may expect the presence of
“/bin/ls”, a scratch dir, devices, and shared libs
FreeBSD Jail
• Where chroot jail was weak partitioning, FreeBSD jail is strong partitioning– Create virtual machines.
• Popularly used in ISPs.
Virtual OS on the Desktop
• VMWare, Parallels, KVM, Xen
• Different approaches– Hardware emulation– Native virtualization (with hardware)– Paravirtualization