-
- походу, тему настолько уже изъездили вдоль и поперёк, что особо ничего кроме вытесняющей многозадачности и не предлагается на рынке. все эти CTLи, FreeRTOSы, uCOSы, eCOSы и иже с ними - одной жопы ягодицы. - Mahagam(22.10.2019 14:16)
- Какая вообще связь многопоточности и автоматного программирования? Одно не является противопоставлением другому, для начала. Система автоматов может существовать и в многопоточной системе, равно как и классический говнокод в однозадачной системе. fk0(352 знак., 23.10.2019 00:19)
- я не в курсе много чего. с теоретической подготовкой у меня плоховато, к сожалению. и я даже не представляю, как написать многоавтоматную программу с требованиями реалтаймовости без использования вытесняющей многозадачности. зато с этой самой Mahagam(387 знак., 23.10.2019 01:21)
- Я научу :) В прерывание по таймеру (и/или основной цикл) ... дальше продолжать? ... , включаются функции сервиса каждого автомата, в которой анализируются входные данные и принимается решение о смене состояния автомата и управлении другими VLLV(229 знак., 23.10.2019 03:29)
- а если внутри сервиса - тоооолстое вычисление? постоянно думать "а не пролюблю ли я прерывание?". или как? - Mahagam(23.10.2019 12:52)
- Если ОДНО толстое вычисление, то оно ставится в основной цикл. Тема двух и более долгоиграющих вычислений уже раскрыта выше. - VLLV(23.10.2019 13:52)
- а почему прерывание можно пролюбить ? если при вычислении пришло прерывание, зашли в него, поставили в очередь задачу на обработку и пошли дальше считать, по завершению вычислений обработали прерывание. Это если тайминг отработки прерывания не Aleksey_75(69 знак., 23.10.2019 13:02)
- получается кооперативная переключалка с отложенными вычислениями. это пишется более сложно, чем вытесняющая многозадачность. - Mahagam(23.10.2019 13:05)
- да гдеж сложность то ? у меня такая переключалка (хоть по таймеру, хоть по завершению предведущей задачи) занимает ~200 строк кода с бооольшими отступами (люблю я так на код смотреть))) - Aleksey_75(23.10.2019 13:07)
- Буря в стакане. Большинство задач достаточно тривиальны, их можно решить множеством разных способов, кто как привык. Если задача нетривиальна, можно подбирать более удобный инструмент. Обобщения тут не очень уместны, КМК. - SciFi(23.10.2019 13:07)
- получается кооперативная переключалка с отложенными вычислениями. это пишется более сложно, чем вытесняющая многозадачность. - Mahagam(23.10.2019 13:05)
- Это разве не кооперативный планировщик называется? - ant333(23.10.2019 07:33)
- Это классический биглуп :) - Ruslan(23.10.2019 10:57)
- Без переключения контекста? Не знаю, но это точно не RTOS - VLLV(23.10.2019 09:08)
- а если внутри сервиса - тоооолстое вычисление? постоянно думать "а не пролюблю ли я прерывание?". или как? - Mahagam(23.10.2019 12:52)
- Я научу :) В прерывание по таймеру (и/или основной цикл) ... дальше продолжать? ... , включаются функции сервиса каждого автомата, в которой анализируются входные данные и принимается решение о смене состояния автомата и управлении другими VLLV(229 знак., 23.10.2019 03:29)
- я не в курсе много чего. с теоретической подготовкой у меня плоховато, к сожалению. и я даже не представляю, как написать многоавтоматную программу с требованиями реалтаймовости без использования вытесняющей многозадачности. зато с этой самой Mahagam(387 знак., 23.10.2019 01:21)
- Какая вообще связь многопоточности и автоматного программирования? Одно не является противопоставлением другому, для начала. Система автоматов может существовать и в многопоточной системе, равно как и классический говнокод в однозадачной системе. fk0(352 знак., 23.10.2019 00:19)
- походу, тему настолько уже изъездили вдоль и поперёк, что особо ничего кроме вытесняющей многозадачности и не предлагается на рынке. все эти CTLи, FreeRTOSы, uCOSы, eCOSы и иже с ними - одной жопы ягодицы. - Mahagam(22.10.2019 14:16)