- нет, он не нуждается в двухъядерности или гиперпоточности.
- нет, задачи без RT не мешают задачам RT.
Основная идея состоит в том, чтобы иметь одну ОСРВ, которая выполняет задачи, написанные специально для этой ОС, используя собственный API. Эти задачи устанавливаются в строковых приоритетах, где задача с более высоким приоритетом будет всегда иметь приоритет над задачей с более низким приоритетом. Задачи с самым низким приоритетом будут выполняться только до тех пор, пока не будет доступно ни одной другой задачи (то есть все они ожидают какого-либо события, тайм-аута или внешнего сигнала).
все это так же, как обычный многозадачный планировщик ОС, для него не нужны многоядерные или аппаратные потоки; просто гарантии синхронизации радикально отличаются, и доступный API отражает этот факт.
В этих гибридных реализациях есть единственная задача самого низкого уровня, которая запускает полное ядро ОС не RT, обычно Linux или какое-то другое ядро, похожее на unix (я не знаю о Windows, но должно работать так же). В настоящее время мы называем эту архитектуру гипервизором.
Итак, поскольку вся ОС без RT выполняется как задача с наименьшим приоритетом, она вообще не гарантирует получение времени обработки. любая задача RT может прервать ее в любое время, даже при доступе к оборудованию. чтобы сохранить это, обычно задачи RT имеют очень ограниченный доступ к аппаратному обеспечению, или существуют минимальные арбитражи на очень низком уровне. то есть: может прервать доступ к диску (возможно, приведет к ошибке доступа); но не PCI-доступ (если он кратковременен и ограничен во времени)
есть также некоторые программные расширения RT для планировщика Linux в течение некоторого времени; но временные гарантии не такие строгие, как некоторые ОС с жестким RT, созданные с учетом этого.