这是 rt-app 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
rt-app - 用于模拟实时周期性负载的测试应用程序
概要
rt-应用程序
rt-应用程序 [选项] -t : [:policy[:CPU 关联[:prio[:deadline]]]] -t ...
引言
rt-应用程序 是一个测试应用程序,它启动多个周期性线程以模拟
实时周期性负载。 它支持 SCHED_OTHER、SCHED_FIFO、SCHED_RR 以及
AQuoSA 框架和 SCHED_DEADLINE。
代码目前在 GitHub 上维护: https://github.com/gbagnoli/rt-app
参赛要件
rt-app 在 GNU/Linux 上运行。 它需要 autoconf、automake、libtool 和最近的编译器
(主要是:gcc)用于基本功能。 对于高级使用,以下可选库
需要: - 用于 AQuoSA 支持的 qreslib(显然还有一个 GENS_SCHED 补丁内核) - 一个
SCHED_DEADLINE 修补内核以支持 SCHED_DEADLINE 策略。 - 安装了 json-c
读取配置文件。 如果 libjson 不适用于您的目标,您可以下载
并从编译 json-c http://oss.metaparadigm.com/json-c/
用法
rt-app 协调配置文件isa完整/相对径至aJSON文件(看下文档/HPMC胶囊 an
示例配置文件)或“-”(不带引号)从标准输入读取 JSON 数据。
python合并脚本(/usr/share/doc/rt-app/examples/merge.py)可用于合并
将 json 片段添加到配置文件中:例如: ./merge.py -o combine.json global.json
resources.json 线程0.json 线程1.json 线程2.json 线程3.json
或者您可以使用命令行来定义任务集。
请记住,在命令行上永远不可能定义资源以及如何
任务访问它们。
rt-app [选项] -t : [:cpu 关联[:policy[:deadline[:prio]]]]
br 策略:f=SCHED_FIFO,r=SCHED_RR,o=SCHED_OTHER,q=AQuoSA br AFFINITY:逗号分隔
cpu 索引(从 0 开始)即第一、第三和第四个 CPU 为 0,2,3
注意:使用 AQuoSA 调度时,优先级用作预算超过的百分比增量
执行时间
配置
-h, - 帮帮我
显示此帮助
-f, --先进先出
将线程的默认策略设置为 SCHED_FIFO
-r, --rr
将线程的默认策略设置为 SCHED_RR
-s, - 间距
等待线程开始之间的毫秒数
-l, --日志目录
将日志保存到不同目录
-b, --基本日志
日志的基本名称(暗示 -l . 如果未设置)
-G, --gnuplot
生成 gnuplot 脚本(需要 -l)
-D, - 期间
停止线程前的时间(以秒为单位)
-K, --无锁
不要锁定内存中的页面
-q, --服务质量
创建 AQuoSA 预订
-g, --片段
保留片段
--fifo,--rr,--qos
为所有线程设置默认调度策略。 --qos 仅在以下情况下可用
在启用 AQuoSA 支持的情况下编译。
--logdir,--baselog
控制日志输出(rt-app 为每个线程创建一个日志)。 如果 --logdir 不是
目前,rt-app 将所有内容记录到标准输出。 登录到文件和 -D 时(见下文)
存在,文件在执行结束时写入,在此期间所有日志记录
数据保存在内存中。
--gnuplot
如果存在,则 rt-app 将示例 gnuplot 脚本输出到 $logdir(必须
也被通过
--间距,--持续时间
控制线程之间的间距及其执行的持续时间,即每个
线程每 $spacing ms 启动一次,总运行时间为 $duration。
--片段 (AQuoSA) 只有)
通过 $fragmentation 将保留期分段,即保留期为
$frag 比线程周期小几倍。
--无锁
使用实时调度类时不要锁定线程的内存页
每个线程由
- 线: [:$POLICY[:deadline[:prio]]]:
期间 :以微秒为单位的线程周期
EXEC : 以微秒为单位线程 WCET
政策 : f=SCHED_FIFO, r=SCHED_RR, o=SCHED_OTHER, q=AQuoSA 之一(如果启用)
亲和力
: 逗号分隔的 CPU 索引(从 0 开始)即 0,2,3 表示第一、第三和
第四个CPU
PRIO : SCHED_FIFO/SCHED_RR/SCHED_OTHER 中的线程优先级,百分比增量
AQuoSA 预订预算与 WCET。
期限
:以微秒为单位的最后期限(仅用于绘图!)
使用 onworks.net 服务在线使用 rt-app