Hardware Reference
In-Depth Information
The patch adds a new scheduling class to the Linux scheduler, so normal tasks can still
behave as when the patch is not applied. The patch also adds one further system call
to set budget and period for any SCHED DEADLINE task.
The patch is platform-independent; therefore, it supports any embedded platform sup-
ported by the standard Linux kernel. It also natively supports multicore architectures.
Several options are available at run-time, like bandwidth reclaiming, soft or hard reser-
vations, deadline inheritance, and so on. The development is still ongoing, and new
versions are often released on the Linux Kernel Mailing List (LKML). Eventually, this
patch might be merged inside the official Linux kernel.
12.3.6
LINUX/RK
In Linux/RK, the Linux kernel has been directly modified [Raj98, Raj00] to introduce
real-time features. The kernel is supported by TimeSys Inc. RK stands for “Resource
Kernel,” because the kernel provides resource reservations directly to user processes.
The use of this mechanism is transparent; thus it is possible to assign a reservation to
a legacy Linux application. Moreover, it is possible to access a specific API to take
advantage of the reservations and the quality of service management.
A reserve represents a share of a single computing resource, which can be CPU time,
physical memory pages, a network bandwidth, or a disk bandwidth. The kernel keeps
track of the use of a reserve and enforces its utilization, when necessary. A reserve
can be time-multiplexed or dedicated. Temporal resources like CPU cycles, network
bandwidth and disk bandwidth are time-multiplexed, whereas spatial resources, like
memory pages, are dedicated. A time-multiplexed resource is characterized by three
parameters: C, D, T, where T represents a recurrence period, C represents the pro-
cessing time required within T, and D is the deadline within which the C units of
processing time must be available within T.
Within Linux/RK an application can request the reservation of a certain amount of a
resource, and the kernel can guarantee that the requested amount is available to the ap-
plication. Such a guarantee of resource allocation gives an application the knowledge
of the amount of its currently available resources. A QoS manager or an application
itself can then optimize the system behavior by computing the best QoS obtained from
the available resources.
To simplify portability, the modifications to the original Linux kernel were limited as
much as possible, and the RK layer has been developed as an independent module
with several callback hooks.
Search WWH ::




Custom Search