Приоритеты в реальном времени в ОС не в реальном времени


8

Если я делаю следующую команду на моей стандартной установке Linux Mint:

comp ~ $ ps -eo rtprio,nice,cmd
RTPRIO  NI CMD
...
99   - [migration/0]
99   - [watchdog/0]
99   - [migration/1]
 -   0 [ksoftirqd/1]
99   - [watchdog/1]

Я получаю некоторые процессы с приоритетом в реальном времени 99.

В чем смысл rtprioLinux не в реальном времени? Означает ли это, что если я просто запускаю программу с rtprio99, она запускается в режиме реального времени? Где операционные системы реального времени попадают в эту историю?

Ответы:


5

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

Тем не менее, ванильное ядро ​​обрабатывает приоритеты в реальном времени, что дает им более высокий приоритет, чем обычные задачи, и эти задачи обычно выполняются до тех пор, пока они добровольно не дадут ЦП. Это дает лучший ответ на эти задачи, но означает, что другие задачи задерживаются.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.