Jump to content

Executable

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 12.48.245.245 (talk) at 14:52, 18 January 2011 (Interaction with operating systems). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 filename extension (such as .exe) or noted alongside the file in its metadata (such as by marking an "execute" [cummy saturn[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 sequen penis pumpces 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.