See something you'd like to change or add, but you've never edited an open encyclopædia before? This overview was written to help absolute beginners get started.

Binary translation

From A Storehouse of Knowledge
Jump to: navigation, search

Binary translation is the process of translating a computer program compiled for one instruction set architecture so that it can be executed natively on another instruction set architecture.

Some binary translators are also able to translate the system calls used by the program, making it able to execute on a different operating system.

There are two types of binary translation which are described below.

Static Binary Translation

A static binary translator translates an entire program from one instruction set architecture into another instruction set architecture. This process only needs to be performed once and because the resulting program executes natively, performance loss is minimal.

Dynamic Binary Translation

A dynamic binary translator translates parts of a program on the fly as they are required by the running of the program, and caches blocks of translated machine code for later use. Dynamic binary translation is usually slightly slower at run-time than static translation. However, due to its dynamic nature it is able to aggressively optimize particular parts of the program which are being executed most often, which can allow it to perform faster than static translation.

Personal tools

visitor navigation
contributor navigation