реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Перепланировка после выхода из прерывания
_Макс
сообщение Apr 22 2010, 12:11
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Выполняется ли перепланировка после выхода из прерывания? У меня обработчик прерывания делает посылает процессу сигнал делае его готовым к выполнению, но удивило, что при том, когда прерывание возникает чаще чем тики системного таймера то процессу с частотой прерывания передается управление. Это так во всех ОС?
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 22 2010, 12:58
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(_Макс @ Apr 22 2010, 19:26) *
Выполняется ли перепланировка после выхода из прерывания?

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
_Макс
сообщение Apr 22 2010, 13:48
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



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

Это во всех (популярных) операционках происходит перепланировка после выхода? Просто хочу понять насколько это типично, для меня это немного неожиданно т.к. привык думать, что перепланировка только по системному таймеру, ошибался наверное.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Apr 22 2010, 15:26
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(_Макс @ Apr 22 2010, 18:03) *
Да, я использовал TISRW.

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


Вы почитайте первые главы документации по scmRTOS. Там коротко и ясно изложено про различные варианты RTOS. Переключение задач по системному таймеру характерно для RTOS с вытеснением без приоритетов (round-robin) и без вытеснения (cooperative). scmRTOS - система с с приоритетным вытеснением (preemptive).
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 22 2010, 15:43
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(_Макс @ Apr 22 2010, 16:03) *
Это во всех (популярных) операционках происходит перепланировка после выхода?

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
_Макс
сообщение Apr 22 2010, 16:12
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



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

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

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

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

Сообщение отредактировал _Макс - Apr 22 2010, 16:15
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 16:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01397 секунд с 7
ELECTRONIX ©2004-2016