Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перепланировка после выхода из прерывания
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > scmRTOS
_Макс
Выполняется ли перепланировка после выхода из прерывания? У меня обработчик прерывания делает посылает процессу сигнал делае его готовым к выполнению, но удивило, что при том, когда прерывание возникает чаще чем тики системного таймера то процессу с частотой прерывания передается управление. Это так во всех ОС?
dxp
Цитата(_Макс @ Apr 22 2010, 19:26) *
Выполняется ли перепланировка после выхода из прерывания?

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

Это во всех (популярных) операционках происходит перепланировка после выхода? Просто хочу понять насколько это типично, для меня это немного неожиданно т.к. привык думать, что перепланировка только по системному таймеру, ошибался наверное.
sergeeff
Цитата(_Макс @ Apr 22 2010, 18:03) *
Да, я использовал TISRW.

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


Вы почитайте первые главы документации по scmRTOS. Там коротко и ясно изложено про различные варианты RTOS. Переключение задач по системному таймеру характерно для RTOS с вытеснением без приоритетов (round-robin) и без вытеснения (cooperative). scmRTOS - система с с приоритетным вытеснением (preemptive).
zltigo
Цитата(_Макс @ Apr 22 2010, 16:03) *
Это во всех (популярных) операционках происходит перепланировка после выхода?

Во всех операционках ДОЛЖНА быть И такая возможность. Иначе это огрызок операционки.
_Макс
Цитата(sergeeff @ Apr 22 2010, 18:41) *
Вы почитайте первые главы документации по scmRTOS. Там коротко и ясно изложено про различные варианты RTOS. Переключение задач по системному таймеру характерно для RTOS с вытеснением без приоритетов (round-robin) и без вытеснения (cooperative). scmRTOS - система с с приоритетным вытеснением (preemptive).

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

Цитата(zltigo @ Apr 22 2010, 18:58) *
Во всех операционках ДОЛЖНА быть И такая возможность. Иначе это огрызок операционки.

Это я и хотел понять, Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.