Перейти к содержанию
    

Перепланировка после выхода из прерывания

Выполняется ли перепланировка после выхода из прерывания? У меня обработчик прерывания делает посылает процессу сигнал делае его готовым к выполнению, но удивило, что при том, когда прерывание возникает чаще чем тики системного таймера то процессу с частотой прерывания передается управление. Это так во всех ОС?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выполняется ли перепланировка после выхода из прерывания?

Чтобы выполнялась перепланировка при выходе из прерывания, это прерывание должно быть оформлено соответствующим образом - в частности, в нем должен быть на входе создан объект-обертка TISRW. В деструкторе этого объекта производится проверка, нужно ли делать перепланировку и если нужно, то активируется прерывание переключения контекстов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, я использовал TISRW.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, я использовал TISRW.

 

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

 

Вы почитайте первые главы документации по scmRTOS. Там коротко и ясно изложено про различные варианты RTOS. Переключение задач по системному таймеру характерно для RTOS с вытеснением без приоритетов (round-robin) и без вытеснения (cooperative). scmRTOS - система с с приоритетным вытеснением (preemptive).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это во всех (популярных) операционках происходит перепланировка после выхода?

Во всех операционках ДОЛЖНА быть И такая возможность. Иначе это огрызок операционки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы почитайте первые главы документации по scmRTOS. Там коротко и ясно изложено про различные варианты RTOS. Переключение задач по системному таймеру характерно для RTOS с вытеснением без приоритетов (round-robin) и без вытеснения (cooperative). scmRTOS - система с с приоритетным вытеснением (preemptive).

Читал про типы переключения задач, помню. Но разве от типа переключения зависит перепланировка при выходе из прерывания? К тому же для моей платформы в наличии только один вариант с программным переключением процессов.

 

Во всех операционках ДОЛЖНА быть И такая возможность. Иначе это огрызок операционки.

Это я и хотел понять, Спасибо!

Изменено пользователем _Макс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...