Jump to content

Executable: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Reverted edits by 12.48.245.245 (talk) to last revision by Makeemlighter (HG)
No edit summary
Line 6: Line 6:


==Interaction with operating systems==
==Interaction with operating systems==
Some [[operating system]]s designate executable files by [[filename extension]] (such as [[EXE|.exe]]) or noted alongside the file in its [[metadata]] (such as by marking an "execute" [[File system permissions|permission]] in [[Unix-like]] operating systems). Most also check that the file has a valid executable [[file format]] to safeguard against random bit sequences inadvertently being run as instructions. Modern operating systems retain control over the computer's resources, requiring that individual programs make [[system call]]s to access privileged resources. Since each operating system family features its own system call architecture, executable files are generally tied to specific operating systems.
Some [[operating system]]s designate executable files by [[filena\ces inadvertently being run as instructions. Modern operating systems retain control over the computer's resources, requiring that individual programs make [[system call]]s to access privileged resources. Since each operating system family features its own system call architecture, executable files are generally tied to specific operating systems.


There are many tools available that make executable files made for one operating system work on another one by implementing a similar or compatible [[application binary interface]]. (For example [[Wine (software)|Wine]], which implements a [[Windows API|Win32]]-compatible library for x86 processors)
There are many tools available that make executable files made for one operating system work on another one by implementing a similar or compatible [[application binary interface]]. (For example [[Wine (software)|Wine]], which implements a [[Windows API|Win32]]-compatible library for x86 processors)

Revision as of 15:05, 18 January 2011

A hex dump of an executable real mode boot loader

In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions,"[1] as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU. However, in a more general sense, a file containing instructions (such as bytecode) for a software interpreter may also be considered executable; even a scripting language source file may therefore be considered executable in this sense.

Interaction with operating systems

Some operating systems designate executable files by [[filena\ces inadvertently being run as instructions. Modern operating systems retain control over the computer's resources, requiring that individual programs make system calls to access privileged resources. Since each operating system family features its own system call architecture, executable files are generally tied to specific operating systems.

There are many tools available that make executable files made for one operating system work on another one by implementing a similar or compatible application binary interface. (For example Wine, which implements a Win32-compatible library for x86 processors)

When the binary interface of the hardware the executable was compiled for differs from the binary interface on which the executable is run, the program that does this translation is called an emulator. Different files that can execute but do not necessarily conform to a specific hardware binary interface, or instruction set, can be either represented in bytecode for Just-in-time compilation, or in source code for use in a scripting language. (see Shebang (Unix))

See also

References

  1. ^ "executable". Merriam-Webster's Online Dictionary. Merriam-Webster. Retrieved 2008-07-19.