Changing your Embedded Operating System without Porting

The operating system is the most important part of a computer system; it manages the computer's memory, processes, and all of its software and hardware. There are different types of computers and different types of operating systems, they include: real-time operating systems,multi-tasking operating systems, single-tasking operating systems, multi-user operating systems,embedded operating systems and distributed operating systems. Hence, people can choose operating systems that suit their requirements. The following are some tips for selecting an operating system.


Choose an operating system that

* Offers support for your next generation hardware

* More economical and/or requires no royalty payments

* Free and open-source

* Provides better development tools

* Offers a wide range of driver, protocol and middleware support

* Offers better performance and a smaller memory footprint

* Meets required certification standards


However, when requirements change, the operating system needs to be changed as well.  But most people shy away from changing their operating system as changing operating system means a big headache.


The main difficulty with respect to OS change is porting. Wikipedia defines porting as “the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed (e.g. different CPU, operating system, or third party library).” To make an existing software program adapt to a new OS manually is an extremely tedious and time consuming process where success is not always guaranteed. The solution to change OS effortlessly is a porting kit.


A Porting kit is a C/C++ source-level virtualization technology that allows easy  reuse of  software developed for VxWorks, pSOS, Linux/POSIX, Windows, Nucleus and μITRON on another OS, while providing real-time performance. Here is a look at the contents of a best of the breed porting solution.


* An Integrated Development Environment (IDE) for porting of C/C++ applications Application Common Operating Environment (AppCOE)

* An OS Interface for the OS you are moving from

* OS Abstractor for the target OS you are porting to

* Library Package Generator

* Full source code of the OS Interface and OS Abstractor for your target platform

* Full libraries of the OS Interface and OS Abstractor for your host platform (Windows or Linux)

* Sample demo applications for reference

* Project build files for supported tools

* Optimized Target Code Generator

* Generates the OS Porting Interface and OS Abstractor source code, specifically optimized for your application and target environment

* Creates project files for your target

* Includes the system settings you chose in the GUI-based Wizard

* OS Simulator for host development/simulation

* Profiler to view performance data regarding your application and platform.  A Profiler also generates timing reports


Thus, with a porting kit, users can eliminate the manual porting effort, save money and shorten the time to market.


Related Links: OS Simulator, ada to c