Советы по использованию гипервизора для запуска ОС реального времени параллельно с Windows/Linux.

StackOverflow https://stackoverflow.com/questions/1160110

  •  18-09-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

  1. нет, ему не нужны двухъядерные процессоры или гиперпоточность.
    • нет, задачи, не относящиеся к RT, не мешают задачам RT.

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top