-
- не. Я там выше пояснил. Основная фишка не в этом, кооперативную надстройку сейчас многие имеют. - Alex B.(15.04.2009 01:18, ссылка)
- Ок. Кстати, есть целая книга на тему "Coroutines: A Programming Methodology, a Language Design and an Implementation" -> - Evgeny_CD(15.04.2009 01:20, ссылка)
- По дороге попалось "Coroutines in Lua" - Vit(15.04.2009 08:34, ссылка)
- блин. да не в этом дело! - Alex B.(15.04.2009 01:21)
- На самом деле все в конечном итоге сводится к понятию некого "виртуального объекта" Вот там у нас уже была дискуссия -> А вот там --> ссылка на TinyTimber, которую дал Vit. А также к обсуждавшейся недавно идее организации FSM чрез макросы и т.д. Evgeny_CD(540 знак., 15.04.2009 01:41, ссылка, ссылка)
- вы либо издеваетесь, либо не понимаете. Alex B.(568 знак., 15.04.2009 01:50)
- Автор написал, что используется Segmented interrupt architecture - как понял не вход в обработчик окучивается, а в эпилоге вызываются системные дела, т.е. просто в приоритетной секции. И если латентность считаем по входу, то скорость покажем выше крыши - Vit(48 знак., 16.04.2009 13:10, ссылка)
- Чудес не бывает. Например, если проц 8-и-битный, то атомарность при работе с указателями обеспечить без критических секций нереально. А в тех же 16-и-битниках обычно уже другая картина. Тем более с PIC24, в которых можно ещё и повысить приоритет, не Vit(469 знак., 15.04.2009 08:13)
- критическими секциями будем называть те моменты времени, в которых запрещены такие прерывания, которые могут переключить контекст (в которых вызываются сервисы) - Alex B.(15.04.2009 10:01)
- Порылся в линках от Евгения - и возник вопрос - где почитать о недостатках кооперативного планирования? И хотелось бы узнать мнения ув. All. Vit(172 знак., 15.04.2009 12:24, ссылка)
- Например, есть задачи: поддержки протокола обмена, расчета отклика ЦФ. amusin(268 знак., 15.04.2009 12:44)
- Примерно понял. Получается, что я нарезать уже привык;) благо есть несколько механизмов удобных - Vit(15.04.2009 12:54)
- ну, нарезать не всегда получается. например, если используется библиотечная функция или сторонняя либа в объектнике. Один из способов решения - использовать счетный семафор в прерывании - хотя бы точно будет известно, сколько событий было. Конечно, не Alex B.(38 знак., 15.04.2009 13:03)
- А может, это ближе к конкретному случаю, чем к общему? Например, если либа попадётся нереентерабельная, то и вытеснение может не спасти. Vit(305 знак., 15.04.2009 13:17)
- дык общий случай - это непредсказуемая задержка между возникновением прерывания и запуском задачи (пусть и наиболее приоритетной), которая его ждет Alex B.(160 знак., 15.04.2009 13:27)
- ..вот ты здесь мучаешься, а некий бакалавр "готов рассказать про построение ОС реального времени с гарантированным откликом" -=> blackbit(104 знак., 19.04.2009 19:02, ссылка)
- да я не мучаюсь - я хотел просто спросить, кто и что по этому поводу думает - Alex B.(20.04.2009 09:38)
- ..вот что думаю: blackbit(257 знак., 21.04.2009 01:11)
- да эт все понятно... хотелось обсудить именно такой подход к планированию в обработчике прерываний - Alex B.(21.04.2009 09:51)
- ..вот что думаю: blackbit(257 знак., 21.04.2009 01:11)
- да я не мучаюсь - я хотел просто спросить, кто и что по этому поводу думает - Alex B.(20.04.2009 09:38)
- У меня пока не было задач с требованием фиксированной задержки. Требования к минимизации критичных ко времени частей были и есть, но так же есть разные масштабы времени и, соответственно, есть очень разные требования к отклику. Поэтому бывает, что Vit(115 знак., 15.04.2009 13:45)
- ..вот ты здесь мучаешься, а некий бакалавр "готов рассказать про построение ОС реального времени с гарантированным откликом" -=> blackbit(104 знак., 19.04.2009 19:02, ссылка)
- дык общий случай - это непредсказуемая задержка между возникновением прерывания и запуском задачи (пусть и наиболее приоритетной), которая его ждет Alex B.(160 знак., 15.04.2009 13:27)
- А может, это ближе к конкретному случаю, чем к общему? Например, если либа попадётся нереентерабельная, то и вытеснение может не спасти. Vit(305 знак., 15.04.2009 13:17)
- ну, нарезать не всегда получается. например, если используется библиотечная функция или сторонняя либа в объектнике. Один из способов решения - использовать счетный семафор в прерывании - хотя бы точно будет известно, сколько событий было. Конечно, не Alex B.(38 знак., 15.04.2009 13:03)
- Примерно понял. Получается, что я нарезать уже привык;) благо есть несколько механизмов удобных - Vit(15.04.2009 12:54)
- хм, дак вы наверное и так их знаете эти недостатки Alex B.(97 знак., 15.04.2009 12:30)
- Например, есть задачи: поддержки протокола обмена, расчета отклика ЦФ. amusin(268 знак., 15.04.2009 12:44)
- Т.е. не когда запретили программно все прерывания, а когда программно запретили те, которые могут переключить контекст или когда выполняется более приоритетная секция, т.е. все менее приоритетные запрещены аппаратно. Или есть ещё варианты? Эти Vit(470 знак., 15.04.2009 12:03)
- Зачем вводить двусмысленность? Запрет прерываний и запрет перепланирования - не одно и то же. amusin(135 знак., 15.04.2009 10:14)
- Порылся в линках от Евгения - и возник вопрос - где почитать о недостатках кооперативного планирования? И хотелось бы узнать мнения ув. All. Vit(172 знак., 15.04.2009 12:24, ссылка)
- критическими секциями будем называть те моменты времени, в которых запрещены такие прерывания, которые могут переключить контекст (в которых вызываются сервисы) - Alex B.(15.04.2009 10:01)
- Хммм, а нет ли где примера реализации? А то я что-то не догоняю, как это можно сделать. Прерывания ведь на то и прерывания, чтобы прерывать задачи. Что-то тут попахивает кооперативностью а не вытесняемостью. - =AlexD=(15.04.2009 06:41)
- У меня в стартовом посте ссылка не очень заметна на статью. Вот она Alex B.(167 знак., 15.04.2009 09:59, ссылка)
- Сноску увидел - Q-Kernel Cooperative Scheduling is based on Light Weight Threads or Fibers - почитаю - Vit(15.04.2009 08:25, ссылка)
- это совсем другое, просто названия похожие - Alex B.(15.04.2009 09:56)
- Ладно, непонятно выразился. Прошу прощения. Потом как-нибудь объясню. - Evgeny_CD(15.04.2009 01:52)
- Ну и теперь "задача на засыпку" - придумать удобный для программера способ работы с этими виртуальными объектами. - Evgeny_CD(15.04.2009 01:48)
- вы либо издеваетесь, либо не понимаете. Alex B.(568 знак., 15.04.2009 01:50)
- На самом деле все в конечном итоге сводится к понятию некого "виртуального объекта" Вот там у нас уже была дискуссия -> А вот там --> ссылка на TinyTimber, которую дал Vit. А также к обсуждавшейся недавно идее организации FSM чрез макросы и т.д. Evgeny_CD(540 знак., 15.04.2009 01:41, ссылка, ссылка)
- Ок. Кстати, есть целая книга на тему "Coroutines: A Programming Methodology, a Language Design and an Implementation" -> - Evgeny_CD(15.04.2009 01:20, ссылка)
- не. Я там выше пояснил. Основная фишка не в этом, кооперативную надстройку сейчас многие имеют. - Alex B.(15.04.2009 01:18, ссылка)