版权归原作者所有,如有侵权,请联系我们

[科普中国]-软件可移植性

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

软件可移植性指一种计算机上的软件转置到其它计算机上的能力(也可称作软件自动搬家)。软件移植是实现功能的等价联系,而不是等同联系。软件可移植性的主要标志是:这类软件有个通用的标准文本;它们独立于具体的计算机。

定义软件相对于具体计算机的独立性,从狭义上讲,是指可移植软件应独立于计算机的硬件环境;从广义上讲,可移植软件还应独立于计算机的软件,即高级的标准化的软件,它的功能与机器系统结构无关,可跨越很多机器界限。从一种计算机向另一种计算机移植软件时,首先要考虑所移植的软件对宿主机硬件及操作系统的接口,然后设法用对目标机的接口代换之。因此,接口的改造容易与否,是衡量一个软件可移植性高低的主要标志之一。

可移植性是软件质量之一,良好的可移植性可以提高软件的生命周期。代码的可移植性主题是软件;可移植性是软件产品的一种能力属性,其行为表现为一种程度,而表现出来的程度与环境1密切相关。(注1:环境包括软件环境,硬件环境和系统的组织环境)。软件可移植性指与软件从某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。1

性质在软件工程中,可移植性(英语:Portability),又译为移植性可携性,是指使用高阶语言写成的软件,在不同环境下,是否具备可以被重复使用的性质。一般来说,软件是否具备可移植性的衡量标准,在于进行软件移植时,需要付出多少工时为代价。具备高可移植性的软件,在移植到不同系统平台时,并不需要做太多事情,因此能够减少软件开发及布署时的成本。为了使软件具备高度可移植性,程序员需要使应用程序界面抽象化以及模组化。

以低阶语言,例如汇编语言,写成的软件,一般来说,其可移植性都较低。1

特性其质量子特性有:适应性、易安装性、共存性、易替换性和依从性。

可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。1

移植 (软件)在软件工程中,移植(英语:Porting)是一种软件发展程序,将某个可执行的程序,由它原先的环境中,迁移到另一个环境,让它可以重新运作。改变的环境可能是硬件或软件,包括处理器架构、操作系统、软件库等。

是当你进行软件移植时,需要重新改写的源代码越少,需要做的工时越少,这个软件的可移植性就越高。2

系统平台系统平台(英语:computing platform)是指在计算机里让软件运行的系统环境,包括硬件环境和软件环境。典型的系统平台包括一台计算机的硬件体系结构(computer architecture)、操作系统、运行时库等。

系统平台可能包括:

硬件本身,如一些嵌入式系统,不需要操作系统,直接访问硬件。

基于Web的软件使用的浏览器。浏览器本身也是在一个系统平台上运行的,但是浏览器里的应用并不关心。

应用程序,应用程序中可以支持一些脚本语言,比如Excel中的宏。

提供一些功能的软件框架。

作为服务的云集算平台。社交网络 Twitter和facebook等也可以看作一个开发平台。

虚拟机(VM)如 Java 虚拟机。应用被编译成和机器码类似的字节码,可以被虚拟机执行。

完整系统的虚拟化版本。包括虚拟硬件、操作系统、软件和存储。1

本词条内容贡献者为:

曹慧慧 - 副教授 - 中国矿业大学