Re[6]: Что такое realtime?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 05.01.25 10:05
Оценка:
Здравствуйте, vdimas, Вы писали:

V>В этом случае даже "короткое" аппаратное прерывание, маскирующая другие прерывания, не заденет процессы, исполняющиеся в других ядрах


Не знаю, как в Linux, а в Windows аппаратные прерывания — один из последних факторов, влияющих на реактивность процессов. На современном железе нужны десятки-сотни тысяч прерываний в секунду, чтобы они стали ощутимо кому-то мешать. В основном тормозят кривые драйверы (в том числе родные) и чрезмерно раздутый код ядра.

V>в виндах отродясь был realtime-приоритет, для linux есть соотв. патчи.


Это всего лишь наивысший приоритет user-mode кода. От тормозов в ядре он спасти не может.

V>не стоит создавать взаимные блокировки ресурсов у драйвера и прикладной части, стоит использовать lock-free техники.


Стоит, но кто бы это делал в той же винде...

V>прикладной код может целиком жить в драйвере, хотя в этом случае писать придётся на Си или на сильно урезанном С++ — без исключений/RAII, без динамической инициализации глобальных объектов, без RTTI и, возможно, без сохранения плавающих регистров м/у прерываниями, т.е.,


RAII не требует ничего, кроме поддержки конструкторов/деструкторов, это реализовано везде. А что такое "динамическая инициализация глобальных объектов"?

V>подавляющее большинство плюсовых библиотек использовать будет невозможно.


Их уже из-за исключений невозможно использовать. Ну и еще потому, что про наличие небесконечной памяти их авторы, похоже, забыли уже очень давно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.