经常听到有人说,这一个软件不兼容啊,其实说的是硬件(比如我们的手机或者电脑等硬件产品)不兼容某一个软件,或者反过来,某一个软件不兼容某一个硬件,那么这里的兼容性如何理解呢?
今天,木子集中梳理一下。
兼容性(compatibility)是指硬件之间、软件之间或是软硬件组合系统之间的相互协调工作的程度。兼容的概念比较广,相对于硬件来说,几种不同的电脑部件,如CPU、主板、显示卡等,如果在工作时能够相互配合、稳定地工作,就说它们之间的兼容性比较好,反之就是兼容性不好。
对于软件的兼容性,指的是指某个软件能稳定地工作在若干个操作系统之中,而不会出现意外的退出等问题。
由于PC机的方便组装和易扩充性,在一定程度上加速了电脑的普及,而电脑配件制造商们自然也为此做出了巨大贡献。不过,正因为我们使用的电脑(特别是兼容机)是由不同厂商生产的产品组合在一起,它们相互之间难免会发生“摩擦”。即出现不兼容。
在软件行业,一种是指某个软件能稳定地工作在若干个操作系统之中,就说明这个软件对于各系统有良好的兼容性。再就是在多任务操作系统中,几个同时运行的软件之间,如果能稳定地工作,不频繁崩溃、死机,则称之为它们之间的兼容性良好,反之兼容性不好。另一种就是软件共享,几个软件之间无需复杂的转换,即能方便地共享相互间的数据,也称为兼容。
有两种广泛熟知的兼容术语:
向上兼容:在较低档计算机上编写的程序,可以在同一系列的较高档计算机上运行,或者在某一平台的较低版本环境中编写的程序可以在较高版本的环境中运行,都称为向上兼容,前者是硬件兼容,而后者是软件兼容。
例如,基于Intel386的PC兼容机上所有的软件也可以运行在486或更高的机型上。向上兼容具有非常重要的意义,一些大型软件的开发,工作量极大,如这些软件都能做到兼容,则无需在其它机器上重新开发,就可节省庞大的人力和物力。
向下兼容。向下兼容(downward compatibility),又称向后兼容(backward compatibility)、回溯兼容,在计算机中指在一个程序和/或库更新到较新版本后,用旧版本程序创建的文档或系统仍能被正常操作或使用(包括写入),或在旧版本库的基础上开发的程序仍能正常编译运行的情况。
如果一个软件的旧的版本保存的文档不能被新版本读取,即使厂商提供了额外工具对旧文档进行不可逆转的转换,这也不能称作向下兼容。这可能是软件厂商的一种市场战略,强迫用户购买升级软件,随着升级用户逐渐增加,逐渐地使得旧软件能读取的文档越来越少。