In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, native software or data-formats are those that were designed to run on a particular
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
. In a more technical sense, native code is code written specifically for a certain
processor. In contrast,
cross-platform software can be run on multiple operating systems and/or
computer architecture
In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the ...
s.
For example, a
Game Boy receives its software through a
cartridge, which contains code that runs natively on the Game Boy. The only way to run this code on another processor is to use an
emulator, which simulates an actual Game Boy. This usually comes at the cost of speed.
Applications
Something running on a
computer natively means that it is running without any external layer requiring fewer software layers. For example, in
Microsoft Windows the
Native API
The Native API is a lightweight application programming interface (API) used by Windows NT and user mode applications. This API is used in the early stages of Windows NT startup process, when other components and APIs are still unavailable. There ...
is an
application programming interface specific for
Windows NT
Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system.
The first version of Wi ...
kernel, which can be used to give access to some kernel functions, which cannot be directly accessed through a more universal
Windows API.
Operating systems
Used to designate the lowest level of virtualization or the absence of virtualization. For instance the term “Native VM” is used to ensure reference to the lowest level operating system, the one that actually maintains direct control of the hardware when multiple levels of virtualization occur.
Machine code
Machine code, also known as native code, is a program which is written in machine language. Machine code is usually considered the lowest level of code for a computer, that, in its lowest level form, is written in binary (0s and 1s), but is often written in
hexadecimal or
octal
The octal numeral system, or oct for short, is the radix, base-8 number system, and uses the Numerical digit, digits 0 to 7. This is to say that 10octal represents eight and 100octal represents sixty-four. However, English, like most languages, ...
to make it a little easier to handle. These
instruction sets are then interpreted by the computer. With this, there is no need for translation. machine code is strictly numerical and usually isn't what programmers program in, due to this complex nature. Machine code is also as close as you can get to the
processor, so using this language, you are programming specifically for that processor as machine code for each processor may differ. Typically
programmers will code in
high-level languages such as
C,
C++,
Pascal, (or other directly compiled languages) which gets translated into
assembly code, which then translates it into machine code (or in most cases the compiler generates machine code directly). Since each
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
is different, programs need to be recompiled or rewritten in order to work on that CPU.
Data
Applied to
data
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
, native
data formats or
communication protocols are those supported by a certain
computer hardware or software, with maximal consistency and minimal amount of additional components.
For example,
EGA
Ega or EGA may refer to:
Military
* East German Army, the common western name for the National People's Army
* Eagle, Globe, and Anchor, the emblem of the United States Marine Corps
People
* Aega (mayor of the palace), 7th-century noble of Neus ...
and
VGA video adapters ''natively'' support
code page 437. This does not preclude supporting other
code pages, but it requires either a
font uploading or using
graphic modes.
References
Computer jargon
{{software-eng-stub