HOME

TheInfoList




Portability in high-level computer programming is the usability of the same
software Software is a collection of instructions Instruction or instructions may refer to: Computing * Instruction, one operation of a processor within a computer architecture instruction set * Computer program, a collection of instructions Music * I ...

software
in different environments. The prerequirement for portability is the generalized
abstraction Abstraction in its main sense is a conceptual process where general rules Rule or ruling may refer to: Human activity * The exercise of political Politics (from , ) is the set of activities that are associated with Decision-making, mak ...
between the application logic and system interfaces. When software with the same functionality is produced for several
computing platform A computing platform or digital platform is an environment in which a piece of software is executed. It may be the Computer hardware, hardware or the operating system (OS), even a web browser and associated application programming interfaces, or o ...
s, portability is the key issue for development cost reduction.


Strategies for portability

Software portability may involve: * Transferring installed program files to another computer of basically the same architecture. * Reinstalling a program from distribution files on another computer of basically the same architecture. *
Building A building, or edifice, is a structure with a roof and walls standing more or less permanently in one place, such as a house or factory. Buildings come in a variety of sizes, shapes, and functions, and have been adapted throughout history for a ...

Building
executable 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 computer hardware , hardware and ...
programs for different platforms from
source code 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 computer hardware , hardware and ...

source code
; this is what is usually understood by "
porting In software engineering Software engineering is the systematic application of engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, veh ...
".


Similar systems

When
operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android (operating system), Android and Mi ...

operating system
s of the same family are installed on two computers with
processors A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU per ...

processors
with similar
instruction set In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of co ...
s it is often possible to transfer the files implementing program files between them. In the simplest case, the file or files may simply be copied from one machine to the other. However, in many cases, the software is installed on a computer in a way which depends upon its detailed hardware, software, and setup, with
device driver 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 computer hardware , hardware and soft ...
s for particular devices, using installed operating system and supporting software components, and using different drives or
directories Directory may refer to: * Directory (computing), or folder, a file system structure in which to store computer files * Directory (OpenVMS command) * Directory service, a software application for organizing information about a computer network's us ...
. In some cases, software, usually described as "
portable software Image:USB flash drive.jpg, 200px, A USB flash drive, USB drive can carry portable applications A portable application (portable app), sometimes also called standalone, is a Computer program, program designed to read and write its configuration se ...
", is specifically designed to run on different computers with compatible operating systems and processors, without any machine-dependent installation. Porting is no more than transferring specified directories and their contents. Software installed on portable
mass storage 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 computer hardware , hardware and softwa ...
devices such as
USB stick A USB flash drive (i.e. thumb drive) is a data storage device On a reel-to-reel tape recorder (Sony TC-630), the recorder is data storage equipment and the magnetic tape is a data storage medium. Data Data (; ) are individual fac ...
s can be used on any compatible computer on simply plugging the storage device in, and stores all configuration information on the removable device. Hardware- and software-specific information is often stored in
configuration file In computing, configuration files (commonly known simply as config files) are computer file, files used to configure the Parameter (computer programming), parameters and Initialization (programming), initial settings for some computer programs. Th ...
s in specified locations (e.g. the registry on machines running
Microsoft Windows Microsoft Windows, commonly referred to as Windows, is a group of several proprietary {{Short pages monitor