Este é o comando rt-app que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
rt-app - aplicativo de teste para simular uma carga periódica em tempo real
SINOPSE
aplicativo rt
aplicativo rt [opções] -t : [: política [: afinidade de CPU [: prio [: prazo]]]] -t ...
INTRODUÇÃO
aplicativo rt é um aplicativo de teste que inicia vários threads periódicos para simular um
carga periódica em tempo real. Ele suporta SCHED_OTHER, SCHED_FIFO, SCHED_RR, bem como o
Framework AQuoSA e SCHED_DEADLINE.
O código é mantido atualmente no GitHub: https://github.com/gbagnoli/rt-app
REQUISITOS
rt-app é executado em GNU / Linux. Ele precisa de autoconf, automake, libtool e um compilador recente
(principalmente: gcc) para recursos básicos. Para uso avançado, as seguintes bibliotecas opcionais
são necessários: - qreslib para suporte AQuoSA (e, obviamente, um kernel com patch de GENS_SCHED) - a
SCHED_DEADLINE patch do kernel para suportar a política SCHED_DEADLINE. - json-c instalado para
lendo arquivos de configuração. Caso o libjson não esteja disponível para o seu destino, você pode fazer o download
e compilar json-c de http://oss.metaparadigm.com/json-c/
USO
rt-app ondeconfiguraçãolimaisacompleto / relativocaminhoparaajsonlima(olharparaDoc /for an
arquivo de configuração de exemplo) ou "-" (sem aspas) para ler dados JSON de stdin.
O script de mesclagem python (/usr/share/doc/rt-app/examples/merge.py) pode ser usado para combinar
snippets json no arquivo de configuração: por exemplo: ./merge.py -o combinado.json global.json
recursos.json thread0.json thread1.json thread2.json thread3.json
OU você pode usar a linha de comando para definir o conjunto de tarefas.
Tenha em mente que na linha de comando nunca será possível definir recursos e como
as tarefas os acessam.
rt-app [opções] -t : [: afinidade de cpu [: política [: prazo [: prio]]]]
br POLÍTICA: f = SCHED_FIFO, r = SCHED_RR, o = SCHED_OTHER, q = AQuoSA br AFINIDADE: separados por vírgula
índice de CPU (começando em 0), ou seja, 0,2,3 para a primeira, terceira e quarta CPU
Nota: ao usar a programação AQuoSA, a prioridade é usada como incremento percentual para orçamento acima
tempo executivo
OPÇÕES
-h, --Socorro
mostre esta ajuda
-f, --fifo
definir política padrão para threads como SCHED_FIFO
-r, --rr
definir política padrão para threads como SCHED_RR
-s, --espaçamento
milissegundos de espera antes do início do thread
-l, --logdir
salvar logs em diretório diferente
-b, --baselog
nome de base para logs (implica -l. se não for definido)
-G, --gnuplot
gerar script gnuplot (precisa -l)
-D, --duração
tempo (em segundos) antes de interromper tópicos
-K, --sem bloqueio
Não bloqueie páginas na memória
-q, --qos
criar reserva AQuoSA
-g, --frag
fragmento para a reserva
--fifo, - rr, - qos
define a política de agendamento padrão para todos os threads. --qos está disponível apenas quando
compilado com suporte AQuoSA habilitado.
--logdir, - baselog
saída de log de controle (rt-app cria um log para cada thread). Se --logdir não for
presente, o rt-app registra tudo em stdout. Ao registrar no arquivo e -D (veja abaixo)
está presente, o arquivo é escrito no final da execução, durante a qual todos os registros
os dados são mantidos na memória.
--gnuplot
se estiver presente, o rt-app gera scripts de amostra do gnuplot para $ logdir (que deve
ser passado também
--spacing, - duration
controlar o espaçamento entre os fios e sua duração de execução, ou seja, cada
thread é iniciado a cada $ espaçamento ms e o tempo de execução total é $ duração.
--frag (AQuoSA apenas)
fragmenta o período de reserva por $ fragmentação, ou seja, o período de reserva é
$ frag vezes menor que o período do segmento.
--sem bloqueio
não bloqueie as páginas de memória dos threads ao usar classes de agendamento em tempo real
Cada tópico é especificado por
--fio : [: $ POLICY [: deadline [: prio]]]:
significativo : período de discussão em microssegundos
exec : thread WCET em microssegundos
Privacidade : um de f = SCHED_FIFO, r = SCHED_RR, o = SCHED_OTHER, q = AQuoSA (se habilitado)
afinidade
: índice de CPU separado por vírgulas (começando em 0), ou seja, 0,2,3 para primeiro, terceiro e
quarta CPU
prio : prioridade de thread em SCHED_FIFO / SCHED_RR / SCHED_OTHER, incremento de percentil para
Orçamento de reserva AQuoSA escrito WCET.
prazo de entrega
: prazo em microssegundos (usado SOMENTE para plotagem!)
Use rt-app online usando serviços onworks.net