Whats up at the virtualization/emulation front?

778 views

Published on

- virtualization/emulation in the past and current time
- basic technology explained

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
778
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Whats up at the virtualization/emulation front?

  1. 1. start big iron void bochs vmware qemu xen vb kvm others conclusion future end Whats up at the virtualization/ emulation front? Christian Horn chorn@fluxcoil.net January 12, 2010 This file is licensed under the Creative Commons Attribution-ShareAlike License To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0 v1.63
  2. 2. start big iron void bochs vmware qemu xen vb kvm others conclusion future end ...Christian Horn? OpenSource enthusiast, Linux Engineer, Sysadmin current main topics cobbler, kerberos, ldap, kvm Japan fan, cycling, reading first computer was a KC85/3 build in hometown Muehlhausen RedHat Admin: using Redhat since 5.2, certified RHCE in 2002, RHCA in 2009 mostly redhat/suse at work, debian on private boxes
  3. 3. start big iron void bochs vmware qemu xen vb kvm others conclusion future end on the content notice This is virtualization in a nutshell as i see it. I will skim through the technology in chronological order, basic mechanisms will be explained along that way. Will just name the most important software from my point of view, have to simplify things to some level. If you have questions, don’t wait to ask them! If the question will take too long to answer or take us too far off topic, we’ll move on and you can talk to me afterward.
  4. 4. start big iron void bochs vmware qemu xen vb kvm others conclusion future end IBM System/360 Model 67 24bit mainframe shipped since 1966 CP/CMS works as native hypervisor (so sits directly on metal) comparable to xen-kernel or vmware ESX features like memory protection appearing, time-sharing comes up (in past single big programs), operating systems managing multiple tasks funny note: first versions of CP/CMS without copyright-notes so free for publice use :)
  5. 5. start big iron void bochs vmware qemu xen vb kvm others conclusion future end jump single tasks -> OSs with multiple tasks . . . . mycode: mov ah, 0 . mycode: mov ah, 0 ; another line on the right mov al, 0 mov al, 0 . mov al, 13h mov cx, 100+w ; column mov al, 13h mov dx, 20+h ; row ; paint buttom line ; paint buttom line mycode: mov ah, 0 mov al, 15 ; white mov dx, 20+h ; row mov dx, 20+h ; row u4: mov ah, 0ch ; put pixel mov al, 15 ; white mov al, 0 mov al, 15 ; white . u2: mov ah, 0ch ; put pixel u2: mov ah, 0ch ; put pixel . mov al, 13h int 10h mycode: mov ah, 0 int 10h dec cx dec cx ; paint buttom line mov al, 0 cmp cx, 100 cmp cx, 100 mov al, 13h ja u2 mov dx, 20+h ; row ja u2 ; paint buttom line ; another line on the right ; another line on the right mov dx, 20+h ; row mov al, 15 ; white mov cx, 100+w ; column mov al, 15 ; white mov cx, 100+w ; column mov dx, 20+h ; row mov dx, 20+h ; row u2: mov ah, 0ch ; put pixel u2: mov ah, 0ch ; put pixel mov al, 15 ; white mov al, 15 ; white int 10h u4: mov ah, 0ch ; put pixel int 10h u4: mov ah, 0ch ; put pixel dec cx int 10h int 10h cmp cx, 100 dec cx . ja u2 . . . cmp cx, 100 ; another line on the right . ; another.line on the right mov cx, 100+w ; column ; another line on the right mov cx, 100+w mov cx, 100+w ; column mov dx, 20+h ; row mov cx, 100+w ; column mov dx, 20+h ; row mov al, 15 ; white mov dx, 20+h ; row mov dx, 20+h ; row u4: mov ah, 0ch ; put pixel mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pixel int 10h u4: mov ah, 0ch ; put pixel . mov cx, 100+w ; column u4: mov ah, 0ch ; put pixel task1 task2 . . task3 int 10h . task OperatingSystem hardware hardware Code running directly Code running as tasks in an on classic computers OS which runs on the (think calculators) hardware
  6. 6. start big iron void bochs vmware qemu xen vb kvm others conclusion future end Also starting.. virtualization! Why virtualization? To keep old software running, the new hardware allows this now accomplishing full virtualization of hardware: all features used by software like i/o, cpu functions, memory etc. are provided in virtual machines -> multiple OSs can now run virtualized
  7. 7. start big iron void bochs vmware qemu xen vb kvm others conclusion future end development of hypervisor virtualization . . . . VM1 VM2 VM3 mycode: mov ah, 0 mycode: mov ah, 0 ; another line on the right mov al, 0 mov al, 0 mycode: mov ah, 0 mycode: mov ah, 0 mycode: mov ah, 0 mov cx, 100+w ; column mov al, 13h mov al, 13h mov al, 0 mov al, 0 mov al, 0 mov dx, 20+h ; row ; paint buttom line mov al, 13h ; another line on the right ; another line on the right ; another line on the right mov al, 13h ; another line on the right mov al, 13h ; another line on the right ; another line on the right ; paint buttom line ; paint buttom line mov cx, 100+; co mov cx, 100+; co mov cx, 100+; co ; paint buttom line mov cx, 100+; co ; paint buttom line mov cx, 100+; co mov cx, 100+; co mov al, 15 ; white mov dx, 20+h ; row mov dx, 20+h row mov dx, 20+h row mov dx, 20+h row mov dx, 20+h row mov dx, 20+h row mov dx, 20+h row mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row u4: mov ah, 0ch ; put pixel mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white . u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pixel int 10h int 10h int 10h u2: mov ah, 0ch ; put pixel . int 10h dec cx mycode: mov ah, 0 dec cx mycode: mov ah, 0 dec cx mycode: mov ah, 0 int 10h mycode: mov ah, 0 cmp cx, 100 cmp cx, 100 cmp cx, 100 dec cx ja u2 mov al, 0 ja u2 mov al, 0 ja u2 mov al, 0 dec cx mov al, 0 mov al, 13h ; another line on the right ; another line on the right mov al, 13h mov al, 13h ; another line on the right cmp cx, 100 ; another line on the rights ; paint buttom line mov cx, 100+; co mov cx, 100+; co ; another line on the rights ; paint buttom line ; another line on the rights ; paint buttom line mov cx, 100+; co cmp cx, 100 mov al, 13h mov cx, 100+w ;uffn mov cx, 100+w ;uffn mov cx, 100+w ;uffn mov dx, 20+h row mov dx, 20+h row mov dx, 20+h row ja u2 mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row ja u2 ; paint buttom line mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white ; another line on the right mov al, 15 ; white u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl mov al, 15 ; white u2: mov ah, 0ch ; put pel mov al, 15 ; white u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put pl ; another line on the right mov dx, 20+h ; row u4: mov ah, 0ch ; put xel u4: mov ah, 0ch ; put xel u4: mov ah, 0ch ; put xel mov cx, 100+w ; column int 10h int 10h int 10h int 10h int 10h int 10h mov cx, 100+w ; column mov al, 15 ; white dec cx dec cx dec cx mov dx, 20+h ; row . cmp cx, 100 . cmp cx, 100 . cmp cx, 100 mov dx, 20+h ; row u2: mov ah, 0ch ; put pixel . . . mov al, 15 ; white . ja u2 ; another line on the right . ja u2 . ja u2 mov al, 15 ; white int 10h ; another line on the rights ; another line on the rights ; another line on the rights mov cx, 100+; co u4: mov ah, 0ch ; put pixel mov cx, 100+w ;uffn mov cx, 100+w ;uffn mov cx, 100+w ;uffn u4: mov ah, 0ch ; put pixel dec cx ; another line on the right mov dx, 20+h row ; another line on the right ; another line on the right int 10h mov cx, 100+; co mov dx, 20+h ; row ; another line on the right mov al, 15 ; white mov cx, 100+; co mov dx, 20+h ; row mov cx, 100+; co mov dx, 20+h ; row ; another line on the right int 10h cmp cx, 100 mov dx, 20+h row mov al, 15 ; white mov cx, 100+; co mov dx, 20+h row mov al, 15 ; white mov dx, 20+h row mov al, 15 ; white mov cx, 100+; co u4: mov ah, 0ch ; put pl . u4: mov ah, 0ch ; put xel u4: mov ah, 0ch ; put xel u4: mov ah, 0ch ; put xel . ja u2 mov al, 15 ; white mov dx, 20+h row mov al, 15 ; white mov al, 15 ; white mov dx, 20+h row . u4: mov ah, 0ch ; put pl int 10h mov al, 15 ; white u4: mov ah, 0ch ; put pl int 10h u4: mov ah, 0ch ; put pl int 10h mov al, 15 ; white . ; another line on the right . u4: mov ah, 0ch ; put pl . . u4: mov ah, 0ch ; put pl . . . . ; another.line on the right mov cx, 100+w ; column ; another line on the right . . . mov dx, 20+h ; row mov cx, 100+w ; column mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pixel mov cx, 100+w ; column mov dx, 20+h ; row mov al, 15 ; white task1 task2 task3 task1 task2 task3 task1 task2 task3 u4: mov ah, 0ch ; put pixel int 10h u4: mov ah, 0ch ; put pixel . task1 task2 . . task3 OperatingSystem OperatingSystem OperatingSystem OperatingSystem Hypervisor hardware hardware Single OS running Hypervisor running multiple OS with multiple tasks multiple tasks
  8. 8. start big iron void bochs vmware qemu xen vb kvm others conclusion future end IBM System/360 Model 67 cont’d paravirtualization supported, aka “DIAGNOSE code” in IBM-terms System/360 later evolved into System/370, System/390, zSeries, System z9 and current System z10 current OSs are z/VM or linux. A z/VM acting as hypervisor can run other z/VMs virtualized, even cascading possible nowadays hercules emulates z-architecture, even architectures that dont exist in reality
  9. 9. start big iron void bochs vmware qemu xen vb kvm others conclusion future end cascading virtual machines VM2.1.1 VM2.1.2 mycode: mov ah, 0 mov al, 0 ; another line on the right mov al, 13h ; another line on the right ; another line on the right mov cx, 100+; co ; paint buttom line mov cx, 100+; co mov cx, 100+; co mov dx, 20+h row mov dx, 20+h ; row mov dx, 20+h row mov dx, 20+h row mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl int 10h dec cx mycode: mov ah, 0 mycode: mov ah, 0 cmp cx, 100 VM2.1 mov al, 0 mov al, 0 ja u2 ; another line on the right mov al, 13h mov al, 13h ; another line on the rights mov cx, 100+; co ; paint buttom line ; paint buttom line mov cx, 100+w ;uffn mov dx, 20+h row mov dx, 20+h ; row mov dx, 20+h ; row mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put xel int 10h int 10h int 10h dec cx dec cx . ; another line on the right cmp cx, 100 cmp cx, 100 . mov cx, 100+; co ja u2 ; another line on the right ja u2 . mov dx, 20+h row ; another line on the rights mov cx, 100+; co ; another line on the rights mov al, 15 ; white mov cx, 100+w ;uffn ; another line on the right mov dx, 20+h row mov cx, 100+w ;uffn u4: mov ah, 0ch ; put pl mov dx, 20+h ; row mov cx, 100+; co mov al, 15 ; white mov dx, 20+h ; row mov al, 15 ; white mov dx, 20+h row u4: mov ah, 0ch ; put pl mov al, 15 ; white u4: mov ah, 0ch ; put xel mov al, 15 ; white u4: mov ah, 0ch ; put xel mycode: mov ah, 0 int 10h VM1 VM2 u4: mov ah, 0ch ; put pl int 10h mov al, 0 . . mov al, 13h . . ; paint buttom line . . task task mov dx, 20+h ; row mycode: mov ah, 0 mov al, 15 ; white u2: mov ah, 0ch ; put pel int 10h task task dec cx mov al, 0 ; another line on the right ; another line on the right ; another line on the right cmp cx, 100 mov al, 13h mov cx, 100+; co mov cx, 100+; co mov cx, 100+; co ja u2 ; paint buttom line mov dx, 20+h row mov dx, 20+h row mov dx, 20+h row ; another line on the rights mov dx, 20+h ; row OperatingS. OperatingS. mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov cx, 100+w ;uffn mov al, 15 ; white u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl mov dx, 20+h ; row u2: mov ah, 0ch ; put pel mov al, 15 ; white int 10h u4: mov ah, 0ch ; put xel dec cx mycode: mov ah, 0 int 10h cmp cx, 100 mov al, 0 . ja u2 ; another line on the right ; another line on the right mov al, 13h . ; another line on the rights mov cx, 100+; co mov cx, 100+; co Hyperv. . Hyperv. ; paint buttom line mov cx, 100+w ;uffn mov dx, 20+h row task mov dx, 20+h ; row mov dx, 20+h row mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put xel int 10h int 10h dec cx . cmp cx, 100 . ja u2 ; another line on the right . ; another line on the rights mov cx, 100+; co ; another line on the right mov cx, 100+; co mov dx, 20+h row mov al, 15 ; white mov cx, 100+w ;uffn mov dx, 20+h ; row mov al, 15 ; white u4: mov ah, 0ch ; put xel ; another line on the right mov cx, 100+; co mov dx, 20+h row mov dx, 20+h row mov al, 15 ; white u4: mov ah, 0ch ; put pl OperatingSystem u4: mov ah, 0ch ; put pl int 10h mov al, 15 ; white . u4: mov ah, 0ch ; put pl . task . task task task Hypervisor OperatingSystem OperatingSystem Hypervisor hardware
  10. 10. start big iron void bochs vmware qemu xen vb kvm others conclusion future end the void ...and then during the 1980s and 1990s virtualization is abandoned, the trend is to spread apps over many small lowcost computers x86 architecture rises as industry standard, but lacks functions to support virtualization, grows fast and stays backward compatible
  11. 11. start big iron void bochs vmware qemu xen vb kvm others conclusion future end Bochs (spoken: box) created 1998, bought by MandrakeSoft and released under LGPL in 2000 no virtualization, pure emulation of x86-hardware => relatively slow often used for OS-development when accurate emulation is required and speed doesnt count parts reused in other projects like qemu and kvm runs on: linux, macosx, bsd, win as guests: most x86-systems like linux, bsd, dos, win
  12. 12. start big iron void bochs vmware qemu xen vb kvm others conclusion future end Vmware Workstation/Fusion 1999 vmware publishes its ’workstation 1.0’: focusing on desktops among fastest emulators, closed source, HVM required features: usb, smp (x16), complex snapshots management, seamless mode integrates guests apps in hosts windowmanager (aka unity), Directx8/9 for winguests VMI paradriver interfave about to be removed: cpu-functions efficient enough
  13. 13. start big iron void bochs vmware qemu xen vb kvm others conclusion future end software emulator components mycode: mov ah, 0 mov al, 0 ; another line on the right mycode: mov ah, 0 mov al, 13h mov cx, 100+; co mov al, 0 ; paint buttom line mov dx, 20+h row mov al, 13h mov dx, 20+h ; row mov al, 15 ; white ; paint buttom line mov al, 15 ; white u4: mov ah, 0ch ; put pl mov dx, 20+h ; row u2: mov ah, 0ch ; put pel mov al, 15 ; white int 10h u2: mov ah, 0ch ; put pel dec cx mycode: mov ah, 0 int 10h cmp cx, 100 mov al, 0 dec cx ja u2 mov al, 13h cmp cx, 100 ; another line on the rights ; paint buttom line ja u2 mov cx, 100+w ;uffn mov dx, 20+h ; row ; another line on the rights mov dx, 20+h ; row mov al, 15 ; white mov cx, 100+w ;uffn mov al, 15 ; white u2: mov ah, 0ch ; put pel mov dx, 20+h ; row u4: mov ah, 0ch ; put xel int 10h mov al, 15 ; white int 10h dec cx u4: mov ah, 0ch ; put xel . cmp cx, 100 int 10h . ja u2 . . ; another line on the rights . mov cx, 100+w ;uffn ; another line on the right . ; another line on the right mov dx, 20+h ; row mov cx, 100+; co mov cx, 100+; co mov al, 15 ; white mov dx, 20+h row mov dx, 20+h row u4: mov ah, 0ch ; put xel mov al, 15 ; white mov al, 15 ; white int 10h u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl . . . task1 task2 task3 OperatingSystem graphic network cpu card card Software Hypervisor graphic network cpu card card pure software emulator i.e. Bochs
  14. 14. start big iron void bochs vmware qemu xen vb kvm others conclusion future end software emulator access mycode: mov ah, 0 mov al, 0 ; another line on the right mycode: mov ah, 0 mov al, 13h mov cx, 100+; co mov al, 0 ; paint buttom line mov dx, 20+h row mov al, 13h mov dx, 20+h ; row mov al, 15 ; white ; paint buttom line mov al, 15 ; white u4: mov ah, 0ch ; put pl mov dx, 20+h ; row u2: mov ah, 0ch ; put pel mov al, 15 ; white int 10h u2: mov ah, 0ch ; put pel dec cx mycode: mov ah, 0 int 10h cmp cx, 100 mov al, 0 dec cx ja u2 mov al, 13h cmp cx, 100 ; another line on the rights ; paint buttom line ja u2 mov cx, 100+w ;uffn mov dx, 20+h ; row ; another line on the rights mov dx, 20+h ; row mov al, 15 ; white mov cx, 100+w ;uffn mov al, 15 ; white u2: mov ah, 0ch ; put pel mov dx, 20+h ; row u4: mov ah, 0ch ; put xel int 10h mov al, 15 ; white int 10h dec cx u4: mov ah, 0ch ; put xel . cmp cx, 100 int 10h . ja u2 . . ; another line on the rights . mov cx, 100+w ;uffn ; another line on the right . ; another line on the right mov dx, 20+h ; row mov cx, 100+; co mov cx, 100+; co mov al, 15 ; white mov dx, 20+h row mov dx, 20+h row u4: mov ah, 0ch ; put xel mov al, 15 ; white mov al, 15 ; white int 10h u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl . . . task1 task2 task3 OperatingSystem graphic network cpu card card Software Hypervisor graphic network cpu card card pure software emulator i.e. Bochs
  15. 15. start big iron void bochs vmware qemu xen vb kvm others conclusion future end software-emu vs. virtualizer components mycode: mov ah, 0 mycode: mov ah, 0 mov al, 0 ; another line on the right mycode: mov ah, 0 mov al, 0 ; another line on the right mov al, 13h mov cx, 100+; co mycode: mov ah, 0 mov al, 0 mov al, 13h mov cx, 100+; co ; paint buttom line mov dx, 20+h row mov al, 0 mov al, 13h ; paint buttom line mov dx, 20+h row mov dx, 20+h ; row mov al, 15 ; white mov al, 13h ; paint buttom line mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl ; paint buttom line mov dx, 20+h ; row mov al, 15 ; white u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel mov dx, 20+h ; row mov al, 15 ; white u2: mov ah, 0ch ; put pel int 10h mov al, 15 ; white u2: mov ah, 0ch ; put pel int 10h dec cx mycode: mov ah, 0 u2: mov ah, 0ch ; put pel int 10h dec cx mycode: mov ah, 0 cmp cx, 100 mov al, 0 int 10h dec cx cmp cx, 100 mov al, 0 ja u2 mov al, 13h dec cx cmp cx, 100 ja u2 mov al, 13h ; another line on the rights ; paint buttom line cmp cx, 100 ja u2 ; another line on the rights ; paint buttom line mov cx, 100+w ;uffn mov dx, 20+h ; row ja u2 ; another line on the rights mov cx, 100+w ;uffn mov dx, 20+h ; row mov dx, 20+h ; row mov al, 15 ; white ; another line on the rights mov cx, 100+w ;uffn mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white u2: mov ah, 0ch ; put pel mov cx, 100+w ;uffn mov dx, 20+h ; row mov al, 15 ; white u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put xel int 10h mov dx, 20+h ; row mov al, 15 ; white u4: mov ah, 0ch ; put xel int 10h int 10h dec cx mov al, 15 ; white u4: mov ah, 0ch ; put xel int 10h dec cx . cmp cx, 100 u4: mov ah, 0ch ; put xel int 10h . cmp cx, 100 . ja u2 int 10h . . ja u2 . ; another line on the rights . . . ; another line on the rights mov cx, 100+w ;uffn . ; another line on the right . mov cx, 100+w ;uffn mov dx, 20+h ; row ; another line on the right ; another line on the right . mov cx, 100+; co mov dx, 20+h ; row ; another line on the right mov al, 15 ; white mov cx, 100+; co mov cx, 100+; co mov dx, 20+h row mov al, 15 ; white mov cx, 100+; co u4: mov ah, 0ch ; put xel mov dx, 20+h row mov dx, 20+h row mov al, 15 ; white u4: mov ah, 0ch ; put xel mov dx, 20+h row int 10h mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl int 10h mov al, 15 ; white . u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl . u4: mov ah, 0ch ; put pl . . . . task1 task2 task3 task1 task2 task3 OperatingSystem OperatingSystem graphic network graphic network cpu card card card card Software Hypervisor HVM Hypervisor graphic network graphic network cpu cpu card card card card pure software emulator CPU virtualized i.e. Bochs i.e. XEN / AMD-V
  16. 16. start big iron void bochs vmware qemu xen vb kvm others conclusion future end software-emu vs. virtualizer access mycode: mov ah, 0 mycode: mov ah, 0 mov al, 0 ; another line on the right mycode: mov ah, 0 mov al, 0 ; another line on the right mov al, 13h mov cx, 100+; co mycode: mov ah, 0 mov al, 0 mov al, 13h mov cx, 100+; co ; paint buttom line mov dx, 20+h row mov al, 0 mov al, 13h ; paint buttom line mov dx, 20+h row mov dx, 20+h ; row mov al, 15 ; white mov al, 13h ; paint buttom line mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl ; paint buttom line mov dx, 20+h ; row mov al, 15 ; white u4: mov ah, 0ch ; put pl u2: mov ah, 0ch ; put pel mov dx, 20+h ; row mov al, 15 ; white u2: mov ah, 0ch ; put pel int 10h mov al, 15 ; white u2: mov ah, 0ch ; put pel int 10h dec cx mycode: mov ah, 0 u2: mov ah, 0ch ; put pel int 10h dec cx mycode: mov ah, 0 cmp cx, 100 mov al, 0 int 10h dec cx cmp cx, 100 mov al, 0 ja u2 mov al, 13h dec cx cmp cx, 100 ja u2 mov al, 13h ; another line on the rights ; paint buttom line cmp cx, 100 ja u2 ; another line on the rights ; paint buttom line mov cx, 100+w ;uffn mov dx, 20+h ; row ja u2 ; another line on the rights mov cx, 100+w ;uffn mov dx, 20+h ; row mov dx, 20+h ; row mov al, 15 ; white ; another line on the rights mov cx, 100+w ;uffn mov dx, 20+h ; row mov al, 15 ; white mov al, 15 ; white u2: mov ah, 0ch ; put pel mov cx, 100+w ;uffn mov dx, 20+h ; row mov al, 15 ; white u2: mov ah, 0ch ; put pel u4: mov ah, 0ch ; put xel int 10h mov dx, 20+h ; row mov al, 15 ; white u4: mov ah, 0ch ; put xel int 10h int 10h dec cx mov al, 15 ; white u4: mov ah, 0ch ; put xel int 10h dec cx . cmp cx, 100 u4: mov ah, 0ch ; put xel int 10h . cmp cx, 100 . ja u2 int 10h . . ja u2 . ; another line on the rights . . . ; another line on the rights mov cx, 100+w ;uffn . ; another line on the right . mov cx, 100+w ;uffn mov dx, 20+h ; row ; another line on the right ; another line on the right . mov cx, 100+; co mov dx, 20+h ; row ; another line on the right mov al, 15 ; white mov cx, 100+; co mov cx, 100+; co mov dx, 20+h row mov al, 15 ; white mov cx, 100+; co u4: mov ah, 0ch ; put xel mov dx, 20+h row mov dx, 20+h row mov al, 15 ; white u4: mov ah, 0ch ; put xel mov dx, 20+h row int 10h mov al, 15 ; white mov al, 15 ; white u4: mov ah, 0ch ; put pl int 10h mov al, 15 ; white . u4: mov ah, 0ch ; put pl u4: mov ah, 0ch ; put pl . u4: mov ah, 0ch ; put pl . . . . task1 task2 task3 task1 task2 task3 OperatingSystem OperatingSystem graphic network graphic network cpu card card card card Software Hypervisor HVM Hypervisor graphic network graphic network cpu cpu card card card card pure software emulator CPU virtualized i.e. Bochs i.e. XEN / AMD-V
  17. 17. start big iron void bochs vmware qemu xen vb kvm others conclusion future end Vmware Server/ESX in 2001 introducing Vmware Server (lives on host-OS just as another process) and ESX-server (running pure ESX-kernel on hardware) later Vmware Player/Fusion/ESXi nowadays well established in industry, famous for conversion-tools, HA-functions, management GUIs, virtualizing complex network-setups

×