Thursday, April 30, 2020

OAL - Operating System Abstraction Layer

What is the Operating System Abstraction Layer?
- A small layer of software that allows programs to run on many different operating systems and hardware platforms - Independent of the underlying OS & hardware - Self-contained

Why do we want it?
 - Removes dependencies from any one operating system - Promotes portable, reusable flight software - Core FSW can be built for multiple processors and operating systems - Example: different missions require different hardware & operating system

What does it do?
- Allows developers to write and maintain one version of code - Allows for easy reuse across different missions with different hardware - Bonus: Allows for desktop development of flight software; reduces impact of potential hardware delays

Functionality - Standard APl's
Abstracted ID'S and information
- All entities named Task API - Create, Delete, Exit, Delay, Set Priority, Get Info, Register, Get ID, Get ID by Name Queue API - Create, Delete, Get (wl timeout), Put, Get ID, Get ID by Name, Get Info, Semaphore API - Binary Semaphores - Counting Semaphores - Mutexes - Create, Delete, Take, Give, Get Info, Timed Wait, Get ID by Name Misc API - Millisecs to System Ticks, Ticks to MicroSecs, Get Time, Interrupt DisablelEnable and LocWUnlock, Printing utility


Functionality (2)
- File System APl's
Abstracted FS - The file system has the same interface to the user no matter the underlying OS File

System API - Make FS, Remove FS, lnit FS, Mount, Unmount, Get Physical Device Name File API - Create, Remove, Open, Close, Read, Write, Lseek, Rename, Copy, Move Files - Make, Remove, Open, Close, Read Files - Get Info on File Descriptors - Send Shell Command to a file

No comments:

Post a Comment

Back to Top