Section 4.17. Summary

4.17. Summary

The porting work is considered complete when two objectives are met. The first objective is to make sure all the necessary objects and executables of the application are produced. The second objective is to make sure the ported application, including all executables produced, runs and stays up long enough to pass basic unit testing. If the application passes basic unit testing, it is then passed on to the next phase of the project, which is testing and debugging. Here are some important highlights discussed in this chapter:

  • Linux 2.6 supports the latest and most common industry standards from POSIX, ISO, and SUS, making it more compatible with UNIX platforms. This allows applications running on other operating systems such as Solaris that adhere to these standards to be ported to Linux with as little change as possible.

  • The latest GNU C and C++ compilers offer the same functionalities provided by Solaris compilers. The main task for porting engineers is to find and match the equivalent compiler switches in the GNU compilers to match those used in the Solaris application build environment.

  • Library versioning support framework on Solaris is close to that on Linux. Both support external and symbol versioning. GNU ld provides a few extensions to that on Solaris.

  • Linux 2.6 supports a version of dynamic linking that can easily provide equivalent support for the type of dynamic linking provided on the Solaris platform.

  • Linux offers a variety of open-source shells that provide support functionality equivalent to shells on other UNIX platforms. Shell scripts that run on Solaris can be easily ported to run on Linux.

  • Some APIs that Linux provides may reside in different libraries. Differences in system library names and locations must be taken into account when linking in Linux.

  • Overall the APIs and system calls that exist on Solaris already exist in the standard Linux distribution. For those APIs or system calls supported on Solaris that do not exist in the standard Linux distribution, most have equivalent support through other open-source initiatives referenced in this chapter.

This chapter discussed common issues encountered during a porting project. Although some applications are relatively easy to port because of their inherently portable characteristics, some applications written to use Solaris extensions require a little more porting effort. Overall, Linux 2.6 has improved on its capabiltities to readily accept software applications to run on it. Porting to Linux has never been easier. New features such as a preemptive kernel and support for more-efficient threads scheduling makes Linux an operating system that is truly ready for enterprise use.

UNIX to Linux Porting. A Comprehensive Reference
UNIX to Linux Porting: A Comprehensive Reference
ISBN: 0131871099
EAN: 2147483647
Year: 2004
Pages: 175 © 2008-2017.
If you may any questions please contact us: