All Topics  
Execution (computers)

 

   Email Print
   Bookmark   Link






 

Execution (computers)



 
 
Execution in computer
Computer engineering

Computer Engineering is a discipline that combines elements of both Electrical Engineering and Computer Science. Computer engineers are electrical engineers that have additional training in the areas of software design and hardware-software integration....
 and software engineering
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
 is the process by which a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 or a virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 carries out the instructions of a computer program
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
. The instructions in the program trigger sequences of simple actions on the executing machine. Those actions produce effects according to the semantics
Formal semantics of programming languages

In theoretical computer science, formal semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages and models of computation....
 of the instructions in the 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 ...






Discussion
Ask a question about 'Execution (computers)'
Start a new discussion about 'Execution (computers)'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Execution in computer
Computer engineering

Computer Engineering is a discipline that combines elements of both Electrical Engineering and Computer Science. Computer engineers are electrical engineers that have additional training in the areas of software design and hardware-software integration....
 and software engineering
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
 is the process by which a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 or a virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 carries out the instructions of a computer program
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
. The instructions in the program trigger sequences of simple actions on the executing machine. Those actions produce effects according to the semantics
Formal semantics of programming languages

In theoretical computer science, formal semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages and models of computation....
 of the instructions in the 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
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 and run-time libraries
Runtime library

In computer programming, a runtime library is a special program library used by a compiler, to implement functions built into a programming language, during the runtime of a computer program....
 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.

Interpreter

A system that executes a program is called an interpreter
Interpreter (computing)

In computer science, an interpreter normally means a computer program that execution , i.e. performs, instructions written in a programming language....
 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 compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
s. 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.

Micro-execution

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
Microcode

Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations....
 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
Field-programmable gate array

A field-programmable gate array is a semiconductor device that can be configured by the customer or designer after manufacturing—hence the name "field-programmable"....
, and execution schemes that modify the hardware dynamically to match the current requirements exist and may become increasingly common.

See also

  • Invocational media
    Invocational media

    Invocational media are communication technologies based on digital computers. Invocational media infrastructures assign names to given entities , and perform events to call up these named entities from invocable domains on demand ....
  • Runtime
    Runtime

    In computer science, runtime or run time describes the operation of a computer program, the duration of its execution, from beginning to termination ....