ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
159017 Топик полностью
Evgeny_CD, Архитектор (14.06.2009 13:13, просмотров: 246) ответил Evgeny_CD на Микрошедулер. Мягкие критический секции.
Хорошей штукой также было бы информирование потока о том, как близко он к отбору управления у него. Т.е. поток собирается что-то такое сделать. В мягкой или жесткой критической секции. Но начинать эту процедуру сейчас для него не так критично. Он может и пережить прерывание времени. Поток читает некую переменнаю - на когда намечен системный тик. Читает значение таймера и вычисляет - сколько до тика осталось. Если времени меньше, чем надо процессу - он просто отдает управление системе. Система смотрит - а стоит ли что-то делать в оставшееся время, и тупо ждет наступления тика. Для устранения всяких "загогулин" типа мы полезли читать таймер - нас прервали - в TCB пишутся некие данные, по которым потом процесс и решает - а достаточно ли ему времени. В реальности туда пришется что-то типа состояния процедуры провреки достаточность времени. Системная задача правит TCB перед отдачей управления потоку - чтобы он не принял какое-то неверное решение от того, что у него "разовали время".