hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
========================
Introduction to Dovetail
========================
 
:Author: Philippe Gerum
:Date: 08.04.2020
 
Using Linux as a host for lightweight software cores specialized in
delivering very short and bounded response times has been a popular
way of supporting real-time applications in the embedded space over
the years.
 
In this so-called *dual kernel* design, the time-critical work is
immediately delegated to a small companion core running out-of-band
with respect to the regular, in-band kernel activities. Applications
run in user space, obtaining real-time services from the
core. Alternatively, when there is no real-time requirement, threads
can still use the rich GPOS feature set Linux provides such as
networking, data storage or GUIs.
 
*Dovetail* introduces a high-priority execution stage into the main
kernel logic reserved for such a companion core to run on.  At any
time, out-of-band activities from this stage can preempt the common,
in-band work. A companion core can be implemented as as a driver,
which connects to the main kernel via the Dovetail interface for
delivering ultra-low latency scheduling capabilities to applications.
 
Dovetail is fully described at https://evlproject.org/dovetail/.
The reference implementation of a Dovetail-based companion core is
maintained at https://evlproject.org/core/.