Зачем использовать обычное ядро, если оно есть в реальном времени?

Каковы преимущества обычного ядра Ubuntu по сравнению с ядром реального времени? Каковы компромиссы ядра в реальном времени?

7
задан 3 October 2010 в 02:14

3 ответа

Ядра реального времени могут гарантировать определенное время отклика на процесс. Например, процесс должен каждые 10 мс считывать значения из системы управления. В реальном времени вы можете быть уверены, что ни одно значение не будет удалено.

Если вы не используете какую-то производственную систему управления, вам просто это не нужно.

Общая производительность системы может быть лучше, если ядро ​​не должно гарантировать каждому процессу интервал времени в периоде. (Лучшее использование ввода-вывода, меньшие издержки на переключение процессов и т. Д.)

Подводя итог: в реальном времени производительность системы не увеличивается.

0
ответ дан 3 October 2010 в 02:14

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

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

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

0
ответ дан 3 October 2010 в 02:14

Основная проблема с запуском ядра реального времени заключается в том, что это создает серьезную проблему безопасности. Процессы RT могут полностью захватить машину.

Есть и другие причины не запускать RT, среди них:

  1. Начиная с Linux 2.6, стек реального времени стал частью ядра Linux, исправление ядра стеком реального времени больше не требуется. .

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

  3. Это может замедлить работу вашего компьютера.

Дополнительная информация и изучение проблем здесь:

https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel

https://sevencapitalsins.wordpress.com/2007/08/10/low -latency-kernel-wtf

0
ответ дан 12 July 2020 в 10:29

Другие вопросы по тегам:

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