blob: 656dc14d1eae6f554bd85f330b53d6f9ff832f05 (
plain) (
blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
LITMUS^RT User-Space Library: liblitmus
=======================================
Copyright (c) 2007, 2008, 2009, 2010
The University of North Carolina at Chapel Hill
Department of Computer Science
Real-Time Systems Group
Dr. Anderson & students
http://www.cs.unc.edu/~anderson/litmus-rt/
Released as open source under the terms of the GNU General Public License
(GPL2).
Overview
========
This library and the included tools provide the user-space interface to
LITMUS^RT. Real-time tasks should link against this library. The header file
"litmus.h" contains all necessary system calls and definitions to interact with
the kernel services provided for real-time tasks.
Tools and Programs
==================
* setsched
Select active scheduler. Must be run as root.
* showsched
Print the name of the currently active scheduler. Schedulers are selected at
boot time with the "rtsched=<NAME>" kernel parameter.
* rt_launch [-p <PARTITION>] <WCET> <PERIOD> <PROGRAM> <ARGS>...
Launch the program <PROGRAM> as a real-time task provisioned with the given
worst-case execution time and priod. Any additional parameters are passed on
to the real-time task.
* rtspin [-w] [-p <PARTITION>] [-c CLASS] WCET PERIOD DURATION
rtspin -l
A simple spin loop for emulating purely CPU-bound workloads.
Not very realistic, but a good tool for debugging.
-l Start a little calibration loop.
-w Wait for task-system release.
* release_ts
Release the task system. This allows for synchronous task system releases.
* measure_syscall
A simple tool that measures the cost of a system call.
* cycles
Display cycles per time interval.
* base_task
Example real-time task. Can be used as a basis for the development
of single-threaded real-time tasks.
* base_mt_task
Example multi-threaded real-time task. Use as a basis for development.
Install
=======
The library and the included tools must be compiled from source.
Liblitmus uses SCons as the build system. For details see:
http://www.scons.org/
To compile the library just execute the command 'scons' without
arguments.
x86_64->ia32 cross compilation is possible by specifying ARCH=i386 on the
command line or in the environment.
|