Уровень абстракции операционной системы ( OSAL ) предоставляет интерфейс прикладного программирования (API) для абстрактной операционной системы , что упрощает и ускоряет разработку кода для нескольких программных или аппаратных платформ. Он может сделать приложение менее зависимым от какой-либо одной конкретной операционной системы. [1]
Уровни абстракции ОС имеют дело с представлением абстракции общей системной функциональности, предлагаемой любой операционной системой, посредством предоставления осмысленных и простых в использовании функций-оболочек, которые, в свою очередь, инкапсулируют системные функции, предлагаемые ОС, на которую требуется портировать код. Хорошо спроектированная OSAL предоставляет реализации API для нескольких операционных систем реального времени (таких как vxWorks , eCos , RTLinux , RTEMS ). Реализации также могут быть предоставлены для операционных систем не реального времени, что позволяет разрабатывать и тестировать абстрагированное программное обеспечение в удобной для разработчика среде рабочего стола.
В дополнение к API ОС, проект уровня абстракции ОС может также предоставлять уровень абстракции оборудования , разработанный для предоставления переносимого интерфейса к аппаратным устройствам, таким как память, порты ввода-вывода и энергонезависимая память . Для упрощения использования этих API OSAL обычно включают структуру каталогов и автоматизацию сборки (например, набор make-файлов ) для упрощения сборки проекта для конкретной ОС и аппаратной платформы.
Реализация проектов с использованием OSAL позволяет разрабатывать переносимое встроенное системное программное обеспечение, которое не зависит от конкретной операционной системы реального времени. Это также позволяет разрабатывать и тестировать встроенное системное программное обеспечение на настольных рабочих станциях, обеспечивая более короткое время разработки и отладки.