Execution (computing)

Execution in computer and software engineering is the process by which a computer or virtual computer carries out the instructions of a computer program. The term run is used almost synonymously.

A related meaning of both "to run" and "to execute" refers to the action of a user starting a program, as in "Please run the ... application."

Context of execution

The context in which execution takes place is crucial. Very few programs are executed on a bare machine. Programs usually contain implicit and explicit assumptions about resources available at the time of execution. Most programs are executed with the support of an operating system and run-time libraries specific to the source language that provide crucial services not supplied directly by the computer itself. This supportive environment, for instance, usually decouples a program from direct manipulation of the computer peripherals, providing more general, abstract services instead.


A system that executes a program is called an interpreter of the program. Loosely speaking, an interpreter actually does what the program says to do. This is in contrast to a language translator that converts a program from one language to another. The most common language translators are compilers. Translators typically convert their source language to a language that is simpler and faster to execute. The ideal is that the ratio of executions to translations of a program will be large; that is, a program need only be compiled once and can be run any number of times. This can provide a large benefit for translation versus direct interpretation of the source language. One trade-off is that development time is increased, because the programmer must re-compile the entire project (in most cases) to test every small change. As computers and compilers become faster, this fact becomes less of an obstacle. Also, the speed of the end product is typically more important to the user than the development time.

Translators usually produce an abstract result that is not completely ready to execute. The conversion of the translator object code into the final form that is executed is frequently performed by the operating system just before execution of the program begins. This usually involves modifying the code to bind it to real hardware addresses and establishing address links between the program and support code in libraries. In some cases this code is further transformed the first time it is executed, for instance by just-in-time compilers, into a more efficient form that persists for some period, usually at least during the current execution run.


The machine language that is documented as the programming target for most computers is, in almost all cases today except, perhaps, for very simple processors, actually interpreted by a microprogram running inside the processor on the "real" hardware. There have been numerous attempts to design RISC computers that avoid micro-execution, but the distinction between complex and reduced instruction sets has tended to blur over time. A large factor in this "blurring" is that modern microcode processors reduce the speed difference between RISC and microcode by making extensive use of pipelining (an "assembly-line" approach in which instructions are interpreted at the same time others are executed.) The main distinction between this sort of micro-interpreter and an acknowledged software interpreter is that the microcode usually does not change. In the past microcode usually changed only slowly. The execution hardware today is sometimes implemented in field-reprogrammable logic, and execution schemes that modify the hardware dynamically to match the current requirements exist and may become increasingly common.

ee also

*Invocational media

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Execution (disambiguation) — Execution may refer toociety*Capital punishment, the act of putting a person to death *Capital punishment in the United States, on the specific history and situation in the United States *A writ of execution, ordering the enforcement of a… …   Wikipedia

  • Computing with Memory — refers to computing platforms where function response is stored in memory array, either one or two dimensional, in the form of lookup tables (LUTs) and functions are evaluated by retrieving the values from the LUTs. These computing platforms can… …   Wikipedia

  • execution error — noun (computing) A programming error which comes to light when the program is run (also called run time error) • • • Main Entry: ↑execute …   Useful english dictionary

  • Computing — For the formal concept of computation, see computation. For the magazine, see Computing (magazine). For the scientific journal, see Computing (journal). A difference engine: computing the solution to a polynomial function …   Wikipedia

  • computing — noun 1. the procedure of calculating; determining something by mathematical or logical methods • Syn: ↑calculation, ↑computation • Derivationally related forms: ↑computational (for: ↑computation), ↑compute …   Useful english dictionary

  • Execution — The process of completing an order to buy or sell securities. Once a trade is executed, it is reported by a Confirmation Report; settlement (payment and transfer of ownership) occurs in the U.S. between 1 ( mutual funds) and 5 ( stocks) days… …   Financial and business terms

  • execution — The process of completing an order to buy or sell securities. Once a trade is executed (see: execution), it is reported by a Confirmation Report; settlement (payment and transfer of ownership) occurs in the U.S. between one ( mutual funds) and… …   Financial and business terms

  • Computing platform — A computing platform includes some sort of hardware architecture and a software framework (including application frameworks), where the combination allows software to run. Typical platforms include a computer s architecture, operating system,… …   Wikipedia

  • execution — execute ► VERB 1) carry out or put into effect (a plan, order, etc.). 2) carry out a sentence of death on (a condemned person). 3) perform (an activity or manoeuvre). 4) Law make (a legal instrument) valid by signing or sealing it. 5) Law carry… …   English terms dictionary

  • execution speed — noun (computer science) the speed with which a computational device can execute instructions; measured in MIPS • Topics: ↑computer science, ↑computing • Hypernyms: ↑speed, ↑swiftness, ↑fastness …   Useful english dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.