Bazı zamanlama kavramlarını öğrendim. Şu anda benim anlayış şimdiye kadar.
- Gerçek zamanlı süreçler ve gerçek zamanlı olmayan süreçler vardır.
- Gerçek zamanlı olmayan işlemler
nice
öncelik sırasına göre -20 ila +20 aralığında değerlere sahip olabilir . Yüksek pozitif değer, işlemin daha düşük önceliğe sahip olduğunu gösterir. - Gerçek zamanlı süreçler,
-
bu cevapta burada açıklandığı gibi listelenen bir hoşluğa sahip olacaktır . Bunun nedeni, gerçek zamanlı işlemlerin gerçek zamanlı olmayan işlemlerden daha yüksek öncelikleri olması ve bunlar için nezaket değeri için geçerli olmamasıdır. - Şimdi
chrt
bir sürecin gerçek zamanlı özelliklerini görmek için kullanabilirim .
Gerçek zamanlı bir süreç için chrt
, çıktı verir,
chrt -p 5
pid 5's current scheduling policy: SCHED_FIFO
pid 5's current scheduling priority: 99
İşlem 5 için görebileceğimiz gibi , öncelik en yüksek olan 99'dur. Ayrıca, zamanlama politikasıSCHED_FIFO
Şimdi, gerçek zamanlı olmayan bir süreç için, aşağıdaki chrt
gibi çıktılar verir:
chrt -p 22383
pid 22383's current scheduling policy: SCHED_OTHER
pid 22383's current scheduling priority: 0
22383 işleminde görebileceğimiz gibi, öncelik 0, zamanlama politikası ise SCHED_OTHER
.
Sorular
- Herhangi bir işlemi gerçek zamanlı işlem olarak yapabilmem mümkün mü?
SCHED_OTHER
Gerçek zamanlı olmayan bir işlem dışında başka bir zamanlama algoritması ayarlamam mümkün mü ?Gönderen burada , Ben de bir çalışan süreç için niteliğini değiştirebilir görüyoruz,
chrt -p prio pid
Ayrıca,
chrt -m
bana zamanlama algoritmalarının listesini verir. Komut bana çıktısını verir.SCHED_OTHER min/max priority : 0/0 SCHED_FIFO min/max priority : 1/99 SCHED_RR min/max priority : 1/99 SCHED_BATCH min/max priority : 0/0 SCHED_IDLE min/max priority : 0/0
Şimdi, yukarıda önerildiği gibi,
chrt -p 55 22383
hangi algoritmanın kullanılacağını ayarlarsam ?