Hardware Reference
In-Depth Information
Libraries
EDF module
Generic
CBS module
Kernel
PIP module
Hardware dependent layer
Figure 12.2
The SHARK Architecture.
KERNEL ARCHITECTURE
To make scheduling algorithms independent of applications and other internal mecha-
nisms, SHARK is based on the notion of a Generic Kernel , which does not implement
any particular scheduling algorithm, but postpones scheduling decisions to external
entities, the scheduling modules . In a similar fashion, the access to shared resources
is coordinated by resource modules . A simplified scheme of the kernel architecture is
shown in Figure 12.2.
The Generic Kernel provides the mechanisms used by the modules to perform schedul-
ing and resource management, thus allowing the system to abstract from the algo-
rithms that can be implemented. The Generic Kernel simply provides the primitives
without specifying any algorithm, whose implementation resides in external modules,
configured at run-time with the support of the Model Mapper .
Each module consists of a set of data and functions used for implementing a specific
algorithm, whose implementation is independent from the other modules in the sys-
tem. In this way, many different module configurations are possible. For example, a
Polling Server can either work with Rate Monotonic or EDF without any modification.
Moreover, scheduling modules can be composed into priority layers, as in a multilevel
scheduling approach. Several scheduling modules are already available, such as Rate
Monotonic, EDF, Polling Server, Deferrable Server, Slot Shifting, Total Bandwidth
Server, Constant Bandwidth Server, Elastic Scheduling, as well as a number of re-
source protocols, such as Priority Inheritance, Priority Ceiling, and Stack Resource
Policy.
Search WWH ::




Custom Search