Specifications

32
created for this design. The new OS would have the following requirements:
1. The sch ed uler must be table-based. Table-based schedulers use a fixed amount of
memory known at compile time. They are also deterministic, helping to guarantee
the timeliness of any given response.
2. The scheduler must select tasks cooperatively. While this does minimize OS complex-
ity, this requirement can reduce the overall response time of a externally triggered
task. Therefore, external event handling must be treated as an exception to handle
time-critical responses.
3. All operations deemed time-critical must take less than one millisecond. Tasks must
also report to the scheduler the worst case execution time of the currently running
task. This will allow the OS to report to an external request the duration of time to
wait before assuming a requ est failure.
4. All tasks must us e a shared address space. Therefore all tasks are required to cleanup
utilized memory. The OS is not required to define any form of memory protection.
5. All operations taking longer th an one millisecond or using a key system resource must
be designated as a task and must run in conjunction with other tasks as dictated by
the scheduler.
6. The OS must support variable levels of activity. These may include sleep, reduced
operations, and full operations mode. The OS must utilize the Power Management
Module to correctly perform this function.
3.3.5 Application Layer
The application layer is the most coupled layer to the environment. It handles the
behavior of the device and dictates r esponses based on stimuli percolating from the layers
previously discussed. This layer contains the logger abstraction. It utilizes OS tasks as well
as using fast interrupts to respond to external stimuli to encapsulate the device’s overall
behavior.