Некоторые примеры в течение общего Реального времени обрабатывают в Linux

Что такое некоторые общие SCHED_FIFO и процессы SCHED_RR в Linux? Ввод данных пользователем подпадает под cantegory Оперативных процессов?

5
задан Preet Sangha 26 April 2010 в 23:35
поделиться

1 ответ

Посмотрите на этот вопрос . «Реальное время» (для процесса) относится к алгоритму планирования или мышлению ядра, когда оно решает, какой процесс должен быть запущен. Процесс реального времени будет вытеснять все другие процессы (с меньшим весом планирования), когда получено прерывание и его нужно запустить.

Программа, которая только принимает вводимые пользователем данные, переходит в спящий режим (блокируется) во время ожидания ввода или даже между нажатиями клавиш (в зависимости от). Такой программе не обязательно должен быть такой высокий приоритет планирования. Процессы RT должны требовать, чтобы выполнялись перед всеми остальными процессами в системе. Это может быть связано с тем, что процесс критически важен для какой-то важной цели или необходимы высокопроизводительные таймеры (в этом случае вам понадобится ОС реального времени, а стандарт Linux - , а не ).

В любом случае, обзор различий между SCHED_FIFO и SCHED_RR см. В вопросе, на который я указал. Решение, которое вам следует принять, если рассматривать одно вместо другого, не , если программа должна работать как RT, это фундаментальное инженерное решение. Выбор между ними - всего лишь вопрос того, как вы хотите, чтобы ваш процесс взаимодействовал с другими.

Если бы я использовал стандартное ядро ​​для управления лифтом, процесс, обслуживающий аппаратные прерывания от микропереключателей, вероятно, использовал бы SCHED_FIFO с весом RT. Опять же, я бы, вероятно, не стал использовать для этого стандартный Linux.

Если бы я писал почтовый клиент, я бы использовал стандартный планировщик и позволял пользователю настраивать свои запущенные программы по своему усмотрению.

7
ответ дан 14 December 2019 в 08:45
поделиться
Другие вопросы по тегам:

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