Рекомендации по использованию гипервизора для запуска ОС реального времени параллельно с Windows / Linux - PullRequest
1 голос
/ 21 июля 2009

Каков ваш совет / опыт использования гипервизора (например, RTS Real-Time Hypervisor ) для запуска ОСРВ параллельно с ОС не в реальном времени. Есть ли какие-либо последствия для производительности? Есть ли риски? (например, как вы можете гарантировать, что ОС не в реальном времени не будет мешать аспектам ОСРВ в реальном времени)

Насколько я понимаю, необходимо использовать двухъядерный (или гиперпоточный) процессор, чтобы вы могли назначить каждой ОС свое ядро.

1 Ответ

1 голос
/ 21 июля 2009
  1. нет, он не нуждается в двухъядерности или гиперпоточности.
    • нет, задачи без RT не мешают задачам RT.

Основная идея состоит в том, чтобы иметь одну ОСРВ, которая выполняет задачи, написанные специально для этой ОС, используя собственный API. Эти задачи устанавливаются в строковых приоритетах, где задача с более высоким приоритетом будет всегда иметь приоритет над задачей с более низким приоритетом. Задачи с самым низким приоритетом будут выполняться только до тех пор, пока не будет доступно ни одной другой задачи (то есть все они ожидают какого-либо события, тайм-аута или внешнего сигнала).

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

В этих гибридных реализациях есть единственная задача самого низкого уровня, которая запускает полное ядро ​​ОС не RT, обычно Linux или какое-то другое ядро, похожее на unix (я не знаю о Windows, но должно работать так же). В настоящее время мы называем эту архитектуру гипервизором.

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

есть также некоторые программные расширения RT для планировщика Linux в течение некоторого времени; но временные гарантии не такие строгие, как некоторые ОС с жестким RT, созданные с учетом этого.

...