(generally present in such hierarchy of specialized classes),
as well as to promote its reuse, the design detaches the
scheduling policy (criteria) from its mechanisms (lists implementations)
and also detaches the scheduling criteria from
the thread it represents. This is achieved by the isolation of
the element’s comparison algorithm of the scheduler in the
criteria.
A. Hardware implementation
The separation of the mechanism from the scheduling
policy was fundamental for the construction of the scheduler
in hardware. The hardware scheduler component implements
only the mechanisms that realize the ordering of the tasks,
based on the selected policy. In this sense, the same hardware
component can realize distinct policies.
The implementation of the scheduler in hardware follows
a well-defined structure. It has an internal memory that
implements an ordered list. One process (Controller) is
responsible for interpreting all the data received by theinterface of the component in hardware and then to activate
the process responsible for implementing the functionality
requested by the user (through the command interface
register). This implementation, as the software counterpart,
realizes the insertion of its elements already in order, that
is, the queue is always maintained ordered, following the
information that the SchedulingCriteria provides.