Cross-OS Development Platform
What is the benefit of profiler?
Profiler is one of the important product of MapuSoft where you can profile your application to see the number of calls with respect to time of each RTOS or user-defined apis in a graphical manner. Even the profiler will help to generate the best, ...
What is benefit of AppCOE simulator?
MapuSoft AppCOE IDE is an eclipse based IDE embedded with RTOS libraries and header. The benfits are : a. Help to develop RTOS applications using the RTOS apis, where the api libraries and the headers are being embedded with the IDE. b. Help to ...
How Mapusoft OS helps to develop RTOS application?
MapuSoft provide the libraries and headers of the RTOS apis.The definition of these kernel resources api have the charateristics and functionality of the native corresponding RTOS apis. Internally the RTOS apis managing its functionality with respect ...
What kind of security abstraction features are supported in the OS Abstraction layer? Ex: SMACK, SELinux, DAC etc
We do not have any encryption support. Access to objects contained in shared memory are restricted only when they are accessed using our APIs.
Do you provide any NAND flash based file systems?
We provide ANSI interface to various file systems offered by the RTOS vendors
Linux comes with varity of scheduling policy. Do you support any of them? These may not be supported in underlying RTOS
We support, priority, time slice, combination and then run-to-completion scheduling at the OS Abstractor level. In addition we offer support for various scheduling done by OS like VxWorks, POSIX, etc.. We do not require the underlying OS to support ...
Which latest Linux kernel version do you support?
We basically support every version and distribution out there for Linux
How is memory defragmentation handled in the OS Abstractor product on Linux and VxWorks?
OS Abstractor always prefers to use the OS defrag methods for pools created using OS_Create_Memory_Pool API. Under VxWorks, the pool management and defrag is handled by the OS itself. Under Linux, we have two options: Option 1: This is a preferred ...
Can OS Abstractor and Interface libraries be built as shared libraries? What about as DLLs?
OS Abstractor and Interface libraries can be built as shared libraries. This would be the recommended option if you develop multi-process applications. As far as DLL, the current release does not support this feature. However, MapuSoft can provide ...
Why do the POSIX function names in OS Abstractor starts with “PX_” first?
This is intentionally done so that there would be no conflict at link time with the POSIX functions provided by the OS itself and the ones by the OS Abstractor. Please refer to the POSIX Interface section in the reference manual for more information.
If target OS is uITRON and it has Windows compatible file system and TCP/IP which support BSD Socket, can the developer use socket functions such as socket, accept, listen., etc by calling native OS system call?
OS Abstractor API’s does not provide socket APIs, so the target OS needs to supply them. We have developed a BSD compliance wrapper for many netstacks on a custom solution basis if needed.
If target OS is uITRON and it has Windows compatible file system and TCP/IP which support BSD Socket, then can the developer use open, close, read, write functions for file related operation?
The developer has the options to use OS_open, OS_close, etc (OR) they can set MAP_ANSI to TRUE and have open(), close() calls map to OS Abstractor APIs. The developer also has the option to use both APIs OS_open and open() by setting the MAP_ANSI to ...
If target OS is uITRON, can I call set_tim (set system time API)?
You should be able to set_tim native uITRON API, however, that line of code will not be portable. It is recommended to use the clock routines provided by either the OS Abstractor APIs or the POSIX APIs.
OS Abstractor document says that we can use target OS native IO functions if I set MAP_OS_ANSI_IO to OS_FALSE. Does this mean that I can also call other target OS APIs from application program?
You should be able to use any native APIs directly from the target OS (as long as the API names are not the same).
If a task is created with priority 100, and it is changed to priority 50, then will the created task start executing? Is it not possible to set higher priority than the parent process?
You can set any priority when creating tasks. If you want it to run immediately, you pass along the flag parameter START, it will resume, irrespective of the priority.
If a task is created with priority 100, and it is changed to priority 50, then will the created task start executing? Is it not possible to set higher priority than the parent process?
You can set any priority when creating tasks. If you want it to run immediately, you pass along the flag parameter START, it will resume, irrespective of the priority.
If three same priority processes, A, B and C are created, which process starts execution first? When will it switch to another process?
OS Abstractor processes do not compete with each other, but only the threads within them. The process will be started First In First Out (FIFO).
What is the default maximum stack size for QNX in the main thread?
The stack size defined under OS Abstractor for QNX is as follows: #define OS_MIN_STACK_SIZE 16384 #define OS_MAX_STACK_SIZE 0xffffffff The above defines are in cross_os_def.h. It is recommended that you always use the default OS_MIN_STACK_SIZE which ...
If I select µITRON as a target OS, who schedules the task? Do the AppCOE libraries call µITRON dispatcher?
µITRON scheduler will schedule the thread.
I generated source code for Windows XP as the target in AppCOE, compiled, and executed the program in VC++. Are the resultant tasks scheduled by the Windows scheduler?
OS Abstractor does not do scheduling on any port. We use the OS scheduler. However, we configure the threads to be real-time priority (e.g. on Windows we use the threads priorities that are normally not used by MFC app).
Do you have safety data that you can provide us with? Examples include but are not limited to: Traceability matrix, Code review records, Functional Testing Results, Stress Testing Results, Stability Testing Results, Condition/Decision Coverage
Yes. Please let us know what information that you would specifically need. Here are some examples of what we usually do: Test logs: We run the test suite and capture the log results under specific target environment. Release is made only when all the ...
Are there possible software modes where function or performance would be anomalous? If so, how does the software enter such modes?
OS Abstractor does not enter into any anomalous modes (though the target OS may do so, which is beyond OS Abstractor’s control). OS Abstractor returns failure codes if a function fails. For serious problems (e.g. exceed max configured resources) it ...
How do you schedule process in multi-process application? Does this depend on target OS?
We do not schedule process. All OS Abstractor processes are created equal and each thread within a process competes directly with the threads from the other. Also, we do not have a concept of parent/child/grandchild, etc. when it comes to processes. ...
Do you support necessary WiFI, BT kernel Interfaces, so that native OS Connectivity frameworks can be re used? Ex: BlueZ, Connman etc.
As far as the device drivers itself, we do not offer our own across every OS. What we offer is a unix device driver I/O system framework to connect to many target OS so that the application code can be portable.
Do you support extensions to include TCP/IP stack which may not be provided as part of underlying RTOS?
Yes. But for selected OS, we offer BSD compliance implemented using the net stack from the appropriate vendors offering. For example, we offer BSD complaint interface for Nucleus NET stack.
Is it possible for Mapusoft to check feasibility to implement these features at the OS Abstraction Layer?
Currently our OS Abstractor runs on over 25 different target OS and their versions. We need to know the additional levels of support and also on what needed target OS to be supported then we can work this under a NRE and support this.
How do you support Linux Extensions like - SysV IPC/cgroups/inotiy/futext/readahead/udev etc?
Our level of support is posix 1003.1, 1003.1b and 1003.1c. In addition, the POSIX that we provide will automatically be able to take advantage of many of the real-time features from the specific OS Abstractor component for a target OS. OS Abstractor ...
Could you give more details of support levels for "Shared Library" & "demand paging" in the OS Abstraction Layer?
Under NDA we can provide the reference manuals for our shared memory support. You can use the native Linux shared memory ‘as is’ in addition to what OS Abstractor offers. We do not do any demand paging. Also, the virtual address differences in shared ...
How do you support Memory Management - VM, Shared Library, demand paging etc? If yes, is it "arm-linux-eabi" complaint?
Mapusoft support ANSI memory, dynamic pool memory, partitioned memory, tiered pool memory (dynamic memory build using layers of partitions like a wedding cake) and then shared tiered pool memory and also general shared memory area. Memory is fully ...
Could you give any key difference between software process model and hardware assisted model as supported by OS abstraction layer? Please also give details of any key difference vs Linux process model
The software process model uses private memory area that is dedicated to each process for local memory. It creates all resources (eg timers) by default private (however the scope can be changed to “system” if the resource needs to be shared across ...
Could you give one example of target OS which gives hardware protection & true process and which does not provide?
Linux (also VxWorks 6.x and higher) provides hardware protection and full process. ThreadX (also MQX, etc.) does NOT provide full hardware protection and process support.
How do you support Process Model?
We support process models for all the supported target OS (around 25 of them). If the target OS offers hardware protection & true process, then we will use that model, when it does not, we offer software process model where each process is ...
Which POSIX Standard is your product conformant to?
We are not conformant in terms of supporting required POSIX functionalities in POSIX profile 51, 52, 53, and 54. For some of the POSIX features (such as, run-time libraries, math libraries, and so on) we are dependent on the underlying OS, but we ...
Are the Cross-OS Development Platform APIs CPU dependent?
Cross-OS Development Platform APIs are not CPU dependent, since there is not any target specific code as it is 100% ‘C’ code. We have customers using Cross-OS Development Platform APIs on many different CPU platforms. While, there should be no ...
Why should I leverage open source code in my platform?
Leveraging open source code will give you the following benefits: Efficiently add feature rich services in a cost effective manner regardless of the underlying OS Get to market faster with compelling open-source applications and content in your ...
Why support multiple operating systems?
Developing software to run on multiple operating systems will Expand your market share and opportunities Provide flexibility to your customer to use your software on their preferred OS platform Protect your software investment from OS platform ...
Why use a standardized OS interface?
Using a standardized OS interface architecture will
Why develop portable code?
Developing portable code will Protect software investment by enabling efficient software re-use across multiple platforms Eliminate manual updates to applications when upgrading to newer versions of OS Allow you to easily switch your OS platform for ...
Why not use an in-house abstraction?
Developing in-house OS abstraction requires considerable Time, resources and money Planning to support multiple OS Detailed knowledge of low-level OS functions and interfaces Development Testing Maintenance Up front cost associated with purchase of ...
How does the OS changer abstraction layer works? Is it VM? Does HW support needed?
The implementation is not dependent on any hardware. The code is 100% written in ‘C’. Our abstraction is based on source-level virtualization. OS Abstractor features compete with the native implementation in many situations to offer better ...
Next page