Opsi real-time di ulimit

3

Panggilan ulimit -amengembalikan yang berikut ini:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1895
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1895
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Apa yang dilakukan opsi -r(waktu nyata)?

Arapajoe
sumber

Jawaban:

0

TL-DR : ini adalah prioritas tertinggi (= paling mendesak) yang proses shell-spawned dapat ditugaskan oleh penjadwal.

Penjelasan yang luas

ulimit memberikan kontrol atas sumber daya yang tersedia untuk shell : ia melaporkan dan / atau menetapkan batas tersebut.

The r bendera melaporkan prioritas tertinggi yang akan ditugaskan untuk penjadwalan untuk proses melahirkan oleh shell. Karena prioritas berjalan dari 0 (paling mendesak) hingga 99 (paling tidak mendesak), ini berarti bahwa proses yang dihasilkan oleh shell (yang termasuk dalam kelas aplikasi real-time) dapat mencapai prioritas penjadwalan tertinggi.

Proses diklasifikasikan baik berdasarkan penggunaan sumber daya mereka ( I / O-terikat atau CPU-terikat , tergantung pada apakah mereka sebagian besar menggunakan sumber daya I / O atau CPU) atau, lebih relevan di sini, berdasarkan tingkat urgensi mereka (ekspresi non-teknis). Ada proses interaktif seperti shell : karena kita manusia lambat dan bodoh, pc menghabiskan banyak waktu menunggu kita untuk bahkan mengangkat jari. Namun, begitu tombol telah ditekan, proses ini perlu diberi prioritas tinggi kecuali kita merasa sistem menjadi tidak responsif ; penundaan rata-rata harus dalam urutan 50 msec atau lebih, dan dengan varian kecil.

Ada juga proses batch , yang tidak memerlukan interaksi pengguna, sebagian besar berjalan di latar belakang, karenanya diberikan prioritas rendah oleh penjadwal. Contoh tipikal adalah perhitungan ilmiah.

Terakhir, ada proses waktu nyata yang memaksakan kendala paling ketat pada penjadwal. Dalam kategori ini jatuh rekaman dan pemutaran video dan audio, pengumpulan data dari sensor fisik, pengontrol robot. Proses-proses ini harus diberi prioritas tertinggi untuk memungkinkan mereka melakukan tugas-tugas mereka.

Fakta bahwa prioritas tersebut, seperti yang dilaporkan oleh ulimit , adalah 0 tidak berarti bahwa ini harus 0 : 0 adalah batas keras, Anda dapat menetapkan batas lunak pada nilai yang lebih kecil, dan Anda dapat meningkatkan prioritas hingga nilai batas keras , yang bagaimanapun dalam hal ini juga bertepatan dengan maksimum yang tersedia dalam sistem.

MariusMatutiae
sumber