ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1218898 Топик полностью
Cкpипaч, пророк (28.06.2022 09:26, просмотров: 452) ответил Dingo на Два вопроса за раз хочу спросить, смежные в каком-то смысле: 1) есть литература или цикл статей может, по которым можно навести порядок в голове и/или научиться проектировать программы? Что-то по методологии. 2) какие ОСи умеют в прерывании дёрнуть планировщик? Появились новые данные для задачи, надо быстро отдать ей управление, а не ждать хх миллисекунд до дежурного переключения. Скорей всего на такие вещи задача "подписывается", семафор взводит или ещё как-то обозначает
Литература - рекомендую классику. "Алгоритмы + Программы" Н.Вирт, "Жемчужены творчества программистов" Д.Бентли. Но есть проблема - методологии не просто "развиваются", они развиваются диалектически (отрицание отрицания) 

В этом смысле, "Объектно-ориентированный анализ и проектирование с примерами приложений на C++" Г.Буч

и "Паттерны программирования" следует понимать не как революцию а как сомнительные выбрыки молодежи.


Кроме того, "настоящее программирование" обычно идет поверх какого-нибудь толстого фреймворка.

Там есть дополнительные пожелания/ограничания по структуре программ.

Даже если вы пишите bare metal есть смысл о них узнать и примерно придерживаться.


По второму вопросу:

Вопрос ставится с другой стороны - задача, которая ждет чего-либо, сначала должна объяснить ОС

чего именно она ждет.

Как вариант, она может ждать новых данных в файле (или устройстве, отображенном на userspace в виде файла).

Это select на файловых дискрипторах (в мире Unix).

Есть механизмы и для более "адресного" взаимодействия. Мейлбоксы, сигналы и т.п.

Дальше - нужно смотреть что именно в вашей оси есть.

... но не любой ценой.