Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen rt-app komutudur.
Program:
ADI
rt-app - Gerçek zamanlı periyodik yükü simüle etmek için test uygulaması
SİNOPSİS
rt-uygulaması
rt-uygulaması [seçenekler] -t : [:politika[:CPU yakınlığı[:prio[:son tarih]]]] -t ...
TANITIM
rt-uygulaması simüle etmek için birden çok periyodik iş parçacığı başlatan bir test uygulamasıdır.
gerçek zamanlı periyodik yük. SCHED_OTHER, SCHED_FIFO, SCHED_RR'yi ve ayrıca
AQuoSA çerçevesi ve SCHED_DEADLINE.
Kod şu anda GitHub'da tutulmaktadır: https://github.com/gbagnoli/rt-app
ŞARTLAR
rt-app, GNU/Linux üzerinde çalışır. autoconf, automake, libtool ve yeni bir derleyiciye ihtiyacı var
(esas olarak: gcc) temel özellikler için. Gelişmiş kullanım için aşağıdaki isteğe bağlı kitaplıklar
gereklidir: - AQuoSA desteği için qreslib (ve açıkçası bir GENS_SCHED yamalı çekirdek) - a
SCHED_DEADLINE politikasını desteklemek için SCHED_DEADLINE yamalı çekirdek. - için yüklü json-c
yapılandırma dosyalarını okuma. Hedefiniz için libjson mevcut değilse, indirebilirsiniz.
ve json-c'yi şuradan derleyin: http://oss.metaparadigm.com/json-c/
KULLANIM
rt-app neredeyapılandırmadosyaisatam / akrabayoliçinajsondosya(bakmakaltındabelge/için an
stdin'den JSON verilerini okumak için örnek yapılandırma dosyası) veya "-" (tırnak işaretleri olmadan).
Python birleştirme komut dosyası (/usr/share/doc/rt-app/examples/merge.py) birleştirmek için kullanılabilir
json parçacıklarını yapılandırma dosyasına ekleyin: örneğin: ./merge.py -o birleştirilmiş.json global.json
Resources.json thread0.json thread1.json thread2.json thread3.json
VEYA görev setini tanımlamak için komut satırını kullanabilirsiniz.
Komut satırında kaynakları ve nasıl yapılacağını tanımlamanın asla mümkün olmayacağını unutmayın.
görevler onlara erişir.
rt-app [seçenekler] -t : [:cpu yakınlığı[:politika[:son tarih[:prio]]]]
br POLİTİKA: f=SCHED_FIFO, r=SCHED_RR, o=SCHED_OTHER, q=AQuoSA br AFINITY: virgülle ayrılmış
cpu indeksi (0'dan başlayarak) yani birinci, üçüncü ve dördüncü CPU için 0,2,3
Not: AQuoSA zamanlamasını kullanırken, öncelik, bütçe fazlası için yüzde artışı olarak kullanılır.
yürütme zamanı
SEÇENEKLER
-h, --yardım et
bu yardımı göster
-f, --fifo
diziler için varsayılan politikayı SCHED_FIFO olarak ayarla
-r, --rr
diziler için varsayılan politikayı SCHED_RR olarak ayarla
-s, --boşluk
iş parçacığının başlaması arasında beklemek için msn
-l, --logdir
günlükleri farklı dizine kaydet
-b, --baselog
günlükler için temel ad (ayarlanmadıysa -l anlamına gelir)
-G, --gnuplot
gnuplot betiği oluştur (-l gerekir)
-D, --süre
dizileri durdurmadan önceki süre (saniye cinsinden)
-K, -- kilit yok
Sayfaları bellekte kilitlemeyin
-q, --qos
AQuoSA rezervasyonu oluştur
-g, --frag
rezervasyon için parça
--fifo,--rr,--qos
tüm iş parçacıkları için varsayılan zamanlama ilkesini ayarlar. --qos yalnızca şu durumlarda kullanılabilir:
AQuoSA desteği etkinken derlenir.
--logdir,--bazlog
kontrol günlüğü çıktısı (rt-app her iş parçacığı için bir günlük oluşturur). --logdir değilse
mevcut, rt-app her şeyi stdout'a kaydeder. Dosyaya ve -D'ye giriş yaparken (aşağıya bakın)
mevcutsa, dosya yürütmenin sonunda yazılır ve bu sırada tüm günlük kaydı
veriler bellekte tutulur.
--gnuplot
varsa, rt-app örnek gnuplot komut dosyalarını $logdir'e çıkarır (ki bu
çok geçilecek
--aralık,--süre
iş parçacıkları arasındaki boşluğu ve yürütme sürelerini kontrol edin, yani her biri
iş parçacığı her $space ms'de bir başlatılır ve toplam çalışma zamanı $duration'dır.
--frag (AQuoSA sadece)
rezervasyon periyodunu $fragmentation ile parçalar, yani rezervasyon periyodu
$frag kez iş parçacığının periyodundan daha küçük.
-- kilit yok
gerçek zamanlı zamanlama sınıflarını kullanırken iş parçacığının bellek sayfalarını kilitlemeyin
Her iş parçacığı tarafından belirtilir
--Konu : [:$POLİTİKA[:son tarih[:prio]]]:
dönem : mikrosaniye cinsinden iş parçacığı süresi
exec : mikrosaniye cinsinden WCET iş parçacığı
politika : f=SCHED_FIFO, r=SCHED_RR, o=SCHED_OTHER, q=AQuoSA'dan biri (etkinleştirilmişse)
ilgi
: virgülle ayrılmış işlemci dizini (0'dan başlayarak) yani birinci, üçüncü ve üçüncü için 0,2,3
dördüncü işlemci
prio : SCHED_FIFO/SCHED_RR/SCHED_OTHER cinsinden iş parçacığı önceliği, için yüzdelik artış
AQuoSA rezervasyon bütçesi wrt WCET.
son teslim tarihi
: mikrosaniye cinsinden son tarih (YALNIZCA çizim için kullanılır!)
onworks.net hizmetlerini kullanarak çevrimiçi rt-app kullanın