Benefits of SYS/BIOS
From Texas Instruments Wiki
SYS/BIOS is a scalable real-time kernel. It is designed to be used by applications that require real-time scheduling, synchronization, and instrumentation. SYS/BIOS provides preemptive multi-threading, hardware abstraction, real-time analysis, and configuration tools. The benefits of using SYS/BIOS include the following:
- Wide variety of thread types provided: The threading model provides thread types for many situations. Hardware interrupts, software interrupts, tasks, idle functions, and periodic functions are all supported. You can control the priorities and blocking characteristics of threads through your choice of thread types.
- Powerful synchronization objects built-in: SYS/BIOS gives you structures to support communication and synchronization between threads. These include semaphores, mailboxes, events, gates, and variable-length messaging.
- Flexible object creation: You can configure SYS/BIOS objects statically or dynamically. Static creation improves the performance and memory footprint. Dynamic creation provides application flexibility.
- Deterministic APIs improve real-time performance: Almost all SYS/BIOS system calls provide deterministic performance to enable applications to reliably meet real-time deadlines.
- Modules lead to smaller footprint: To minimize memory size, the APIs are modularized. Only those APIs that are used by the program need to be bound into the executable program.
- Production applications easy to optimize: Error checking and debug instrumentation is configurable. You can completely remove it from production code versions to maximize performance and minimize memory size.
- Log formatting on the host improves performance: To reduce the performance of event logging, instrumentation data (such as logs and traces) is formatted on the host.
- Flexible memory management options fits your needs: Dynamic memory management services offer both variable-sized and fixed-sized block allocation.
- Hardware abstraction lets you write ISRs in C: An interrupt dispatcher handles low-level context save/restore operations and enables interrupt service routines to be written entirely in C. Code can be written to be as portable as possible or to take advantage of the features of specific targets. System services support the enabling/disabling of interrupts and the plugging of interrupt vectors, including multiplexing interrupt vectors onto multiple sources.