阅 读 文 章

32/64位SPARC上的Solaris迁移到x86上Linux的指南

[来源:网上转载 () | 作者:网友() | 时间:2007-07-07 | 浏览:人次 ]

 
Solaris 被认为是风格与 Linux™ 最为接近的一种 UNIX®,但是对于程序的迁移来说,它们在诸如内存映射、线程以及对自然语言的支持等领域还是有很大区别的。这个移植指南可以为您在计划将程序移植到 Linux/x86 上时提供一些建议,并且帮助您理解开发环境和体系架构之间的区别。

在各种风格的 UNIX 中,Solaris 被认为与 Linux 的风格最为接近。因此在开始将大型的基于 Unix 的应用程序移植到 Linux 上之前,首先要从 Solaris 中挑选出那些依赖于操作系统的代码。即便如此,在那些依赖于体系架构的领域、内存映射、线程或一些特殊的领域(例如系统管理和自然语言的支持),它们之间还是有差异的。

本文对这些差异进行了讨论,并加以对比,从而能够对您从运行在 32/64 位 SPARC 体系架构上的 Solaris 迁移到运行在 x86 体系架构上的 Linux 提供一些帮助。对于 Solaris 来说,这种讨论是基于版本 8 及更新的版本的。对于 Linux 来说,这种讨论着重于那些在基于 x86 处理器的服务器上可用的发行版本:SUSE LINUX Enterprise Server 9 和 Red Hat Enterprise Linux AS V3 或 V4。

本文内容包括:

  • 移植规划
  • 开发环境(编译器,make 工具,等等)
  • 依赖于体系架构或系统的区别

移植规划



下面 6 个步骤为从 SPARC 平台上的 Solaris 成功迁移到 x86 平台上的 Linux 提供了一个完整的路线图。如果您曾经将应用程序从一个操作系统移植到另外一个操作系统上,那么这些步骤可能就会听起来非常熟悉:

  1. 准备
  2. 环境和 makefile 的变化
  3. 编译器修正
  4. 测试和调试
  5. 性能优化
  6. 打包并分发

步骤 1. 准备



正确准备的关键是了解某些领域之间的差异,例如:

  • 系统调用
  • 文件系统的支持
  • 依赖于机器的代码
  • 线程
  • 内存映射
  • 系统调用
  • Endianness

在移植程序时,要确保有关的第三方包在目标平台上都是可用的。对于 32 位的应用程序来说,要考虑是否有必要迁移到 64 位的版本。还要确定在目标平台上使用哪种编译器。在基于 x86 的 Linux 平台上,可以使用 gcc 作为编译器。

步骤 2. 环境和 makefile 的变化



在这个步骤中,您将设置开发环境,这包括确定环境变量,修改 makefile,并对环境进行必要的修改。在这个步骤之后,您应该准备好开始编译自己的应用程序了。

在准备好进入下一个步骤之前,这个步骤可能会需要几次反复。

步骤 3. 编译



在这个步骤中,您将修正一些编译错误,链接错误,诸如此类。在能够得到一个干净的编译产品之前,这个步骤可能需要多次反复。

步骤 4. 测试和调试



在应用程序成功编译之后,要对其进行测试,看看是否存在运行时错误。在测试时,有些领域可能会涉及客户机/服务器的通信、数据交换格式、数据编码的转换(例如从单字节编码转换为多字节编码)以及数据的永久保存。

步骤 5. 性能优化



现在移植后的代码可以在目标平台上运行了。监视其性能,确保所移植的代码可以如我们所期望的一样工作;如果不能,就需要对性能进行优化。
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 指南 迁移 Linux Solaris 使用 可以 编译 int 一个 数据

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.