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