Content deleted Content added
No more orphan: referenced to by the article Operating System |
m →References: common typo "Embeded" corrected |
||
(35 intermediate revisions by 24 users not shown) | |||
Line 1:
{{Short description|Application programming interface}}
{{More citations needed|date=June 2024}}
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>
The OSAL provides an [[application programming interface]] (API) to an abstract real time operating system. A well designed OSAL then provides implementations of this API for several [[Real-Time Operating System|Real Time Operating Systems]] ([[vxWorks]], [[eCos]], [[RTLinux]], [[RTEMS]]). 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]], 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, OSAL generally includes a directory structure and set of [[makefiles]] that facilitate building a project for a particular OS and hardware platform.▼
▲In addition to the OS APIs, the OS
Implementing projects using OSAL 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.▼
▲Implementing projects using
== 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
*[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==
{{reflist}}
==External links==
* http://osal.sf.net
▲* http://opensource.gsfc.nasa.gov/projects/osal/osal.php
* 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]]
|