-
- Кооперативная многозадачность позволяет делать то же самое, только
там всё проще. Нет проблем с "реентерабельностью", синхронизацией
потоков. Да, нужно вставлять yield() в циклы длительных ожиданий,
но таких мест мало, это совсем не сложно. - SciFi(12.08.2025 22:21)
- Кооперативная многозадачность не позволяет блокировать
низкоприоритетные задачи в пользу высокоприоритетных. В простых
проектах так и делаю. Но в конкретном, суммарная нагрузка по
запросам внешних интерфейсов - непредсказуема. И будут расставлены
приоритеты. Потому нужна вытесняющая ОС. - Nikolay_Po(14.08.2025 09:30)
- это, IMNHO, натягивание совы на глобус. приоритеты задач должны
быть разными аж в "дешёвых" реализациях вытеснения. разделяемый
ресурс - бич ограниченности подхода. вместо демонов-спулеров опять
используется парадигма приоритетности как простейшего способа
решения, который к оптимальности имеет далёкое отношение. благо в
той же FreeRTOS можно от этой разноприоритетности задач отказаться
по сути (ну разве что idle ниже). приоритет доступа к ресурсу это
дисциплина конкретного Vit(1151 знак., 14.08.2025 11:16)
- Непонятно, что вы хотите сказать? В чём меня упрекаете (по тону)? Nikolay_Po(440 знак., 14.08.2025 13:49)
- вы заявили, что кооперативная многозадачность чего-то (рулить приоритетами) не может. не согласен, хотя действительно часто да - не может, ибо нет необходимости. далее приоритеты нужны для руления при повышенной загрузке - смешиваете приоритеты задач и приоритеты доступа к ресурсу, а заодно базовый вопрос время-память. считаю, что утверждение о том, что руление приоритетами задач решает вопрос руления приоритетами доступа к ресурсу, заблуждением. и вообще наличие разных Vit(885 знак., 14.08.2025 14:41)
- Непонятно, что вы хотите сказать? В чём меня упрекаете (по тону)? Nikolay_Po(440 знак., 14.08.2025 13:49)
- это, IMNHO, натягивание совы на глобус. приоритеты задач должны
быть разными аж в "дешёвых" реализациях вытеснения. разделяемый
ресурс - бич ограниченности подхода. вместо демонов-спулеров опять
используется парадигма приоритетности как простейшего способа
решения, который к оптимальности имеет далёкое отношение. благо в
той же FreeRTOS можно от этой разноприоритетности задач отказаться
по сути (ну разве что idle ниже). приоритет доступа к ресурсу это
дисциплина конкретного Vit(1151 знак., 14.08.2025 11:16)
- Кооперативная многозадачность не позволяет блокировать
низкоприоритетные задачи в пользу высокоприоритетных. В простых
проектах так и делаю. Но в конкретном, суммарная нагрузка по
запросам внешних интерфейсов - непредсказуема. И будут расставлены
приоритеты. Потому нужна вытесняющая ОС. - Nikolay_Po(14.08.2025 09:30)
- Можно было сэкономить время и деньги, элементарно добавив туда
одноплатник с полноценным линуксом в качестве сетевой компоненты (и
тех же threads). А на МК делать то, что не умеет одноплатник. Eddy_Em(88 знак., 12.08.2025 22:11)
- Вот как раз с такими я и конкурирую. - Nikolay_Po(12.08.2025 22:34)
- Бесполезно. У них значительно ниже будет себестоимость (если, конечно, это - не opensource). - Eddy_Em(12.08.2025 22:37)
- Вот как раз с такими я и конкурирую. - Nikolay_Po(12.08.2025 22:34)
- Кооперативная многозадачность позволяет делать то же самое, только
там всё проще. Нет проблем с "реентерабельностью", синхронизацией
потоков. Да, нужно вставлять yield() в циклы длительных ожиданий,
но таких мест мало, это совсем не сложно. - SciFi(12.08.2025 22:21)