Download presentation
Presentation is loading. Please wait.
Published bySharlene Norman Modified over 7 years ago
7
OS Changer Porting Kit Contents
Application Common Operating Environment (AppCOE): An eclipse based IDE for development of C/C++ applications One OS Changer Interface for the OS you are moving from Specific OS Abstractor Target Specific Module for the target OS you are porting to Library Package Generator Full library source code of the OS Changer Interface and OS Abstractor Target Specific Module for your target platform Sample demo applications Project build files for supported tools & IDEs for your target environment
8
OS Changer Porting Kit Contents
Optimized Target Code Generator Generates the OS Changer Porting Interface and OS Abstractor Target Specific Module source code, specifically optimized for your application and target environment Creates project files for your target IDE Includes the system settings you chose in the GUI-based Wizard OS Simulator for your chosen OS Changer Interface for host development/simulation Profiler to view performance data of your application and OS Changer Interface for your target
9
ROI: Cost of Porting – Manual vs. OS Changer
Small Medium Large 10K LOC K LOC M LOC Manual Porting of Single Application * $ 95, $ 953, $ 9,533,800 OS Changer License Fees $ 12, $ 43, $ ,000 3 Estimated Labor to use OS Changer $ 8, $ 16, $ ,000 Cost of Porting with OS Changer $ 20, $ 59, $ ,000 (1 = Single Seat License, 2 = 10 seat License, 3 = Source Code Site License ) Savings (Manual minus OS Changer) $ 75, $ 918, $ 9,397,800 Return on Investment % 2,436 % ,910 % * Source: Software Engineering Institute, Carnagie Mellon, Bureau of Labor Statistics, Porting estimated at half the cost of new development.
11
Cross-OS Development Platform Contents
Application Common Operating Environment (AppCOE): An eclipse based IDE for development of C/C++ applications Cross-OS Development Platform Interface(s) OS Abstractor™ API – VxWorks® API – Windows® API – ThreadX® API Linux/POSIX API – FreeRTOS™ API – Nucleus® API micro-ITRON API – µC/Os™ API – pSOS® API OS Abstractor Target Specific Module for the target OS Library Package Generator Full source code libraries for the Cross-OS Development Platform Interface(s) and OS Abstractor Target Specific Module for your target platform Sample demo applications Project build files for supported tools and IDEs for your target environment
12
Cross-OS Development Platform Contents
Optimized Target Code Generator Generates the Cross-OS Development Platform Interface(s) and OS Abstractor Target Specific Module source code, specifically optimized for your application and target environment Creates project files for your target IDE Includes the system settings you chose in the GUI-based Wizard OS Simulator for your chosen Cross-OS Development Platform Interface(s) for host development/simulation Profiler to view performance data regarding your application and Cross-OS Development Platform Interface(s) for your target
13
OS Abstractor Target Specific Module: Performance Features
Not your typical wrapper Provides most of the OS features by itself and does not depend on the OS, except for a few features (ex. priority scheduling, change priority, semaphore, messaging, thread suspend/resume Quick support for a new OS MapuSoft can easily add support to a new commercial or in-house OS, typically in two weeks Process support to any OS Add software based process and shared memory functionality to an OS, even if they do not have those features Advanced process memory allocation scheme Applications can allocate required system heap memory during process creation to ensure that they will always have the required system memory Setting memory limits prevents an application from using up all system memory and impacting others
14
OS Abstractor Target Specific Module: Performance Features
Thread pooling Applications can pool threads to increase platform robustness & performance by eliminating the overhead associated with actual task creation & deletion at run-time Mission Critical Features Applications have the ability to recover from software fatal errors through a soft reset by rolling the stack back to the start of the application API Flexibility Use one or more of the Cross-OS Development Platform Interface(s) Cross-OS Development Interface(s) can also be used within a single or across multiple applications Combine applications written with different OS APIs and run them on one or many OS
15
OS Abstractor Target Specific Module: Performance Features
Zero copy message queues Cross-OS Queue APIs will not introduce data read and copy overhead API and application profiling, plus API optimization Profile applications and the Cross-OS Interface(s) functions on your target Optimize individual Cross-OS Interface functions based on profiler data Scalability specific to your application during code generation AppCOE reads your application to custom generate Interface code that is specific to your application to increase the performance with reduced memory footprint
17
Cross-OS Hypervisor A typical hypervisor allows for running applications on multiple operating systems on a single hardware platform Cross-OS Hypervisor is a next-generation hypervisor that eliminates the need for multiple operating systems by providing the OS functionalities required by the applications This design ensures that applications are not locked into a particular OS platform and also simplifies development, reduces bill-of-material costs, and utilizes the system resources more effectively Redefining virtualization from wrapper-based implementations to source-level virtualization Thereby bypassing multiple layers of OS and hypervisor schedulers to gain performance increases Eliminates the overhead associated with OS switching, as required by other hypervisor solutions
18
Cross-OS Hypervisor Code generator builds a custom virtualization interface package optimized for specific applications and target environments These interfaces are compiled with the applications and linked natively for better optimization on your specific target OS platform The applications can also run on a virtualized test platform to simulate interacting with each other on one or more CPU cores through simulated devices Provides pools of reusable static resources (ex. threads, timers, queues, and more) which eliminates the dynamic creation and deletion of resources to improve performance Additionally, applications can communicate with each other through direct data transfer via shared memory rather than using physical or simulated devices This mechanism allows applications to communicate directly and bypass the hardware devices or network interface layers, as well be tested and integrated under a host environment
19
Cross-OS Hypervisor Applications can take full advantage of powerful resources like CPU, memory, drivers, middleware and tools on the host platform and start testing and integration before the actual target components are available Host applications can be either independent applications running as separate processes or grouped as a standalone application running as a fully independent dedicated process on single core under SMP Allows applications to be broken down into separate processes with dedicated heap memory and kernel resources Can load other processes dynamically from any application or statically load from command prompt Allows you to add real-time features on any non real-time OS like Windows and Linux
20
Why Consolidate to a Single OS?
Reduction of licensing costs for OS, tools and middleware Systems have reduced hardware requirements (i.e. memory, disk space, etc.) and need fewer OS resources Better performance by using native OS tools and running natively on the OS without using a hardware emulator or hypervisor Streamlined development by using one set of tools, device drivers and BSPs for one OS CPU resources can be pre-defined and dedicated to a single application utilizing the SMP features offered by the target OS
21
OS Simulator Develop and test embedded applications on Windows or Linux host environments Eliminates the need for the original OS and expensive target hardware during development Results in lower licensing costs, reduced hardware requirements and a shorter time to market Provides a virtualized test platform Simulate a system of applications interacting with each other on one or more CPU cores through simulated devices Available OS Simulators VxWorks® – Windows ® – µC/OS™ Linux/POSIX – pSOS ® – FreeRTOS™ micro-ITRON – ThreadX ® Nucleus ® – OS Abstractor ®
22
OS Simulator as a Development Platform
23
OS Simulator as a Development Platform
OS Simulator is integrated with AppCOE, an Eclipse-based framework, providing a state-of-the-art IDE for development and testing Allows you to simulate real-time applications on Windows or Linux hosts by hardening and optimizing the underlying OS platform Includes the Simulated OS Interface and OS Abstractor Interface in non-source, object format Allows for development, simulation, testing and integration of embedded applications on a x86 host environment Optionally, the Simulated OS Interface and OS Abstractor Interface libraries are available in full source code format for use with target native tools/software on Windows or Linux
24
OS Simulator as a Virtualized Testing Platform
25
OS Simulator as a Virtualized Testing Platform
Host-based testing offers more hardware resources, less complexity and lower costs when compared to testing on a target platform Ability to do modular testing Allows applications to be broken down into separate processes with dedicated heap memory and kernel resources so that individual modules can be debugged further without crashing others Can load or re-start other processes dynamically from within an application or statically load them from command prompt Simulate interacting applications with each other on one or more CPU cores using Simulated OS Interface and OS Abstractor Interface for inter-process communication Shared tiered memory pools allow effective application-level data communication with zero copy and without having to pass through physical or virtual devices Easy to develop a prototype by creating low-level simulated devices using OS Abstractor APIs
26
Linux Optimization Kit
Many developers need to get a performance increase from their Linux OS Linux OK allows users to achieve higher performance without making changes to the kernel Enhanced performance is provided through OS Abstractor target specific module Included Linux/POSIX Interface provides better coverage and portability Ability to have one code base for multiple POSIX variants Provides header files and template code to re-direct the application to use the Linux OK interfaces
27
Linux Optimization Kit
Generates optimized interface code, based on the application’s API usage, and according to GUI settings input by the user Reduces run-time creation and deletion of OS resources by pooling and reusing them across applications/processes Reduces unnecessary task and user/kernel mode switching Enhances Linux application performance Statically create and reuse OS resource control blocks across one or more applications Statically create and reuse threads from pool Enhance performance without breaking Linux API compliance or modifying your application GUI to configure target environment and resource requirements for various Linux kernel versions and variants (32/64 bit; SMP/UP systems)
28
Linux Optimization Kit
OS Abstractor Interface for advanced features Tiered memory pools to eliminate memory fragmentation Shared memory pool to eliminate data copy across applications Automatically recover from software fatal errors through a soft reset Use the same Interface for inter-process communication within and across individual application processes Scalability and Optimization specific to your application Profiler to identify performance bottlenecks and level of API usage so that specific optimizations can be made Generate project files for your target
31
OS Version UpKit OS Version UpKit allows applications to easily upgrade to newer versions of an OS, without the manual porting effort Available Kits: OS Version UpKit for LynxOS, LynxOS-178 and LynxOS-SE OS Version UpKit for Linux and RT Linux OS Version UpKit for Unix and Solaris
33
Using Ada-C/C++ Changer as a Converter
Automatically convert to C/C++ to reuse or redeploy your Ada code Eliminate the need for a costly and tedious code re-write for extensive cost and time savings Error free tool that prevents mistakes made in the error prone task of a manual rewrite Supports conversion of Ada 83, Ada 95 & a subset of Ada 2005 source code to ANSI C/C++ output Preserves Ada comments, files structures and variable names for easier code maintenance
34
Using Ada-C/C++ Changer as a Converter
Keeps “static” trees as symbolic expressions rather than evaluating them to literal values Provides user configurable options to control the format and style of the C/C++ output Provides GNAT compiler compatibility Resultant C/C++ code can be integrated with OS Abstractor for real-time performance, portability and stability Available OS Interfaces OS Abstractor® – pSOS® – µC/OS™ Linux/POSIX – ThreadX® – FreeRTOS™ micro-ITRON – VxWorks® Nucleus® – Windows®
35
ROI: Cost of Converting – Manual vs. Ada-C/C++ Changer
Small Medium Large 20K LOC K LOC K LOC Manual Conversion of Single Application * $ 381, $ 2,860, $ 5,720,265 Ada-C/C++ Changer License Fees $ 15, $ 60, $ ,000 Est. Labor to use Ada-C/C++ Changer $ , $ 12, $ ,000 Cost of Converting with Ada-C/C++ Changer $ 23, $ , $ 106,000 Savings (Manual minus Ada-C/C++ Changer) $ 358, $ 2,788, $ 5,614,265 Return on Investment ,558 % ,872 % ,296 % Source: Software Engineering Institute, Carnagie Mellon, Bureau of Labor Statistics, May 2006. The Ada application code being converted is self-contained and compatible by an Ada 95 or Ada 83 compiler and on the same hardware/OS platform
36
Why use Ada-C/C++ Changer Instead of Manually Rewriting?
Ada-C/C++ Changer includes a certified compiler (same one offered by Green Hills) front-end, which provides 100% code conversion (i.e. 0% manual code rewrite) Ada-C/C++ Changer offers the guarantee that the application will compile, link and execute successfully and effectively Only minimal testing is required (related to the task of changing a compiler tool) since you are not testing a new set of code Deciding against a manual rewrite means not needing to anticipate technical risks that could come from errors introduced during the effort
37
Why use Ada-C/C++ Changer Instead of Manually Rewriting?
Conversion with Ada-C/C++ Changer is completed much faster than manual conversion, meaning the product can be deployed without many years of delay Ada-C/C++ Changer can handle large applications with multi-millions of LOC The more lines of code converted, the more the savings increase Provides many customization options for converted code Ex. Option to include Ada language exceptions in the converted code Our technical support team has expertise in Ada, C/C++, target tools and OS platforms If Ada-C/C++ Changer needs to be configured for a particular project, we can quickly make the needed changes to save our customers valuable time
38
Using Ada-C/C++ Changer as a Compiler
Compile Ada code using C/C++ tools Support CPU architectures not supported by Ada compilers
39
Using Ada-C/C++ as a Compiler and Converter
UNIFIED Transition Same tools across both old and new platforms Integrated Ada & C/C++ application development SMOOTH Transition Continue Ada development using the same tool that also offers effective conversion from Ada to C/C++ At your own phase: transition module by module; group by group Utilize unique/specialized MapuSoft expertise during transition ECONOMIC Transition Technology that will protect the existing investment while offering assurances for future platform changes Full conversion eliminating unnecessary coding/testing effort Carry through the existing valuable Ada product knowledge Single tool from one vendor across both platforms and languages
42
mskwkdnkwndkwndkwn
43
For More Information To download MapuSoft’s free software evaluation visit: For any additional information please contact MapuSoft at: Toll Free: MAPUSOFT OS Changer, OS Abstractor, Cross-OS, OS Simulator, AppCOE, Ada-C/C++ Changer, AppCOE, Linux OK, OS Version UpKit, App/Platform Profiler and Mapusoft are trademarks of Mapusoft Technologies, Inc. All other brands or product names are the property of their respective holders. This content is copyrighted by MapuSoft. Content is subject to change without notice.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.