Опция реального времени в ulimit

2134
Arapajoe

Вызов ulimit -aвозвращает следующее:

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 

Что делает -rопция (в реальном времени)?

2

1 ответ на вопрос

0
MariusMatutiae

TL-DR : это наивысший (= самый срочный) приоритет, который порожденные оболочкой процессы могут быть назначены планировщиком.

Объемное объяснение

ulimit дает контроль над ресурсами, доступными для оболочки : он сообщает и / или устанавливает такие ограничения.

-R флаг сообщает наивысший приоритет будет назначен для планирования в процессе порожденного оболочки. Поскольку приоритеты варьируются от 0 (наиболее срочно) до 99 (наименее срочно), это означает, что процессы, порожденные оболочкой (те, которые относятся к классам приложений реального времени), могут достичь самых высоких приоритетов планирования.

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

Существуют также пакетные процессы, которые не требуют взаимодействия с пользователем, выполняются в основном в фоновом режиме, поэтому планировщик получает низкий приоритет. Типичным примером являются научные расчеты.

Наконец, существуют процессы реального времени, которые накладывают самые строгие ограничения на планировщик. В эту категорию попадают видео и аудио записи и воспроизведения, сбор данных с физических датчиков, контроллеров роботов. Этим процессам должен быть присвоен самый высокий приоритет, чтобы они могли выполнять свои задачи.

Тот факт, что такой приоритет, как сообщает ulimit, равен 0, не означает, что это обязательно 0 : 0 - это жесткий предел, вы можете установить мягкий предел при меньших значениях, и вы можете увеличить приоритет до значения жесткий предел, который, однако, в этом случае также совпадает с максимально доступным в системе.

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