软件系统从Unix到Linux的跨平台移植改造

2018-02-28 11:25薛小东梅尧明
电子技术与软件工程 2018年13期

薛小东 梅尧明

摘要 在电脑被开发以前,很多人就希望在一个平台上,能达到多任务多用户几万人,甚至几十万人共同在线,大家能互相交流并且保有每一个人的隐私性,同时大家都在这一个平台上查找到自己想要了解的问题,这正是计算机被开发出来的原因,也是软件系统被开发出来的极其重要的目的。目前,计算机操作系统当中有两个重要的系统,这两个系统支撑着整个互联网的应用操作,这两个操作系统就是Unix和linux。

【关键词】Unix Linux 可移植性

1 前言

在这个飞速发展的经济大数据时代,我国国民已经离不开网络,离不开电脑、手机等通讯上网的硬件设备,这些设备应用在千家万户当中,同时软件的开发不断的更新扩大,资历较老的应用软件不断更新以求跟上时代的进步和社会的发展,新兴软件产品更是希望引领时代的潮流,技术的革新使很多原本成熟的软件,无法用在新的网络环境上。因此保护软件原本的资源并且减少应用的新开发以及员工的成本费用是我们困扰的一项难题,而软件移植就能很好的解决上述问题。

2 简述Uni x操作系统

众所周知,Unix是一个计算机的操作系统,它是一组程序使计算机和用户之间得以连接,这个操作系统当中有一个被称为shell的命令行解释器,这个连接器能让用户和内核直接通信,并且命令行解释器会把由用户输入的命令转换成语言,方便大家交流。这个系统开发于贝尔实验室在1969年,现在在软件市场上可以发现Unix有很多不同的变种,例如AIX、BSD等,正因为它是免费提供的,所以在市场上有很多运用它来进行系统操作。

2.1 Unix的特点

众所周知,这个操作系统高稳定性与可靠性极强并且它是免费提供的,所以市面上用它的极其广泛,这是他最重要的特点之一。时至今日,这个操作系统依旧是主流操作系统之一,而在软件系统不断进步的今天,因为这个操作系统而衍生出来的不同组织,对其进行了不同的开发而形成的新系统,依旧应用在现今的操作系统当中。Unix的定义在今天依旧不容易界定,但是依旧不影响它是一个极其强大的多用户与多任务的操作系统,同时正因为他支持多种处理器构架,因此他才能一直被作为原始系统开发出许多衍生系统。

3 简述Linux操作系统

它是一种计算机的操作系统不用过多说明,它是一套可以自由传播,并且免费使用的类似于Unix的操作系统,其中所说的自由传播是操作系统通过自由软件和开放源代码,Linux是计算机发展中最著名的例子。它同样支持多用户与多任务,并且支持多线程和多CPU的操作系统。

3.1 Linux的特点

这个计算机操作系统的主要特点是它能运行大多数主要的Unix工具软件,并且它还可以运用Unix的应用程序与网络协议。它能配合硬件的32位和64位。这是Linux系统的重要特点之一,并且站在巨人的肩膀上,它在Unix的基础上借鉴了核心的设计思路。性能的稳定和多用户网络同时操作是这个系统的主要特性之一,基于InterX86这一系列的CPU计算机上是这一系统的主要特点。

4 软件系统的可转移性

软件移植是一个大趋势与大方向,因为软件移植可以减少公司开发新软件系统所给公司造成的成本,并且还能减少维护的费用。软件移植、设计可移植性软件的方法和思路是软件的可移植性研究的主要目的,在当今软件研究开发目的当中,软件素质主要要素之一就是软件的可移植性,优良的软件可移植性能从根本上延长它的使用期限,就是延长了它的生命期限。

4.1 可移植性的概念

通过应用程序从一个计算机环境,转移到另一个计算机环境,的可迁移程度,就是指软件的可移植性,是可移植性的根本概念。當一个软件能够运行于一个新的环境,如果重新开发一个系统的费用极高,那么移植软件将是每个企业发展的大趋势,节省成本是每个企业都希望做到的,以此一个软件是否具有可移植性将有费用来判断。但是软件的可移植性,不是程序不作任何修改就可以在计算机上运行的。当系统运行环境发生改变程序无需做很多修改就可以运行,是软件可移植性希望达到的状态。因此可移植性优良是表示重新编译以及少量的修改即可在大多数的不同计算机上运行。

4.2 涉及到可移植性的问题

可移植性在不同操作系统间的应用,所说的不同系统是指类系统操作和完全不同的操作系统。可移植性在不同供应商编译器间的运用,其中包括C语言的不同使用代码所进行的编译。可移植性在不同硬件间的使用,影响可移植性硬件差异的因素有哪些?例如数据的长短和字序的排列顺序等。可移植的软件在不同操作系统平台间需要考虑的问题有哪些?要考虑的问题有很多,例如:运行期的处理机制问题,操作系统接口问题,系统派生数据类型的不同,相关数据库的变更,以及是否支持内存分配机制的问题。不同操作系统间的差异,可以在程序设计时,通过条件编译的方式来避免此等相关的问题,并且特殊环境特殊处理。

4.3 可移植性的层次

目标代码级与源代码级,是可移植性主要划分的两个层次,基于Jave虚拟机为代表的以Jave所实行的跨平台方法,“一次开发,各处运行”是这个方法所能做到的,这是它的主要特点。这个特点将能通过实现可移植性在目标代码上的应用。而这个方法最大的缺陷就是对程序在不同场合下要求的实时性非常强,这时此方法就非常不适用了。因此可移植性在源代码级上的应用就是我们要考虑的项目。计算机语言能应用在大多的平台上,例如计算机C语言就是能在大多数平台上使用的并且得到大多数平台的共同支持。通过在不同的平台上编译连接用同一个源程序所生成的代码,同时达到运行效果相同的目的,得以实现跨平台运行程序的效果。

5 结束语

在不同的系统环境下,可以用相同的程序,是移植的主要目的,同时包括跨硬件平台和跨操作系统平台。在当今时代,计算机的发展速度超乎我们的想象,新的硬件操作系统不停的更新换代,而节约成本将是企业最大的目的,因此利用原有的软件进行优化与改造,使其适用新的环境,并且延长该软件的使用寿命是重中之重。

参考文献

[1]吴爱民.软件系统从Unix到Linux的跨平台移植改造[J].中国人民大学学报,2014: 24-25.

[2]李思远.Unix到Linux的跨平台移植改造[J].大连海事大学学报,2016 (05): 6-8.

[3]石西.软件系统从Unix到Linux的跨平台移植改造[J].中南民族大学学报,2014 (05):17-18.