Analysis of the application is the most important piece of work that can be done prior to the actual porting step. If done with extreme care, it can uncover hidden gotchas that can help further refine the overall project plan. In some rare cases, the application may use platform-specific features that are not yet supported by Linux. In this case, the porting personnel have to look for a workaround or equivalent functionality in Linux. Fortunately, today's version of Linux supports the most commonly used API standards, such as POSIX threads, large pages, asynchronous I/O, message queues, 64-bit architecture, and many more. Finding equivalent functionality in lieu of the original functionality from the source platform has never been easier.
Here are some of the important highlights discussed in this chapter:
Whereas this chapter gives a picture of what Linux 2.6 has to offer in general, the porting chapters for Solaris, AIX, and HP-UX elaborate more on these technical features by citing differences and similarities between Linux and each of these UNIX platforms. The porting chapters are
Chapter 4. Porting Solaris Applications
In this chapter
Porting is the step of the process during which modifications to the application take place. At this point, most if not all technical aspects and dependencies of the application should have already been uncovered during the scoping and analysis steps. The only thing that needs to be done now is to modify the source code so that it compiles and runs on the Linux platform.
During the porting process, software developers and porting personnel will likely encounter several differences between the UNIX operating system they are used to and the Linux 2.6 platform. For each topic discussed in this chapter, the most common differences are presented to explain what works and what does not work on the Linux 2.6 environment. The Solaris environment described in this chapter is based mostly on version 10 but should also be