80 likes | 341 Views
Porting Software. by Thomas Himel. What is Porting?. When software is developed, it is intended to execute in a specific computing environment. Porting is adapting software to execute in a new environment. Different Environments. CPU Architecture x86, ARM, Cell Operating System
E N D
Porting Software by Thomas Himel
What is Porting? • When software is developed, it is intended to execute in a specific computing environment. • Porting is adapting software to execute in a new environment.
Different Environments • CPU Architecture • x86, ARM, Cell • Operating System • Windows, Linux, Android • Compiler, loader, preprocessor
Portability • Software is portable when the cost of porting it is less than the cost of rewriting it from scratch. • System standards make software more portable. • Desktop systems mostly use x86 CPU and Windows, OS X, or Linux operating system.
Portability (contd.) • Abstraction in code development • Compliance with international standards • Usually sacrifice optimization for target system
Software Modification • Software usually needs be adapted to run correctly on the target platform. • Common modifications: • Libraries or OS functions not available on target platform • Different paths and invalid file naming conventions • Different methods of storing values
Software Modification (contd.) • Third-party tools automatically solve some porting issues. • High-level compilers output source code in C or C++. • Autotools reconfigures code to adapt to Unix-based systems.