virtual machines by nayar

19
! " #$$% ! ! ! " ! ! ! # $ % &’ ( ! ! # file file abstraction &! & ’( ! ! ( ! $) * ’ % + )* , % - !"#"$%$ .

Upload: boopathi-shanmugam

Post on 13-Apr-2015

22 views

Category:

Documents


5 download

DESCRIPTION

introduction to virtual machines concept

TRANSCRIPT

Page 1: Virtual Machines by nayar

������������������������������� ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ��������������������

�������������� �������

������������������������������������������������������������������������ ���� ������ �����!��"������#$$%��

�������������� ��� �������������� �� ������� ����������������������� �������� �������������������� ��������� ����������� � ����������������������������������������� ���� ������������������ ��������������������������������� ���������������� ������������������ ������������������������������ ��������� ���������!���� ���� ��������������������� ����������

����������� ���� ����� ���� �� �������������� ��� ��������� ��� ��� ���� ������ ����� ����� ����������!��������� ��� �������� ������������� ������������������������� � �� � ����������� �������������� ������������ �������� ���� ��������� ��� ��������

����!������� � ����������������������������������������������������������������������� ����� � ��������������� ���� ����������"��������� ���� ������ ������������� �������� ���� ������������������ �������������������������������������������������������������������������������� ������������������������ ������� �� ������!�������� ������ ���������������������������� ����� �!��� ��� ���� ��������������� ����������������������!� �� ������ ��� ���������� ��� �� ��������� �� ������#���������$����%�����&'��(�� ��� ��������� ������ ���������� ����������� ����� ����������������!����������������� ������� ������!��������������� ������ ��#����

file file

abstraction

&�!�������&���������� ����������������'��(���������� ���������������������������������������������������!�������������

�������������� ���� ������ ��� �� �������� ����� ��������������������������������������� ��� ��� ������������������������� ������������ ��� ����������� ����������������� �������� ���� ����� ������������ ���������������� ���� ���������������� ������� ����� ����� ���������� ���������������������������� ���������������������� �������� ���������������������������� ������������ ���� � ������������������������!����� ���������������������������� ���� ��������������� �� ��� ������� ������� ��� �������� ������� ����������� ������������������������� �������� � ����������������� ��������������������

(����� ����������������������� ���� ������ �������� ��� ����� �!�����������������������������$)� ������*���� ���������������������� �'���%���������������������������� ������������� �� ���������� ������������������ ��� ������������������������������������� ����� �������������������������������� ����������� ����� ����������+����������������������������������������������)� �����*����,�������� ��� ����������������� ����������%��������������������� ��� ��������� ���������� ���������� ��������� �������� ��������������� ������������ ������������������������� ��� ��� ���������� ����������-��������� ������������������

!�����"�� ������# ��"$�%$�� ���

.�

Page 2: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ��������������������

"�������������������������� ��������� � ��������������/������������������� ���� ����������0������������������ ���� �������������������� �!��������������������� ���� ������� ��� ��� �������� �������������� �����!����������������������������������������������������������������� ����1��������������������� �� ��������������������������������� ����������������������(�23&���������������������������� ������������� ��.������������������������� �� ��� ������ ������ � �� ���� ��� ���� � ��� ����������� ����� �(�� ����� ������������� �������������������������������� ������������������� ���������������������������� �� �������������� ����������(�23����������������������� ������������������ ������������ �� ����������������� �������� ������������� ����� �� ���#��������� ����������������������(������������.����������� �������������������������� ������ ������������������������ ����� ����������������������� ��������������� ������ ��� ������������������������������� ��� �����(��� ���������� ������������������������������� � ��������� ������� ����� ������� ���� ��� ����� �������� ���� ��� ��� ��� ����� ��� � �� ��� �� ���� ��������� ��� ���������������������4���� ���� ������������������� ������������������������ �������������������

5������������� ��� �� �� ������������������������ ����� �� ������������������4��������� �������������������������������� �������������������� ���������������!������������������������� �������������� ���������������������������������������������$�������������(�23� ����6.�1����1�'�� ��������� ���������������� �������������$������0������� ���"���'���(��� ��������� �������������������� ������ ����� ������ ����������� ������������������������ ������ ��������������(����� ����������������������� ���������� ���������������������������������� ����� �������������� ������(�� ������ ��������������������������������������������� ����� ��������� ��� ��� ��������� ������ � �� ��������� ���� ����� ����� ��������� ���� �� �� �������+������������ ����������������� ������ ��������������������� ���������������������������������������� ������� ����������������!����������������������� �� �� ������������������ ��� ��������� ��� � ��

6��� �������� ��� �������� ��������� ����� ��� ������������������� ������� �� ���������������������������������� �������������.������ ����� � ���� ���������������������������� �� ���� ��������� �������������� ������������ ���� ��� ���������������������������������� ��� ������������� �. ������ ������������� ���������������� ���������������� ���������������������� ��������������� ��� ������������������������� ��� ���������������� � ���� ��� ����������������������������������� ������������� ������� ��� ��������������� �������� ���� � ������� ����������� ������������������������� ���� ��� ����������������� �������������������� ��������� � ���������������(���������������������������������������������������������������������������� � �� ��������� ���$ ����������� ����'����� ������������������������ ���� ��������� ����������� ������������������������� ������������������������������������

� ���� �� ����������� �� �������� ��������� ����������� ����� �������� ������������������0���� ��������$�����������'�� �������� � ����������������������� ��������� ��� � ���� ����� ���� ������ ��� ��� ��� ��������� ������������������������� ��� ���� ������������������ ��� ��������������� ��� ��������� �� ��������������������������7������������� �������������� �������������� ����� � ��������� ���������������� ������������������ ������������������� �����������%��� ��������� ��# ��������������������������������� ��������������� ��� �� ����� ����������������� ��� ������$1��!� ���8��������&9:;'������������������������� �������%�����3��� ������������� ����������������� ���$��������<����%�����3'�� ������� ���7����������� �������� ��������������� ���������������$�������������� ������������ ���� ������ �����'���������� ����������������7����������� ��������=��������������� ���������� ���7�� ������������ ����������������>���� ���$�� ������ �=������='���(����������� �������������� �������������� � �����#�� ���� ������ ������� ������ ��# ���������������������������/����� ��# ������������������ ���� ����������� ������ ��# �������������������� ������������� ��������������������� ������ ����� ����������������������� ��� ���� ��������������������� ����������

����������������������������������������������������������������������������

&�4��������������������������� ���� ��)�?@*��

Page 3: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ++++����������������

Si Sj

Si' Sj'

Guest

Host

V(Si) V(Sj)

e(Si)

e'(Si')

&�!����#��&������)��������*���������������������������������������� ��+�����!�������������������,����-.�/���0�1��.���/��0���

��������� � ��������� ������� �� ������!���������� ��� ����������� ���������� ������� �������� ��������� ����� ������!������ ������������ ��������� �����!������������ �����!�� ���� ������ ��� �����!����������������� �������������� �����!�� �� ��������� ������������������ �����!�$%�����2'��<��� ��#��������� ����������� �� ����������������� �����!���������� ����� �����!����������$������������<������������������'��������������� ���� ������ �� ����������� ��������A �������������� �����!��������������� � � �������� ����� ��������������� ���� �!�� �����������$ ��������������� ���������� �������!'��(���������� ����� �����!�$�������������������������������'���������������� ������������ ��� ���������������� �����!���������������������������$��������������=������������������'������������ ��������������������� ����������� ���������� �����!������� �������������������� �!� �������������� ��������� ��� ������ ��� �����!����� ���� ������� !���� ����

file file

virtualization

&�!����2��3����������!�����������'����������*������������������������������������4������������������������������� ����������

������������������ ��# ������ ����� ������������������������������� �����!��������� ���������� �������(�� ��������� ���$<.'������������������ ������ �� ������������ ������ ��� ��� ������������������������������ ��� �����>�� ������������%����� ��������� ��#��������� ������� �������� ��(���. ��������� ���������� �0��������(�23����� ��� ������� ��������������1�� ��� ��������� ������������ ��� ����� ��

Page 4: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ��������������������

� ������� �������������� ��� ��������� ��������������� ����� ���� ��� ����������������� ���������� ���� ����������������������� ������ ������� ����������������

��������� ������� ������������� ��� ��������� ��������� ���7 ���������� �������������������.������������� �������� ��� �������� ����� �������������� � �������� ��� ���� ���������������� ������� ��������������������������������� �������������������������������������������������������������$�������������������������� ������������'�� ��������������� ����� ������ ����������������(�� ������������������������� �������������������� ���������� ������������������� ���������� ����������� � ��������������� ��� ������������ �������������������

<��� ��� �������� �� ������������� �����������7������������������ ����������� ������ ����������%����� ����� �� ����������������������1����1������������������ �������������������� ����� ��� ������������������(�23� ���������������������7������������ �������������������� ����������� ������������������������� ���������� �������������������� �������������������$������������0������� 4���� �. �������'���� ���������� ������������������$������������A�������� �4��4�� ����41(B��� �����'����� �������������� ���������� ��� �������� �� �������������� ���������������������# ������������ ����� ������ �%�� ����� ���������� ���������� ��� �������� ���� ��������������� ��� ����������������������� ������� �����<"�0��������������������� ������ �������������� �� ��������������������

�������� ��� �������� �����,������������� ������������������ �������� �������������������������� ��� ���������+�������������� ��� �������� ��� ����������������������� ��������������������� ��� ������������ ��������������������� �� ����������������������� ����� ��� ������� ���������� ����������������� �� ����1���� ������������������������������ �� ��� ��������������)��� ����*�� ������� ���������� ��� �������������� ����� ��� ����������������������� ��� ��������������������� ����������������������������������������� �� ���� ���������� ������������ �������������C � ������������� �� ��� �������C � ����� ��� ������������� ����������������� ������������������� ������� ������������������� ������� ���������������������!�����������������������

<��� ��� �������� ���������������� ���� �������������� ������������������������ �� ���������������������������������� ���� ��� ���������������(�������� ��� ��� ������������ ��� �������� ��������7���� �� ������������������ ���� ��������������������� ������������������ �� ���������� ������������������������� ��� ��������6�� �������� ��������� ��� ������ ������������ ��������������������������� ����������������������������������������������� ��������� ������������������������!��������� ��������� �������� ������������������ ����� ����������� ������������������ ��� ��������������� ��������������!� ��������������������� ������������ ��� ���������� ��������� ������������������������������������������������� ������������� �������������� ������������� �������������������������� ��� ��� �������

�,� )��*"�������� ����"���

(����������������������� ������������������ ��� ���������� ���� ����������� ����������� �������������� ���� ���������<��� ��� �������������������� ��������� ������ ������ ��� �� ,����������� ��������������������� ����� ��� ��������������������������������� ����� ��� ���������������� ����������������� ��������������������������������������� ������ ��#��)������� ����������*��

���� �������������� ������������������������������ ����� ��� � � ������������������������������������������ ������������������� ���������� �������������������������������������������� �� �������������!���������������������������(� ���������������������� ������������ �������������������������������������� ����� ��� � � ������� ������������������������������������������ ����������������������������� ������������������������ ��������������������� �������� �������� �������� ��� ������������ ����� ������������������ �

Page 5: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ��������������������

��� ������ ����������� �������������� �������� ������������������������������� �� ���������������� �� �������������(��� ������������ ��� �������� ���������� �������� �������� ���������������� � ������������������ ������������ ������������ �������� ������������������ ������

���� ���������� ���� ������ ��� ���������������������������� �������� ��� ������� ��������� ��� ��� �������� �������������� �� ���������������� �������������������� ������ �����$ ����������������) ����������*�������� �� ������'����%�����;������������������������ ��������� ���� ����������� ������ ����� ���������� ����� �������������������������� ���������� �������������� �������� ����������� �� ��� ��������� �� ����� �� ������� �����$������ ���3����%�����;'��(������������ ��������� ������ ���������� ������������� ������������$������ ���2'������������ �������� ��� ���������� ���� � ������������� �������������������� ����� ���������� ��������������������$������ ���&&'�� �� ��� ���������� ������������� ����������������� �� ��������� ����� ��� ����$������ ���9'�� �������� ������������������ ���������� ����� ���� ����������������$������ ���&3'�� ��� ������������������� ����� ���� �������5B(.����������������$������ ���&;'�������� 4�������� ����������� ���������������� ���7�������������� ���/�;��?��&D��&&�� ���&2��� �������������� ���� ��� ����������������� ���������������������������� ������� ������� ��� �������� ������� �����

I/O devicesand

Networking

Controllers

System Interconnect(bus)

Controllers

MemoryTranslation

Execution Hardware

Drivers MemoryManager

Scheduler

Operating System

Libraries

ApplicationPrograms

MainMemory

1

2

33

4 5 6

7 78888

9

10 10

1111 12

13 14

ISA

Software

Hardware

��

&�!����5�����������������������������,�3������������������������������������������������+���������������6������+����������������������������������!����� ��7��������������/�������89#0��

���������� ���������� ������$�4('�� �!������������������������ ��� ��� �������� ���� ����������������������� ����:� ���?����%�����;���������������� ���4(�� ����������� ���� ����� ��������������6.�2@D�� ��������� ���� ������������ ������������������� ����&9@D��$(�� ����6� ��� ���6���!��&9@;'��0������ ����,�������������� ������������ ������ ���������� ��������������#���������6.�2@D��������� �� ������������������� �������������� ��� ������� �������� ��� ������������������������������ ���� ����������������� ��������� ������������������������������������������������ �������� ������������������� ���������

Page 6: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ----����������������

���������������� ���������������� ��� ��� �������� ���� ������������������������� ��������������� ��������4(�������������������

������ ������� ������� ���4(��� �� �������� ���������������������������� ��� ������������������ ����������������� ��������������4(��� �� �������������� �� ��� ��������� ���������������������������� ��������������������������� ����������������� �������� �� ��������������������������������� �������� ��������� ��������������������������������������� � ������ ��� ������������������������������������� ��������������������������� ���� �� ���������� ����������������������������4(������%�����;�������� ���:����������������������4(������� ��������� ���?�������������������������� �����������4(��

�����������!��������� ���������������������������� �����������������4(�������(��� �����6�� ��������� ���$(6�'�������������������� ����2� ���:����%�����;���(������� ������ ���������� ����������(��� �����1���� �������� ���$(1�'�������������������������� ����3� ���:���

�������� �� ���� ��������������$(6�'��������� ����� ������� �������������� ��� ������������ ������������ � �� ������� �������� ���� ������� ,��������������������������������������� �������������������$������ ���:����%�����;'��������������������� ����������������������(6���(������(6��������� ��� ��� ��������� ��������� �������������� ����� ��� �������������������������������!����������� �������������� � ������������������ ���$������ ���2����%�����;'��������������������������������������(6�����4������� ����������� ������������������� �������� �� ����� ������������� ��������������� ������ ��������� ��$ ���������!�������� !�������� �������������� ������������� �����������7���'��������������� ��������� ���������� ����������������� � ��������������� ���� ������������������������� ��������������� �� ���������� ����� ���������������������� ��������������� ���� ����� ����������������������� ��������� ����������������� �������������(������������������������ ��� ������� ���� ���������������������� ������ ��� �!�������������������������������������������������� �� ��� ������������������ ��������� ����(����� ����� �������������� ���������(6��� ��������� ������������� ������������������ ����4(� ������ �������������

�������� �� ��� ������� ������������$(1�'����� ��������������������������� ������������� �� ���$+""'��(�!�������������� ��(1����� ��� �� ������� ���$������� ����'��� �� �� ��� ������ �����������!��� �������������� � �� ���������������������������������������������������� �������������(��(1��������� ������������ ����������������������� ����� ����� ��� ���������������������(1��������������� �����$�� �������� ����'���� ������������ ������������� ���(1�������(1����������� �� ���� ���������������� ��������������� ������������������� ����� ���� �������� �� ������������������� ��� ���� �%����� �����clib� ��� ������!����� ���� ����� ������������EF�G������� ������� �� ���������clib�(1���������� ���������������������������������$��������'�� ��� ��� � ����� �!�$����� � '��(��������������������� ��(1������ �������� ����������������(6����������� ������������� �����4����(1������ ����������� ���������)�� ���*��������������� ���� ��� ����������������������+""�� ��������������������������� ����������������������������� 4��� �����(1���������� ���������������� ���� �������������� �� 4�� �������

�,� # ��"$�%$�� ���.$ ��

��������� ����� �� � )<��� ��. �����*� ����������� ������ ��������� �� ����� ������ )� �����*�� ���� ������������ ������������ ��������)� �����*���� �� �������������������%��������������������� ������������������ ��������� �������� ������������������ ������ ��������� �������� ����� ��� ������� ����������������������� ������������������������������ ����������������� �� ���������������������������������������������������������� � ����������� ������������������������������������ ������������� ������������� �������������� ������� �������������� ������������� ���� ������������� ���������������������� ������� ��������� �� ��������������������1��������� ����������� ����������� ����$ ����������� �� ��'�������� ������ ���������������� ������������������� ��� ������������������ ���������� ��� �������� ���������� ����������� ��#���

Page 7: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ////����������������

����� ����������������������������� ������������ ������� ��������������� ������������ ���������������������������� ��� ���������(6�������������������� ���������������������� �������� ������$%�����H '��

%���������������������������� ������������� ��������������� ���������������������������� �������(����������� ���������������������������� ��� ������� ������������ ������������������������� ����������������������������������(������������������ ��� ������������� ����������� ������������������������������������������������������$�������� ���� ����������'� ���������������� ������������������� ���� ������ ��������� ����� ��������������������������� ��� ��������������������������� ������������������������� � �� 4��� ����� ��������������������+����������� ����������������������������� ����������������������������������������� ��� ��� ������ ��������4(������������������� ���������������������� �������� ������$%�����H�'��

���� ���� ��������� ����� ��� ������������������� ���$������� ��������� ������������ �������������������������������������� �����'��������� ���� ����� ������� ������������������������� ���� ��������������������� ��� �������������������� �� ������� �������� ��� ��� ������ ������� ��#��������� ������������� ��� ������� ��� ��������������������������������� ��� �����������������7 ������������������%����� ����� ����� ��� ������� ��� ����������������������������� �������� ��� ������� ������������������ ��������� ���������������������������� �������� ��� ������������������� ������������� ���7�� ����������� �������� ����������7����� �� ���������� ��# ������������ ����� ��� ������������������������� ������ �� ���7�� ������� ��� ������������������ �������� ��������������� ���������������������� ��� �������

User ISASystem ISAISA

Application Software

Operating System

Machine

System Calls

User ISAABIMachine

Application Software

(a) (b)�

&�!����%��������3��������������������������������������������������������������������������������������������������������������������������������0�(����������:�����3��������/(:30� 0�3���������������(�����������/3�(0�������������������������������������������������������������������������������������������������������(���� � �����#�������������������������������� ������������������������� ��# ��������������������� ����&'������ ����������� ���������������� �������������������������������������������� ����������������������������� ������ ���3'������������� ��� ������������������ �������������� �������� ����������� ����������������������� ��� ������������������ �������������� �������������� ���������������� ��� ������(6������4(�����

C��� ����������� ������������������ ��� ���������������������� �������������� ��� ����������������� �������������������� ��� ����������(������� ������������ ��������� � ��������� ��� ���� ��������������� ��������� �����������(������������ ��� ��������������� �������%�����@����������������� ��������������� �������������� ������������ ���� ��������� ������ ��� ���� ��)�������*����� ����������������<.����������� ��#�

Page 8: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� 0000����������������

��������� ������� ���� ������(6�������� ����������������� 4�� ��� ��������� �������������� ��#���������� ������ ������������������������������� ������ ������������� ������

0������� ������������������$����%�����@'������ ���������������������������� ������ ���������!� ������������ ����� �������������<.������������� ������������������� ��� �������� ���������������� ����� ��� �������������������� ��� ��������������� ��������������� ��� ���������������������� �������� ���� ������������ �������������������� ��#��������� ���������������������������� ��� ������������������������������������<.������� ��#��������� ������������������������ ��������� ��!��������������������)������������ ��*3������������������� ������������ ������������� ���������������� ����� �����������������<.����������������������� ������� ��������������������������� ��������� ������������������������������������� �������

VirtualizingSoftware

Application Process

Machine

OS

Hardware

Guest

Runtime

Host

Application Process

VirtualMachine

&�!����;���������*��!�����+��������������������<�������������������������������������!���������������������)�������!������������������������� �������=������!����!�����������������������������<���������������3�(��

�������� ���� �������� ��������� ����������� ������������������������������������������������ ������� ����� ������������ �������������������� ����� ���������������������������� ��������� ����������������� ������ ��� ���������� � ��� ��� ���������� ��������� ������!������� �� ���� ��� ���� ���!���� � ���� �� ����� ��� ������������ ����������<.�������������� ������������ ������� ���������������������������� ������

(� ����������� ��� ������ ��� ������ ���� ���%�����:������ ��#���� ����� ��� ���� ������������ ��������������� ��� ���� ������ ������������� ������� ������������� ����� ���� ��������� ��#��������� ������ ��������� ��� ����4(������ ������������ ������� ���)����*� ������������4(��� ��������������������� ��� ��������� ����������<.����������� ���������������� ����4(���������������������<.����������� ��#��������� ������������������������ ������� ��������� ������ ���$<..'�� ����������������������<.��������� ������������������������� ���&9@D>����

����������������������������������������������������������������������������

3������������������!�����������������������������)������*� �� ������������������������� ��#���������������� ������ ��������<.��)�������*��������������������������������������/����������������������� ����� �������������

Page 9: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� 1111����������������

Hardware

OS

Applications

VirtualizingSoftware

VirtualMachine

OS

Applications

Guest

VMM

Host�

��

&�!����>��������*��!������+���������������3�(������ ��������+�������������������)�����?��!���������������������)��� �������=������!�������������+�������������������������������������������������+����

<��� ��#��������� ���� ����� ������������� ��� �������������� ��� � ������� ,��������������������$����%�����?'���"���� ��� ������������ �����������������������������)���� ���� ���*�������� ������������ ������ ������������������� ����$%�����? '�������4(������� ������� ��������<��� ��#��������� ���� ������ ������� ���������� �� � �� ��!���� � !���� �������� ������������� ������ ����� ������������� ����� �� �������������� ������<��� ��#��������� ���� �� ����������������������� �� ��!������� �������������� ��������� ��� ���� ���������� � � ��������������� �������$%�����?�'��� ���� �������������� ������������ ����� ������� ������ � ������� ��� ������� � �%�� ����� ���� ���� ��� ������ ��������� � ����� ��������$%�����?�'� ��� ����� ������� ��������� ������������� ���������� ���������� �� ������ �� ��� ��������� ��� ��������������� ������

ISA 1

OS 1

apps 1OS 2

apps 2

(b) (c)(a)

OS 1

apps 1

ISA 1

OS 1

apps 1

ISA 1

OS 2

apps 2

��

&�!����9���=������������������������������������������

0����������!���������������������+���������������������������������������������������������������������������������������������������� 0������������!������������������������������<������� �������������������������)��������������������0����������!������������������+�����������������������=)����=� ������������

0�� ��������� ���������������������������������������� ��� ���������������� �� �� �������� ������������ ��� ������� ����������������������� ��������������������� ���� ��������/�1�������<.�� ���4������<.���F������ ����� �������� ��������� ��� �������� ��������������������������������������������������������������������������������������������������� ���������� ����� ���������� ������������������������� ������������������������������ ��)���� ��� �����*��������������� ���������� ����� ������������� ��� �������

Page 10: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ������������������������

�,+ 2�����# ��"$�%$�� ���

1�������������<.������������� ��� ����������� ����� ��(6�������������������������� ������������� ���������������<.��� �������������� ��������� ������ ��������# ������ � ������������������������������������� ��������������

�,+,� %"� *����$�� ���

���������� ������������������� ��� ��������������7������� ��������>�����������!������� �������� ����� ��� ����������������� ������������ 4�� ��������� ��� ������������������������������������ �������� ����������� � ���� �������� �.���� 4��� � �� ����� ������� ������������ ������������� ���������������� ������������� ��������������������������������������� ����� ���������� ������������������A ��������������������������� �������� ��� ������������ ��������� ���������������������� ������������������ ��������� ��� ��� ���� � ��������������������������� !����������������������������������� �������������������� ������ ��������������������� ��� ����������� ������������������������������� ��� ���������

�,+,� �� "$����$���(��$� ��. �$���&�$�$����

(�������� ������������������������������������� ��� ���������������������� ����� ���������������� ���������������������������� �����������������������������>��� ��� ������������������������������������������� ��� ������������ ���� �������� �(���� ������� ���������������� ��� ������ ��� ������ ���� ���%�����9���(��� ��������� ��� ��������������� ��������������������� ��� ������������� ���������������� �������(����������������� ������������ ������������� ���������� ���������������������������� ������������� ������� ����������������� �������� 4���� ��������� �������������� �������%�����9������� ��������5���� ��%GI23��������$+��!� �� ���+������&99:'�� �����%GI23��������� �������������(�23� ��� �������� �����������������0�������F����� ��(�� �� ��� ���� ������ �����������0�������F�������

Alpha ISA

WindowsOS

IA32 Windows apps.

Runtime

&�!����8��(�����������������������!������������������6��@�!����&AB2#�����������+��C ��?��+��3(?2#��������������� �����������(���C ����+�����������

������������ �������� ������ ������������ ��� ������� ���� �(�� ��������������� ���������������� ������4(������������������ ������ ��������������������������� ����������������������������� ����� ���� ����������������������7��������������� ������ ���������������������� ����������������������������������

%���������������� ����� ����������� ���������� ����������0������� ����� ��� ����������!������������������������ ����������������� ������������������� ����������7�� ����������������������� ����� ���� ������������������ �� ����� ��������������� ��� ��������������������� �����!��������������������� ��� ����������� ��� ����������������� ������ ����� ������ ������������������� ������� �������� ������������������6�� ������ ����� ��� ���������������������� ����� ������������������������������ ��� ������������ �������������� ���������� �� �����������������

Page 11: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ������������������������

�������� ����� ������ ����� ��� ������ ������������������� ������ � �������������������� ������ ����� ����������� �� ��� ������ ����� �������� �������� ��� �������������� �� ����������� ��� ��� ����� � �� ���� ������� ������� ����� ��� ������ ������������ �������� ����������������������� ��� ����������������� �������� ������� ��������������������7���������������� ��� ���������� ��� ������� �������� ����������������������� �� ������������������������������ ����������� �������������� �>����� ������������ ����� �����!������������������������������������� ���������������������������������������������������7������ ������7����������������������� ����7������������������!�� �������� ����� ��� ������4������������������� ������� ������������# ��������������� ��� ����������������������������� ������ �� �����������������������7������������������ ���������� ��� ������������� ��������������� ����� ������ ����� ��� ������ ������������������������������ ������������ �>��������������������� ������%GI23���� ��� �������������������� ���������������� �������

�,+,+ �$� �3!���. �$���'*� � 4���

.������� ������� ����� ��� ���������������� ��� ������������������ ������������������� ��������������������������# ��������������� ���� �� ����������� ��� ��������������������������������������������� ������������ ��� ���� � ���� ��������# �������� ����� ����� ��� ��� ������� ������������������� ��� �������������������������� �� ������� � ����� ����������������� �� ��������������� �������� ��������� ��� �������������������� ���������# ����� �������� ���� ��������������#����������4 ����4(���� ������� ��������#���� ������������������������������� ������� �� ������ �������������#������������������ ���� ������� ������ ���������������� �������(���� ������� ��������#���� ���������� ��������� ������������������������������ �������������#��������� ��������������������(���� ����������� �� ����4(���� ������� ���������#����������5�� ����������������� ������������� �� ����� ������,���� ��+�������1 �! ���$6 � ��5������� ����� ���6 ���,� ��3DDD'���

�,+,� 5 ���6����6$��"$���#%7�2$�8��� �!���*��������

%��������������<.������������ ������������� ��������� ������������� ���� ����������� �����,��������%����� ���������%GI23���������� �������� ���������� ��� ���������� ��������������� ��� ��� ������$�(�23�1�'���� �������� ��� ������$(�� '����+������������� �� ��� ������������� ��������� ������������ �� ������� ���� ���� �����7����� ���� ���� ��������� ���������������%����� ������������� ������������(�23���� �������� �������� ��� ���� �����������������������������41(B���1����1���.�14������������� ��%GI23���!��<.������� ����������������������� ���������������������������������������������������������������� �������������������� 4����� ����������������������� ���������������� ��������������

%���������� ��������� ���������������� ����� ������������ !���� ������ �!� ��������������������� ������ �������� ����� �����!�� ���� ����� ������������������������������ ��������������<.� ������� �������� �� �� ��� �����������������������������������������������+���������<.��������������������������������������������� ����� ��� ��������B ������������������������� ��������� ������� ������� ���������� �������� ������������ � �� ���$+""'��������� ��� ��������� �������������� �������# ���$�����$������������ � $+""�<.�'� �������� ����������������<.������������ �������+������������� �������������������#����� ��� ����������� ��� 4����������� �������� ������������������������� ��������������������

+""�<.����������� ����� �����������1 �� ������ ������������������$6������&9?D'����� ����������� ����������%�����&D �������������������������� ������������� ��������������� ������� ��� ������ ����� � �������������� ������������������ ��������-������ ������ �������������������� ���� ��������� ������������������ ��������������������� �������������������� ������������������ ������������ ����������� ����� !����������������� �������� �������� ���� ���� ������� ������� ��������������� ����������4(� ��� 4������������ ���������������������� ��������������� ��������� ������������������4(� 4������� ��������������������������� ����� ������������ ������������������������������������������� ��� �������

Page 12: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ������������������������

���+""�<.������������������� �����$%�����&D�'������������ �������� ������������������� �������������������� ������������ ��������������� !���� ������ �� �����������������(�����������%�����&D��� ����������� ������������������������� ���� ���� ���� ������������������������������� ����� ����������� ������������� ���+""�<.����������� �� ��������������� �!�� �����4(���������� ���������������������������� ��������������� ����� ��� ��������������� �������� ���4(����������������������������������������������� ����������%���� ���� ������� �<.�� ������������������������ ���4(������������������������������������������<.����� ���� ��������������� ��� !���� ��������������������������� ����������������������7������� ����� ������ ������$����������������������� ��������� �!'����� ���������� �������������� � ���������� �� ������� ���� ������ �� ����������� �� ����������<.������������������� ������������������ ����<.������� ���� ���� ������������ �������������$��� ����� ��� ���'������������ �������������������������������������������� �������

Distribution

HLL Program

Intermediate Code

Memory Image

Object Code

Compiler front-end

Compiler back-end

Loader

HLL Program

Portable Code

Host Instructions

Virt. Mem. Image

Compiler

VM loader

VM Interpreter/Compiler

Distribution

(a) (b)�

&�!�����$��D�!�E�����E�!�!�������������������������������������������������������������������������������������������������������0�(��������������������+�����������?����������� F������������������ �������������������������������������� 0�(�DEE����������������+�������� �����������������������G�=������H� ����������?������������������������

(�� �� �� ������ �+""�<.������ ������� ������� �������� ��������������<.������������������ �� ������ ����������0���������<.��������� ����������� !��������������������� ������������� �!��� ������������ �������������� ���� ������ ��������������������� ��� ���������� ��� �������������� ��� ����������������� ������������ ����������� ����� ������������<.����� ����� ���� ���������4(��

����4��.������������C � �<.� �����������$"�������� ���J������&99@'� �������.����������������" ��� ������� ��������$�"�'������������������� �������������FA���� �����!�$6���3DD3'�� ����������������������������� ��������+""�<.����1� ������������������ ���������������� �������� ��������������C � �<.� ����"���������4(������������������ ���� ���������������� �� �� ���� ������������ ����������� �� ����7���������������������� ����������� ��������� ���������������� ������� ������ �������������� ����������������������������������� ����� �!�� ����$��������� ��������������7��������'� ���� ��� �� ���� ���� � ��������� ����� ���������������������� �����������������#����������� ������������������� �� �������������� �� �� ������ ������������������ ������6�� ��� ���� ��� ���� ������� ��������� ��� �������������������C � �����"��� �������� ���� ��� ������ ������������������� ��������� 4���B ������ ���������� �� �������� ���������������� �� �������������� �������������������������

Page 13: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� �+�+�+�+����������������

�,� ����� �# ��"$�%$�� ���

4���������� ��� �������������� �������������������������������������� ������������������������������������������������� ������������������<.��������������������������������&9@D�� ���� ����&9:D��� ������������������������������������)���� ��� �����*���6��������������<.��� �������������� ��� ���� ������� ������������������� 4������������������� ���������(�������������������������������������� ����� ����������������������������� ���� ������������� ���������������� ������ �� ����� ���� ����� �� ��������������������5����������������������������� ��������������� 4��������������������� ����� ���� ���� ���<.�� �����������������������(����� �������� �������������������������� 4��� ������� ������������� ������������������������ ����� �������� ���������� ���������� ��� ��� ������ ����������������������� ����������������� ��������������!������������������������ ������������<.��� �����

��� �������������������<.�� �����,���������������� ��������������� ������������������� ��� �� ��������������� ������ ������� �����������������<.��������� ��������������� ���� ������������������ ��� �������������������������� ����� ������������������ ������� ������� ����������������������������1��� ���������������� ����� ���������� �>���������<.������� �������������� �������� ����� ������������ ,��������� ������������� ������������������������� ���� ��� ���� �������4���� ������������������������������������ �������������� ���������������������������������%����������������������������������������������������������������������� 4�������� �� ��������������� ��������������������������������������� ������������� ���������������������������� ������������������ ��������������0������� ���"����$ �������� �������%�����&&'����� ��������� �������������� � ��� ���������������� ������������� �������� �������������������

����������<.���� ����������� ������������� ,����� ��������������� �<..������������ �������������� �������������� ���������������� ��� ������������ �������������������� �������������������������������<..�� �� ���������� ���� � ���� �������� ��� ��������������(��������� ������������ ��� ��� ���������� ����������������� ����� ������������ ��������� � ���������$������'����������������<..����������� ������������������������������������������ ������� ������ 4������������� ������ ����������� �� ������������������������ �������������������������� ����� ��� �������������������� ��������������������������<..������!�������������������� �������������������<..������� �����������������8��������� �������� � ����������K�����������������K����!�����������������<..���

Linux

Linuxapps.

IA32

Windows

Windowsapps.

VMM

&�!��������(��������������������������������<���������������������������+����

�,�,� !� *�����$� ����8������ �#%�

%�����������������������������������<.��������������������������� ���������� ������������������� ��������������������� ����������� ����� �� �������������� ��� ������������(����������� ����� ���4�������&�3��

Page 14: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ������������������������

������ ��� ���������������� ������� ���������������� ���������� ������ ������������������������� ����������������<..������ �����4�� ����������������������������� ����������� ��������������

%�����&&������� ���������� ����� �� �������������<.� �����������$1��!� ���8��������&9:;'������<..����������� �������� ���� ��� ���� ������� ��� ����������������������<..����������������������������������������������� ��������������������������������������������������������� ������������� �� ������ �������<..�� ����������� ������������ ������������ 4L�� ��������� ������� ��������� ��� ������������������ ������������������������<.� ���������������������������������� ���������������������� ����������������������� ���������������7�� ������ ���� ������ �� �� �������������������������� ���� ����������!�������������� ������ �� �������7����������� ��������������������� �� ����� �������������� ��������������� ����������<..�� ������������ ����������� 4�����������(���������� �� �� �������� ���� ����������������������� � �� ������������� �� ������������<..����� �������������<..��� ������� �������������������� ������������

(�� ����� ������������<..��������� ��������������� ��#��������� ������������ ������������������� ������������-��������������� ������ ����� ������������0���� ��������<.���������� �� �������������������� ���������� ������ ����� �� ��� ��������� ����%��������������� ��#��������� ���� ������������������� 4�������������������������� ���������������������������������������>��� ������������������������<..���������� �� �� ����������� �� ��� ��� �� ��������� �������������������������������� �������� � ������������� ������������������������� 4� �������� ��� ��7�����������������<.� �� ��� ��� � !��� ��� ����<.� ��� �������� �����$<.� ���3DDD'�� ��������<.��� ����������(�23�� ��� ���� ��������

�,�,� 9 ��������� �#%7��� "$� ���

����������������� ���������<.������������ ������ ������������������� ���$���������� �������'� ��� ��� ����������� ����������� ����4(� ����������������� ��� ������������������ ������ ������������������������� ������������������������ ��� ���������4(���%����� ���������(���1����1��� ������������ ���0��������1����������������4(��$ ������������� 4��'�� �������� ������������������ �����!�������������� ����(�� ��������� �����4��.����������������������� ����������� 4� ����4(��� ������0�������1����� �� ������������ �� ������������� ������������6�� �������� ����������� ����������������������� ��� ������������������ ����7������� �������������� ����������������������������� ������� ����������� ��������������� ��������� ��������� ����������������������� � �� �������������������� ��� �! �������������

�������� ���������� �����������<.�������� �������������� ���������������� 4� ��� ��� ������� �������������� ��������������� ������ ������������4(� ��� 4��������� ���� ������������������������ ��������������� �������� ��#�� �������� �����6�� ��������4(�� ������������������� ��� ����� ��� 4��������7�������� �������������� ���� ����� ��� �������%����������������<.��������������������������� ������������������� �������<..� ������������� ������������ ����������� ������� 4���������������� ��� ������

%�����&3������� ���� ��������������<.��������������� ����������� ���������������������� 4� ��� ��� ���������� ����(���� �������������������<.����<��� ��1��$�� ��&99:'���������� ����� �0����������������������� �. ��������� �����������<.������ ����������� �� �� ��� ��������� ��������������������� 4� ������������������4(���� �������������� ���������<.������ ������������� 4� �������� ��� �����$�'� ������������� ���� ��� ���������������������������� 4� ���� ��� �����.� ���������������� 4�� �� ������������������ ��� ����������������������� ������4(��������� ������������� ����������������������������������� �������

Page 15: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� ������������������������

PowerPC

Windows

MAC OS

Windows apps.

MAC apps.

��

&�!�����#��(�+������������� ��������������!�����<���������������)�����������������������?��������

������������ ��������<.������������������<.������ ���������� ��������������� ��� �������������������������������������� �������� �������������������� �����������������������������������4(���� ����������7�� ����� 4�� ����� ��������������� 4���A���������� ����� ��� ��������������������������������� �������� ����� ��� ���������������� ������ !�� �� �� ������������������������4(��� �������!������ ���������� � �������� ����� �� ������������ ������������������ �� ������������������������� ��� ������������ ������������ ��������������������������� ��������������4����������������� �������������� ,����� �����������������������������������<.���

�,�,+ )�3(� �����#%7�5$��:$���'*� � 4$� ���

��� �������<.���������������������� ��������� ��� �������������� ����� ������ ��������������������������������$�����������������'� 4����������� ��������� �����������������������������4(�� ��� 4����������� ���� ������� ����� ������� ������ ���� ��� ������� ��� ����������� ���� ��� ��� ��� ��� ��������� ����������� �� ����4(�� �������������� �����$����'� ��� ����������� ������ ������ ������������� ��� �����������6�� ���� ������������������� ����$�������������������� ������ ������������ ���'�� ����������� ��� ��������� ���������#���������� ������������������������������ ������ �����

%��&�� ���������� ��� �������������,������� ���� !�� ����������� �� �����������<.�� ����������������� ��������� ������4(�� ������� ��� ��� �������� ���������� �������������� ����������������������������������������>���4(�� ��������������������������� ������ ������� ������������4(��������������������������� ����� ������������������������������������ �������������<.�������� ������� ������4(� ��� �������������� ���������<.������ ����������� ���� ����������� ��� ����������� ��������

��������������������������������� ��� ������� �������� ����� ������� ��� ������� ��# ����� �� ����������� �������������� ��������� � ������������������������������������� ��� ������ ���� ������������������������� �� ������������������� ������������� ���������������������� ��������������������������B�4����!��������������$+�������� ���1 ��������3DD3'��������������!��������������������������� ������������������������������ ��� ����������� ����� ��� ������������� �� ���������� ���� ���������������������� ���������������������� ����

6�� ��������� ��������������� �<.�� �������� �����!���� �������!�� �� ������ ��� ���� ���������������� ������������� �������������<.����� �������������������� �������������������� ��� ��� ����� ���������������� �������������� ����������� ���� ���������������� ��������� ������������ ����������������� ������������ ����������������������������������������<..�������� ���������������������� ������������ ��� !������

Page 16: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� �-�-�-�-����������������

������������� ��� ��� ��� ���� ���� �������� ���������� ������������������������������������������������ ������������<.������ ����������� ���� ����� ��� ������ ���������������������������������� ������4(�������������� ���� ����������� ��� ������������������� ���������������� �������������+����������������4(�������������������������������� ��� ����� ����������������� ������ �� ������������������������� ����� ��� ������������������������� ������ ��������������������������������� ������� ��� �����������������������������# �������� ����# �����������7���������������������7������������������ ���� ��� ����������� ��������������������� �� �������������������������������� �������

1��� �����������!������� ������� � ������������<.� ��� ������ ����� �������$+ ������� 3DDD'�� ���� ������������������������������ ��� ������� �� �����<"�0����������������� �������������4(���������������(�23�������������������� ������������ ����� ������������������������������� ����� �� �� ��������������<"�0�� ��� ���� (�� ����� ��� ������� ������� �� �� ������� ��� � ��� ������������ <.� ������7��� ��� ���� �6.�(4�;DD��������$4������&99@'�� �����(4�;DD������������������������������������<.������ ���������� ������������,������������������� ����,������������������������������ ������������������ ��� �������� ���������� ������ �������� ������������������(4�;DD��������� ������ ���� ������� �����������1����1���4(�� ��������� ������������������� ��������� ��������������������� �����4���4(��

�,� ��&$;������$����"��$����0��� ���,������������� �� �������� �� �� �����<.�������������������� ��� ����������� ��������������������� ���������� ������ ��#�� ���� ������� �������� ����� ������� ��� ��������� � � ������� ������ ���� ���%�����&2���%������<.�� ������������������������� ,�������/�1�������<.�� ���4������<.��������������������������<.������� ��(6��-���������������������������� ������������������������<.������� ����������4(�-���������� �����������������������%����������������������� ������� ���� ������������������������ ���������������� ����4(���

�������������������%�����&2� ����������<.����������������<.����������������� ������������������������ �������� ������������������������������������ ��������������������������� �������������� �� ��� ������������������������� �>��������������������������� ����4(���� ������� ��������#������������� �������������������������������������#���������� ��������������������� ����������

MultiprogrammedSystems

HLL VMsCo-Designed

VMs

same ISAdifferent

ISA

Process VMs System VMs

WholeSystem VMs

differentISA

same ISA

ClassicSystem VMs

DynamicBinary

Optmizers

DynamicTranslators

HostedVMs

&�!�����2��(��=������������������������

Page 17: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� �/�/�/�/����������������

%����������<.����������������� ���������4(�� ����������������� ��������������� ������������ ������ ������ ��� ����� ���+""�<.����+""�<.�� ��������������������<.�� ��������� � �)�����������*���� ���������������������������� ������ �� ��������������������������� �������������������<.���

������������������������������ ����������<.���������������� ���������������� ����4(���� ������������)�� ����*�4������<.�� ���+������<.������������<.���������,������������������������ ��������� ��������������������������������� ������������������������ ����� ����������<.���������<..��������� ������� ������������������� �������������������������

A� ���������������<.����������������� ���������4(�� ��������������������0�����4������<.�� ������5��������<.���0����0�����4������<.��������� ���������������������� �������� ������� ������� ���� ���������� ��������������������5��������<.��������� ����$ ������������������'� ���������� ,����� �������� ���� ����������5��������<.�� ������������������������� ��������� ��� ������ ������ ��� ��� ���� ���� �� ��������������� ���������������<.���

6D � ��� �(63E36I�<&��3 6J(E�� (�D 3��� �

(������� �������� ��#��������� ������������ ���� ������� ��� ���������������� �������������� ���������������� ��$%�����&;'���������� ������� ���������� ������������ �������������� ��� ���������������������(�������������������� ��� �C � � ��� ��������������� �� ���1����������������������� ���������������� � �C � ����� ��� ��������������������(�23�"������+����������������� �������� ���"�������� ����� �� �� 4�<.��� �<.� ��������������� �0�������1����(���� ������ ����������(�23�� ��� ���������� ��� ��� ������ �������� �������������<.������������� �<"�0��4(��������� ����� ��� �����$�� ���� ����� �� ����)������������*'���������������(�23��4(����6������������ ���<.��������������� �C � ��������������� ����� �� ������������� ��� �����<"�0���

Code Morphing

Java application

JVM

Linux IA-32

VMware

Windows IA-32

Crusoe VLIW�

&�!�����5��6���������������������������������������!����������)�������!���������������)�������!�������?����!������ ��

6D � � ��6�<&�6D � �:<<"�

�������!�� ������������� ���������� ,������������� ��������� ��������� ����<.�� ����������������� �������� �����3��������@��� ����� ��������������������� ��� �������� ����� �����:��������9��� ����� ��������������������� ��� ��������

�������������������������� �������������������� �������� ������� ����� ���������������������� ������� ��� �������������� ��������6�� ��������������� �������������������� ����3������� ���� ������������������

Page 18: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� �0�0�0�0����������������

��� ������A�� ���������� ������������������ ����������������������������� ������ ������������������ �������� ������� ������ ����� ��� ����������������!���������������������� ����� ��� ������������4(�������������� ������ ��� ���� ������������������������������� ����������<.��������� ������������������������� ���������������$��������������� ���������4(�� ������������'����� �������������������� ���������7��� �������� ��� ���������<.�� ���� ����������� �� ����� $����� ��� � ���������� ���� ����� ���������4(�� ��� ����� ��'��(�� ���������������4� ������� �������������������������� ���� ������������� �����������7����

�� ����2�������� ����� �� ��� ����������� ��������������������� ��� ����������� ��� �������� ���������������<.����������� �������� � ����������� �������� ����� ��� ������ �������� ���������������� ��������������� ����������� �� ������������������������ �����5A����� 7�%GI23��������������� �� �� ��������������%GI23��������������0��������(�23��������� �������� �0�������(�� �� �������

1������ ������� ������ �� ��� ����������<.��������� ��������� ��������� ������������������������������� ������������������ ������ ���������� ������������#������ ��� ������� ������ ����� ����;��� ��������� ��������� ��� ���������#������ ��� �����������%������� ����������� �����������#������� ��� �������������!�� ������������� ��������������������������# ������ �����������������������# ��������������������������������������� ��� ������������������������� ���� �� ����� ��� ���������� �� ���� �� �������������# ������� � ���������� ��� ������ ��� ������� ����������(����� ��� ������������������������ ���� ������4(� �������� ��� ��������# ��������������� ��������������������������<.�������7��������� ����;��������������� ������������������ ��� ����� ��������������� ����4(���� ������� ��������#���� ���������������+1�5��� ���������� �� �� ����������

�� �����H� ���@�������������������� �� ������� ��� ������������������� ��� ������� ����������������� ����� ���������������������������������������� ��������������� ����H������������� ���������������1 �� ��1�������6�� ����������+""�<.�� ��� �����������������������!�� ������������ �����,����������������� ������������� ���������� ��������������������� ������ ������ ��#���������C � ����� ��� ������ ����������������������������������� ����(��������������� ��������������������������.����������������" ��� ������� ��������$�"�'�������������� ��� ��� ��� ������ ��������� ����� ������ �������C � �� �������������������������������������� ������� ������������� �������� ������� ����@����������������������� ������ ���+""�<.��� ��������������� � ���� �������� ����� �� ����� ��� ������7����+���� ������ ����+""�<.��������� ������ ������������������� ��������6.�C�!������� �������� ��� ������������� �� �� ���������

������������<.������������������������������ ��� ����������������������� ����������������� ����:������������������ <.� � ����� �������� ���� �� � ��� ��� ����� ��� ��� ���� ��� ����� ������ ����� � ������7�������������������� ��������������� ��� ���� ���������� ������� ���������������� ������������� ������������������� ����� ������� ����6.�(4�;DD�����������

�� ����?������������������ ���������<.��-��� ������<.���� �������������� 4�������� ������������ ��������������������� ���������7�����6 �������� �����������������������������<.�� ���������� ������������������ ���� ��������������4�����4(�� ���� ������������ ��#���� ��������������� ������������������������ �� ��� !���������������������������� ��#��� ������������������6.�2@D�29DM�����������<.�� �������������� ������� �� �� ����������������������� ���������������������������������<.� ��������������� ��� ����������������� ������� ���(�23�� ����������� ������� ����������� �����������

(���������� ��# ���������������������������������������������� ����9�� ��� ,������������ ���������7����� �� ��������� ��������������������������� ������ ��������������������������������� ������������ ���������� ������������������������������7���� ������������������� ����������� ����� ��������������������

Page 19: Virtual Machines by nayar

!� & � ' ( � ) & !' � �

)�*�� ���)�*�� ���)�*�� ���)�*�� ������������������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ������������������ ����� �������������� ��������������� ����������������������������������������� ������ �����

� �1�1�1�1����������������

������������������������������������� ��������������������4(���� �������� �����������������������������������(��������������� �����������7��� �������� ��� ������������������������������������$������������'� ������ ��������� ������������������ ��������� �� �����6.� ����� �� ����������� $"1(B'� ��� ����4� ������5��������� ����<.� ������� ��� �����������

%�� ������� ����&D������������������ ��������!����� ������������ ������������� �������������������<.� ��� �������� ������������������������������������������������������������������� ������� ������������ ���������

�������!� ������������ ��(�������� ������������������� ����������������� ��� ������������������������������ ��������� ����������� ����������� ������� �� �������� ������������ ��# ������������������%���������� ������������������� ���� ��� ���� �������������� ������ �����������������������������������(����������������������������� �������!�� �����(�������������������� ������������������� �����(�23� ���1����1���4(������������� ������������ ����� ���� ������