Рекомендуется ли использовать параметр. sched_priority в Linux FIFO во время создания потока?

cut -f1 file | sort | uniq -c | sort -rn
  • cut использует TAB в качестве разделителя полей по умолчанию; -f1 выбирает первое поле.
  • uniq -c для подсчета количества (непрерывных) повторений,
  • sort -rn для сортировки числового порядка в обратном порядке.

\ thanks {Джефф Шаллер}

0
17.08.2018, 10:11
1 ответ

Реальное время Linux не является эмуляцией, существуют системные вызовы, влияющие на планирование. См. man sched(7). Из вашего вопроса неясно, что вы пытаетесь сделать и в чем именно заключается ваша проблема. Значение sched_priorityимеет значение только относительно приоритетов других потоков. Например, если есть только один поток с приоритетом > 0, не имеет значения, равен ли приоритет 1 или 40; более высокое значение не даст дополнительного «ускорения» потоку. Вам нужно будет определить относительный приоритет, необходимый для ваших потоков, и соответствующим образом присвоить им значения приоритета.

Обратите внимание, что с потоками SCHED_FIFOне связан квант времени. Поток SCHED_FIFOработает до тех пор, пока не произойдет одно из следующего: :поток заблокирован, поскольку он ожидает ввода-вывода, поток с более высоким приоритетом готов к выполнению или поток добровольно уступает процессор. Вам придется принять это во внимание, если у вас есть несколько потоков с одинаковым приоритетом, иначе один поток может перегрузить ЦП из других потоков. Конечно, на многопроцессорной машине несколько потоков могут выполняться одновременно, каждый на своем собственном процессоре.

1
28.01.2020, 02:42

Теги

Похожие вопросы