Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт мар 28, 2017 4:57 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
СообщениеДобавлено: Пн май 27, 2013 8:24 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
Mario_r4 писал(а):
Раньше (до ревизии 3534) без этого кода иконки не во всех случаях перерисовывались. Сейчас возможно и не нужно. Если не будет багрепоротов, значит все нормально.

Решение проблем методом "а давайте попробуем немного подождать, вдруг поможет" - почти всегда плохая идея. Оно даже может работать на отдельно взятой машине, но стоит взять машину послабее и нагрузить её посильнее - рискует сломаться в неожиданных местах. Если проблема в том, что программе нужно видеть глобальную переменную в момент события, а сама глобальная переменная постоянно меняется - а так оно в данном случае и есть, - то решение должно быть "сохраним глобальную переменную в момент события где-нибудь в локальном месте, чтобы глобальная переменная могла спокойно меняться, а программа читала локальное место". r3536 - это отнюдь не только удаление вызова change_task.
http://bash.im/quote/217723 писал(а):
Hsilgos :Я на это втыкаю долго... И иду спрашивать, как это работает?
Hsilgos :Ведь ясно же, что это ошибка.
Hsilgos :На что мне чувак говорит : ставлю у потока более высокий приоритет и благодаря этому объект УСПЕВАЕТ вычитать содержимое переменной
Hsilgos :А ты говоришь - "Архитектура"... "Планирование"...
Hsilgos :Индийцам до нас далеко
Hsilgos :Чисто по-русски. Успеть хапнуть, пока не пришел писец...

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Пн май 27, 2013 9:00 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
CleverMouse писал(а):
r3536 - это отнюдь не только удаление вызова change_task.

Я вообще-то смотрел лог SVN если чо. Может я не настолько умен и сообразителен, но я не имбецил. Не буду спорить, что идея не самая лучшая, более того - это дрянная идея. Да и вообще 90% моего кода откровенное говно. Однако никто не делает некоторые вещи - совсем не делают. Если так раздражает я могу более вообще не трогать код ядра, так как идеи мои тоже на 90% говно. Будем честно смотреть правде в глаза. Почти 10 лет моих потуг, так и не сделали из меня хорошего программиста. Все результаты достигались тупым упорством и хождением по граблям. Потому буду делать как 99% посещающих форум - зайти и посмотреть, нет ли чего новенького, похвалить хорошистов, поругать плохишей или вообще промолчать. Потреблять в общем. Извини, что отнял твое время бессмысленным и пустым замечанием. Постараюсь далее быть чаще в read-only. Успехов!

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Пн май 27, 2013 9:06 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
Mario_r4, спасибо.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 2:57 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
CleverMouse
Неясен такой момент:
- если один из пользовательских процессов уже отработал свой квант и был принудительно переключен,
- тогда будет ли включаться IDLE, или управление вернется в пользовательское кольцо?


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 3:42 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
art_zh, если поток был принудительно переключён, он остаётся активным, на следующие кольца планировщик смотреть не будет, до IDLE дело не дойдёт.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 5:16 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
тогда вроде всё по-уму.
IDLE играет только если все дружно скинут карты.


Вернуться к началу
СообщениеДобавлено: Пт июн 07, 2013 8:09 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
r3615+r3617 вносят дополнение: теперь при поступлении IRQ, отличного от таймера, также вызывается планировщик, но со специальным флагом "смотри только на потоки, которые строго более приоритетны, чем текущий". Флаг также меняет логику продвижения очереди: если пользовательский поток A упорно работал и был прерван по таймеру, то следующим пользовательским потоком будет B, следующий в кольце после A; если тот же пользовательский поток A упорно работал и был прерван по другому прерыванию, то следующим пользовательским потоком останется A - возможно, после того, как вмешавшийся ядерный поток что-нибудь сделает.

_________________
Сделаем мир лучше!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB