운영 체제 추상화 계층
Operating system abstraction layerOSAL(Operating System 추상화 계층)은 추상적인 운영 체제에 API를 제공하여 여러 소프트웨어 또는 하드웨어 플랫폼에 대한 코드를 쉽고 빠르게 개발할 수 있도록 한다.
OS 추상화 계층은 코드의 포팅이 필요한 OS에서 제공하는 시스템 기능을 캡슐화하는 의미 있고 사용하기 쉬운 Wrapper 기능을 제공하는 수단으로 모든 운영 체제에서 제공하는 공통 시스템 기능의 추상화를 다룬다. 잘 설계된 OSAL은 여러 실시간 운영 체제(vxWorks, eCos, RTLinux, RTEMS 등)를 위한 API 구현을 제공한다. 실시간이 아닌 운영 체제에 대해서도 구현이 제공되어 개발자 친화적인 데스크톱 환경에서 추상화된 소프트웨어를 개발하고 테스트할 수 있다.
OS API 외에도 OS 추상화 계층 프로젝트는 메모리, I/O 포트, 비휘발성 메모리와 같은 하드웨어 장치에 휴대용 인터페이스를 제공하도록 설계된 하드웨어 추상화 계층을 제공할 수 있다. 이러한 API의 사용을 촉진하기 위해 OSAL은 일반적으로 특정 OS 및 하드웨어 플랫폼에 대한 프로젝트 구축을 용이하게 하기 위한 디렉토리 구조와 빌드 자동화(예: make files set)를 포함한다.
OSAL을 활용한 프로젝트 구현으로 특정 실시간 운영체제와는 독립된 휴대용 임베디드 시스템 소프트웨어 개발이 가능하다. 또한 임베디드 시스템 소프트웨어를 데스크톱 워크스테이션에서 개발 및 테스트할 수 있도록 하여 개발 및 디버그 시간을 단축한다.
구현
- TnFOX
- MapuSoft Technologies - 소프트웨어가 다중 RTOS 운영 체제를 지원할 수 있는 상용 OS 추상화 구현 제공.
- ClarinoxSoftFrame – 무선 내장 기기 및 시스템 개발을 대상으로 OS 추상화를 제공하는 미들웨어. 데스크톱 및 다양한 실시간 운영 체제 지원 외에도 무선 프로토콜 스택, 개발 도구 및 메모리 관리 기법 등으로 구성됨
- IBM 랩소디
- ACE