Section 6.17. Summary

6.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, 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 other UNIX platforms. This allows applications running on other operating systems (such as HP-UX) 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 HP-UX compilers. The main task for porting engineers is to find and match the equivalent compiler switches in the GNU compilers with those used in the HP-UX application build environment. Also be aware that the C compilers on both platforms by default compile in extended mode, which may cause incompatibilities.

  • Library versioning support framework on HP-UX is different from on Linux. Porting engineers must adapt the application to one of the types of library versioning supported on Linux.

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

  • Linux offers a variety of open-source shells that provide support functionality equivalent to shells on UNIX platforms. Shell scripts that run on HP-UX written to use ksh, csh, or bsh can be easily ported to run on Linux.

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

  • Overall, the APIs and system calls that exist on HP-UX already exist in the standard Linux distribution. For those APIs or system calls supported on HP-UX 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 issues that may be encountered during a porting project. Although some applications are relatively easy to port because of their inherently portable characteristics, some applications written to use HP-UX extensions take a little more porting effort. Overall, Linux 2.6 has improved 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 better 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: