Operating system abstraction layer: Difference between revisions

Content deleted Content added
Added RTEMS to list of supported RTOSes
m References: common typo "Embeded" corrected
 
(39 intermediate revisions by 27 users not shown)
Line 1:
{{Short description|Application programming interface}}
{{Orphan|date=November 2006}}
{{More citations needed|date=June 2024}}
'''OSAL (Operating System Abstraction Layer)'''
 
An '''operating system abstraction layer''' ('''OSAL''') provides an [[application programming interface]] (API) to an [[Abstraction (computer science)|abstract]] [[operating system]] making it easier and quicker to develop code for multiple [[software]] or [[computer hardware|hardware]] platforms. It can make an application less dependent on any one specific operating system.<ref>{{Cite book |last=Beningo |first=J. |title=Embedded Software Design |date=2022 |publisher=Apress |isbn=978-1-4842-8279-3 |___location=Berkeley, California |pages=29–52 |chapter=Embedded Software Architecture Design |doi=10.1007/978-1-4842-8279-3_2}}</ref>
When writing code that requires [[porting]] onto multiple [[software]]/[[hardware]] platforms, building the code on an [[Abstraction (computer science)|abstraction]] of the [[Operating system]] decreases porting time and porting complexity. OSAL deals 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 to be ported to.
 
TheOS OSALabstraction provideslayers deal with presenting an [[applicationabstraction programmingof interface]]the (API)common tosystem anfunctionality abstractthat realis timeoffered 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 then provides implementations of thisan API for several [[Realreal-Timetime Operatingoperating System|Real Time Operating Systemssystem]]s (such as [[vxWorks]], [[eCos]], [[RTLinux]], [[RTEMS]]). Implementations may also be provided for non Realreal-time Time Operatingoperating Systemssystems, allowing the abstracted software to be developed and tested in a developer friendly desktop environment.
 
In addition to the OS APIs, the OS Abstractionabstraction Layerlayer project may also provide a [[Hardwarehardware Abstractionabstraction Layerlayer]], designed to provide a portable interface to hardware devices such as memory, I/O ports, and [[non-volatile memory]]. To facilitate the use of these APIs, OSALOSALs generally includesinclude a directory structure and [[build automation]] (e.g., set of [[makefilesmakefile]]s) thatto facilitate building a project for a particular OS and hardware platform.
 
Implementing projects using OSALOSALs allows for development of portable embedded system software that is independent of a particular Realreal-time Timeoperating Operating Systemsystem. It also allows for embedded system software to be developed and tested on desktop workstations, providing a shorter development and debug time.
 
== Implementations ==
==External links==
* [[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
*[https://www.ibm.com/us-en/marketplace/systems-design-rhapsody IBM's Rhapsody]
* [https://web.archive.org/web/20080512022438/http://www.cs.wustl.edu/~schmidt/ACE.html ACE]
 
==References==
* http://opensource.gsfc.nasa.gov/projects/osal/osal.php
{{reflist}}
 
==External links==
* http://opensource.gsfc.nasa.gov/projects/osal/osalindex.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/
[[Category:Operating system technology]]