Operating System Abstraction Layer


Operating System Abstraction Layer

An Operating System Abstraction Layer (OSAL) provides an application programming interface (API) to an abstract operating system making it easier and quicker to develop code for multiple software 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 Systems (such as 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, OSALs generally include a directory structure and set of makefiles that 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

ClarinoxSoftFrame

ClarinoxSoftFrame middleware 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.

External links


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Abstraction layer — This is about the concept in computer science, for the concept in grouping, see Principle of abstraction. An abstraction layer (or abstraction level) is a way of hiding the implementation details of a particular set of functionality. Software… …   Wikipedia

  • Operating System — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Operating system — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Operating System — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Distributed operating system — A distributed operating system is the logical aggregation of operating system software over a collection of independent, networked, communicating, and spatially disseminated computational nodes.[1] Individual system nodes each hold a discrete… …   Wikipedia

  • Hardware abstraction layer — A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. Its function is to hide differences in hardware from most of the… …   Wikipedia

  • Physics Abstraction Layer — Developer(s) http://sourceforge.net/projects/pal …   Wikipedia

  • Disk operating system — For the family of disk operating systems for the IBM PC compatible platform, see DOS. Disk Operating System (specifically) and disk operating system (generically), most often abbreviated as DOS, refers to an operating system software used in most …   Wikipedia

  • Cosmos (operating system) — Cosmos Screenshot of a Cosmos test shell booted in QEMU Company / developer …   Wikipedia

  • Singularity (operating system) — For other uses of Singularity , see Singularity (disambiguation). Singularity Project Singularity after boot up. Company / developer Microsoft Corporation Programmed in Assembly language, C …   Wikipedia