Execution in computer and
software engineeringis the process by which a computeror virtual computercarries 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 systemand 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 codeinto 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.
machine languagethat 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 RISCcomputers 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.
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