论文部分内容阅读
随着用户量的快速增长对硬件发展的推动,手机和平板等嵌入式终端的计算能力和显示效果都有了很大的提高,高速硬件使得的眼下的嵌入式终端都有能力运行智能的操作系统,如WindowsMobile,iPhoneOs,AndroidOS,WebOS等。这些系统都提供有系统的API,成熟的开发框架,一致的进程、线程、文件存储、数据库模型。智能操作系统为越来越多的桌面软件、游戏、互联网应用进入嵌入式终端铺平了道路。用户对终端丰富应用的强烈需求使得各大厂商,不论是硬件厂商,还是终端服务厂商都在逐步建立自己的软件商店。越来越多的软件厂商和自由软件作者都在为嵌入式移动终端开发应用。但是手机市场不同于传统的桌面市场,嵌入式终端因为硬件和厂商的原因,目前市场上的智能操作系统还很多,虽然市场占有率有不同,但是没有一家能够独大。为了满足不同终端用户的需求,不得不考虑将应用设计成能够适应各种不同的软、硬件的架构,使得应用能以最快的速度推向不同的手持终端。如果能在移植方面找到好的方案,无疑将大大减少重复开发的工作量,提高应用开发的效率,抢先占领市场。
本文通过对前人嵌入式系统本身的移植和其上的软件移植的工作的研究,从不同的平台、硬件、软件的移植工作中去寻找一般的策略和方案。使用一种从底向上的方法,从硬件、驱动、系统、语言、软件这几个方面去分析软件可移植真正需要依赖的部分都落在了这些层次中了哪些部分。并就宏观层面上,对几种不同层次上的可移植方案加以分析和比较,提出可移植平台的设计方面的一些策略。就一定背景下可移植平台的关键技术加以分析,并通过系统的架构设计,使用框架将已有的资源:操作系统层、库和应用模块层进行有机结合,将这些功能需求落实到具体的可用资源中去,使得上层的应用有一个坚实的基础。通过分析可移植平台中关键模块实现上的可选的方案,就一些通用的模型给出参考,最终将功能需求进行整合,形成可以实现一定功能的单个模块。最后通过不同具体平台上移植实现过程,对比了两种模式实现,并将可移植项目的各个模块串在一起运行起来的过程展现出来。通过这个结合的过程,为其它一般性平台上的移植工作提供了一定的参考。