Porting
From Free net encyclopedia
In computer science, porting is the process of adapting software so that an executable program can be created for a different computing environment (e.g., different CPU, operating system, or third party library) to the ones it currently runs on. The term is also used in a generic way to refer to the changing of software/hardware to make them usable in a different environment.
The term is not usually applied to the process of adapting software so that it is capable of running on a computer with less memory, but with the same CPU and operating system, or a rewrite to a different language (i.e., language conversion or translation).
Software developers often claim that the software they write is portable, meaning that little effort is needed to port it to a new environment. The amount of effort actually needed will depend on the extent to which the original environment (the source platform) differs from the new environment (the target platform), the experience of the original authors in knowing which programming language constructs and third party library calls are unlikely to be portable, and the amount of effort invested by the original authors in only using portable constructs (platform specific constructs often provide a cheaper solution).
The number of significantly different CPUs and operating systems in use today is much smaller than in the past. The dominance of the Intel x86 CPU means that a lot of desktop software is never ported to a different CPU and in the same market the choice of operating system has almost been reduced to two (ie, Microsoft Windows and a flavor of Unix). In the embedded systems market portability can still be a significant problem.
International standards, such as those promulgated by ISO, greatly facilitate porting because they specify the details of the computing environment in a way that varies very little among platforms. Often, porting software between two platforms that implement the same standard (such as, for instance, POSIX.1), is simply a matter of recompiling the program on the new platform.
There also exists an increasing number of tools to facilitate porting, such as GCC which provides consistent programming languages on different platforms, and autoconf which automates the detection of minor variations in the environment and adapts the software accordingly before compilation.
The compilers for some high-level programming languages (eg, Eiffel, Esterel) gain portability by outputing source code in a high level intermediate language (eg, C) for which compilers are more generally available.
Two activities related to, but distinct from, porting are emulating and cross-compiling.
Contents |
Porting in gaming
Porting is also the term used when a computer game designed to run on one platform, be it a personal computer or video game console, is converted to run on another platform. Earlier video game ports were not true ports but rather complete rewrites, but more and more video games are developed using editing software that can output code for PCs as well as one or more consoles. Many early ports suffered from bad quality because the hardware of PCs and consoles differed greatly.
Porting in racing
In motor racing, "porting" means the act of modifying the shape and size of the engines ports (that portion of the intake and exhaust systems which are within the engine castings ) for enhanced aerodynamic flow.
See also
External links
es:Portable fr:Portage informatique it:Portabilità he:Porting ja:移植 (ソフトウェア) pl:Port (oprogramowanie) ru:Портирование программ sv:Portning zh:移植