Nowadays various computer architectures and operating systems are developed. Software development does not focus on any single of them anymore. Instead, software companies and distributors concerns more about how their software system can be deployed as universal as possible. We call both architectures and operating systems platforms. Without a multi-platform solution, assume we have M instruction set architectures, to design a software that is executable over all the possibilities, we will have to compile the software M times or even more, due to combination of different hardware components. Whereas with a multi-platform solution, the software needs only to be written once, and by techniques of the solution, it is able to achieve the same functionality as if the code is compiled M times in previous case. We define software distribution format to be any form in which software is distributed. In this article, we give discussion on several software distribution formats, which are fat binary, software for virtual machines and source code distribution, where the topic of virtual machines are divided into application oriented and platform oriented. In term of compilation, these distribution formats can be considered as fully compiled, half compiled and not compiled. At the end, comparison on these formats is drawn in conclusing remarks.
Download Full PDF Version (Non-Commercial Use)