ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
26 марта
1504071 Топик полностью
Adept (07.03.2025 01:36, просмотров: 179) ответил Adept на решил накропать сегодня более-менее гибкое ядро многозадачной среды (а то старое, где многое "прибито гвоздями" поднадоело уже :)) Какие неочевидные и полезные идеи есть у сообщества :)
.... и никто не спросит даже, а как я собрался совмещать кооперативную и вытесняющую многозадачность :)) 

Вообще казалось бы делай вытесняющую, и хрен бы с ней, но однако ж не всё так просто. Есть задачи, которые просто не нужно и даже вредно исполнять в "реалтайме", чтобы не отнимать машинное время у действительно полезных, реакция на которые должна быть быстрая. К примеру процедура контроля состояния батареи или бортпитания, температуры, или иных медленно меняющихся процессов вполне себе не требует спешки, и вполне может исполняться в порядке очереди кооперативной многозадачности.

а потому планирую сделать во втором слое системных таймеров (те, которые от 10mS), не только второстепенные драйверы железа и часики, но и посадить туда менеджер кооперативной многозадачности, отдав "быстрый" (1mS. или даже более быстрый) таймер под вытесняющую.

...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)