Evgeny_CDАрхитектор (14.01.2009 13:58, просмотров: 5142)
К вопросу о статических и данамических ОСях. Навеяно -> http://caxapa.ru/144477.html
Есть оси универсальные. Лялихи и пр. Они по дефолту должны обслужить х.з. что и х.з. в каком количестве. Все данамическое.
Есть большой подкласс embedded осей. В которых все статично: число потоков, семафоров, мбоксов и пр. Почему бы не сделать так:
* юзер пишет код, и для обращения к сервисам ОСи использует некие протофункции.
* конфигуратор ОСи сканирует файлы проекта, вычисляет, сколько там потоков семафоров и пр, делит память, все, что можно в константы, и потом генерирует код вместо этих протофункций для использования сервисов ОСи. При этом автоматически используются вычисленные константы и пр.
На мой взгляд, это даст большую экономию всех ресурсов:
* RAM - многое переедет во FLASH
* быстродействие - вместо поиска по каким-то таблицам и манипуляций с указателями будет обращение по константным адресам
* экономия за счет разрядности указателей. Например, если у меня в мбоксе или кольцевом буфере максимум 256 байт - некоторые указатели можно 8 битными сделать. И распихать их по регистрам. Сильно ускорится, хотя не всегда даст экономию памяти.
* надежности - все будет проанализировано на этапе компиляции
Почему обычно ОСи так не делают?