Saya telah mempelajari beberapa konsep penjadwalan. Saat ini pemahaman saya sejauh ini adalah seperti di bawah ini.
- Ada proses waktu nyata dan proses waktu tidak nyata.
- Proses non real time dapat memiliki
nice
nilai untuk prioritas mereka di kisaran -20 hingga +20 . Nilai positif yang lebih tinggi menunjukkan bahwa proses memiliki prioritas yang lebih rendah. - Proses waktu nyata akan memiliki nilai kebaikan terdaftar
-
seperti yang dijelaskan dalam jawaban ini di sini . Ini terutama karena proses waktu nyata memiliki prioritas lebih tinggi daripada proses waktu tidak nyata dan nilai kebaikan tidak berlaku untuk mereka. - Sekarang, saya dapat menggunakan
chrt
untuk melihat atribut waktu nyata dari suatu proses.
Untuk proses waktu nyata, chrt
memberikan output sebagai,
chrt -p 5
pid 5's current scheduling policy: SCHED_FIFO
pid 5's current scheduling priority: 99
Seperti yang dapat kita lihat untuk proses 5 , prioritasnya adalah 99 yang merupakan yang tertinggi. Juga, kebijakan penjadwalan adalahSCHED_FIFO
Sekarang, untuk proses non-real time, chrt
memberikan output sebagai,
chrt -p 22383
pid 22383's current scheduling policy: SCHED_OTHER
pid 22383's current scheduling priority: 0
Seperti yang dapat kita lihat untuk proses 22383 , prioritasnya adalah 0 dan kebijakan penjadwalannya adalah SCHED_OTHER
.
Pertanyaan
- Apakah mungkin bagi saya untuk membuat proses apa pun sebagai proses waktu nyata?
- Apakah mungkin bagi saya untuk mengatur beberapa algoritma penjadwalan lain selain
SCHED_OTHER
untuk proses non-real time? Dari sini , saya juga melihat bahwa saya dapat memodifikasi atribut untuk proses yang berjalan seperti,
chrt -p prio pid
Juga, saya melihat
chrt -m
memberi saya daftar algoritma penjadwalan. Perintah memberi saya output sebagai,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
Sekarang, seperti yang disarankan di atas, jika saya menetapkan
chrt -p 55 22383
algoritma mana yang akan digunakan?