Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

binary translation

The VMM traps privileged instructions and they are translated using binary translation, but actually into what are these special instructions translated into?

Thanks

like image 281
user44444444 Avatar asked May 15 '11 10:05

user44444444


People also ask

How do you translate binary?

To convert integer to binary, start with the integer in question and divide it by 2 keeping notice of the quotient and the remainder. Continue dividing the quotient by 2 until you get a quotient of zero. Then just write out the remainders in the reverse order.

Can binary be translated to words?

When the computer needs to convert the binary data back to human-readable text, it's the reverse of the previously shown process. For example, a computer may convert the binary 01101000 to the decimal value 104 which it knows is the letter h using the ASCII standard conversion.

What does 10101 mean in binary code?

What Does 10101 mean in Binary Number System? 10101 means 21 in a binary number system.


Video Answer


1 Answers

Binary translation is a system virtualization technique.

The sensitive instructions in the binary of Guest OS are replaced by either Hypervisor calls which safely handle such sensitive instructions or by some undefined opcodes which result in a CPU trap. Such a CPU trap is handled by the Hypervisor.

On most modern CPUs, context sensitive instructions are Non-Virtualizable. Binary translation is a technique to overcome this limitation.

For example, if the Guest had wanted to modify/read the CPUs Processor Status Word containing important flags/control bitfields, the Host program would scan the guest binary for such instructions and replace them with either a call to hypervisor or some dummy opcode.

Para-Virtualization on the other hand is a technique where the source code of the guest os is modified. All system resource access related code is modified with Hypervisor APIs.

like image 130
Raj Avatar answered Sep 28 '22 08:09

Raj