Operating system abstraction layer
   HOME

TheInfoList



OR:

{{Short description, Application programming interface An operating system abstraction layer (OSAL) provides an
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) to an abstract
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
making it easier and quicker to develop code for multiple
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
or hardware platforms. OS abstraction layers deal with presenting an abstraction of the common system functionality that is offered by any Operating system by the means of providing meaningful and easy to use Wrapper functions that in turn encapsulate the system functions offered by the OS to which the code needs porting. A well designed OSAL provides implementations of an API for several
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
s (such as
vxWorks VxWorks is a real-time operating system (or RTOS) developed as proprietary software by Wind River Systems, a wholly-owned subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, determin ...
,
eCos The Embedded Configurable Operating System (eCos) is a free and open-source real-time operating system intended for embedded systems and applications which need only one process with multiple threads. It is designed to be customizable to prec ...
,
RTLinux RTLinux is a hard realtime real-time operating system (RTOS) microkernel that runs the entire Linux operating system as a fully preemptive process. The hard real-time property makes it possible to control robots, data acquisition systems, manu ...
,
RTEMS Real-Time Executive for Multiprocessor Systems (RTEMS), formerly Real-Time Executive for Missile Systems, and then Real-Time Executive for Military Systems, is a real-time operating system (RTOS) designed for embedded systems. It is free and open ...
). Implementations may also be provided for non real-time operating systems, allowing the abstracted software to be developed and tested in a developer friendly desktop environment. In addition to the OS APIs, the OS Abstraction Layer project may also provide a
hardware abstraction layer Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class ''C'' of hardware devices to be acce ...
, designed to provide a portable interface to hardware devices such as memory, I/O ports, and
non-volatile memory Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typic ...
. To facilitate the use of these APIs, OSALs generally include a directory structure and build automation (e.g., set of
makefile In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called ''Makefiles'' which specify how to derive the target program. Though integrated develo ...
s) to facilitate building a project for a particular OS and hardware platform. Implementing projects using OSALs allows for development of portable embedded system software that is independent of a particular real-time operating system. It also allows for embedded system software to be developed and tested on desktop workstations, providing a shorter development and debug time.


Implementations

* TnFOX * MapuSoft Technologies - provides a commercial OS Abstraction implementation allowing software to support multiple RTOS operating systems. * ClarinoxSoftFrame – middleware which provides OS abstraction targeting wireless embedded device and system development. It comprises wireless protocol stacks, development tools and memory management techniques in addition to the support of desktop and a range of real-time operating systems
IBM's Rhapsody



External links

* http://opensource.gsfc.nasa.gov/projects/osal/index.php * http://osal.sf.net * https://github.com/nasa/osal * http://www.clarinox.com/index.php?id=34 * http://ntmio.com/ * https://www.mapusoft.com/mapusoft-os-abstraction-layer/ Operating system technology