Este es el comando rt-app que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
rt-app: aplicación de prueba para simular una carga periódica en tiempo real
SINOPSIS
rt-aplicación
rt-aplicación [opciones] -t : [: política [: afinidad de CPU [: prio [: fecha límite]]]] -t ...
INTRODUCCIÓN
rt-aplicación es una aplicación de prueba que inicia múltiples subprocesos periódicos para simular un
carga periódica en tiempo real. Es compatible con SCHED_OTHER, SCHED_FIFO, SCHED_RR así como el
Marco AQuoSA y SCHED_DEADLINE.
El código se mantiene actualmente en GitHub: https://github.com/gbagnoli/rt-app
REQUISITOS
rt-app se ejecuta en GNU / Linux. Necesita autoconf, automake, libtool y un compilador reciente
(principalmente: gcc) para funciones básicas. Para uso avanzado, las siguientes bibliotecas opcionales
son necesarios: - qreslib para el soporte de AQuoSA (y, obviamente, un kernel parcheado GENS_SCHED) - un
SCHED_DEADLINE parcheó el kernel para admitir la política SCHED_DEADLINE. - json-c instalado para
leer archivos de configuración. En caso de que libjson no esté disponible para su objetivo, puede descargar
y compile json-c desde http://oss.metaparadigm.com/json-c/
USO
rt-aplicación dóndeconfigpresentarisacompleto / relativocaminoaajsonpresentar(MirabajoDoc/para an
ejemplo de archivo de configuración) o "-" (sin comillas) para leer datos JSON de stdin.
El script de combinación de Python (/usr/share/doc/rt-app/examples/merge.py) se puede utilizar para combinar
json fragmentos en el archivo de configuración: por ejemplo: ./merge.py -o combinado.json global.json
recursos.json subproceso0.json subproceso1.json subproceso2.json subproceso3.json
O puede usar la línea de comandos para definir el conjunto de tareas.
Tenga en cuenta que en la línea de comandos nunca será posible definir recursos y cómo
las tareas acceden a ellas.
rt-app [opciones] -t : [: afinidad de cpu [: política [: fecha límite [: prio]]]]
br POLÍTICA: f = SCHED_FIFO, r = SCHED_RR, o = SCHED_OTHER, q = AQuoSA br AFFINITY: separados por comas
índice de cpu (comenzando desde 0) es decir, 0,2,3 para la primera, tercera y cuarta CPU
Nota: cuando se usa la programación de AQuoSA, la prioridad se usa como incremento porcentual para el presupuesto
tiempo ejecutivo
OPCIONES
-h, --ayuda
muestra esta ayuda
-f, --fifo
establecer la política predeterminada para subprocesos en SCHED_FIFO
-r, --rr
establezca la política predeterminada para los subprocesos en SCHED_RR
-s, --espaciado
mseg para esperar entre inicios de subprocesos
-l, --logdir
guardar registros en un directorio diferente
-b, --registro base
nombre base para los registros (implica -l. si no se establece)
-G, --gnuplot
generar script gnuplot (necesita -l)
-D, --duración
tiempo (en segundos) antes de detener los hilos
-K, --no-mlock
No bloquee las páginas en la memoria
-q, --qos
crear reserva AQuoSA
-g, --fragmento
fragmento de la reserva
--fifo, - rr, - qos
establece la política de programación predeterminada para todos los subprocesos. --qos está disponible solo cuando
compilado con el soporte AQuoSA habilitado.
--logdir, - baselog
controlar la salida del registro (rt-app crea un registro para cada hilo). Si --logdir no es
presente, rt-app registra todo en stdout. Al iniciar sesión en un archivo y -D (ver más abajo)
está presente, el archivo se escribe al final de la ejecución, durante el cual todos los registros
los datos se guardan en la memoria.
--gnuplot
si está presente, rt-app genera scripts de muestra de gnuplot en $ logdir (que debe
ser pasado también
- espaciamiento, - duración
controlar el espaciado entre subprocesos y su duración de ejecución, es decir, cada
el hilo se inicia cada $ espaciado ms y el tiempo de ejecución total es $ duración.
--fragmento (AQuo SA solamente)
fragmenta el período de reserva por $ fragmentación, es decir, el período de reserva es
$ frag veces más pequeño que el período del hilo.
--no-mlock
no bloquee las páginas de memoria de los hilos cuando use clases de programación en tiempo real
Cada hilo está especificado por
--hilo : [: $ POLICY [: fecha límite [: prio]]]:
período : período del hilo en microsegundos
ejecutivo : hilo WCET en microsegundos
política : uno de f = SCHED_FIFO, r = SCHED_RR, o = SCHED_OTHER, q = AQuoSA (si está habilitado)
afinidad
: índice de cpu separado por comas (comenzando desde 0) es decir, 0,2,3 para primero, tercero y
cuarta CPU
prio : prioridad de subproceso en SCHED_FIFO / SCHED_RR / SCHED_OTHER, incremento de percentil para
Presupuesto de reserva de AQuoSA wrt WCET.
: fecha límite en microsegundos (¡se usa SOLO para trazar!)
Use la aplicación rt en línea usando los servicios de onworks.net