Цитата(bmf @ Jun 11 2005, 15:22)
А если реализовывать по честному семафоры (как в той же uCos) - то придется уже вести их дополнительный список и просматривать его при каждом изменеии состояния задачи.
А что значит "по-честному"? В чем состоит "честность"? Весь этот учет нужен для реализации инверсии приоритетов. Может они где и нужны, но не на MSP430 и не на AVR. scmRTOS ориентирована на эти МК - и вообще на однокристальные МК, где мало ОЗУ. Не нужна там эта ИП - небесплатно она дается. Если uCOS претендует на толстые процы с толстыми задачами, где это надо, то пожалуйста, я не оспариваю необходимости этого свойства в той нише. Но в этой нише сия фича выполняет роль грузила.
Цитата(bmf @ Jun 11 2005, 15:22)
Размер и сложность OC вырастет раза в два. После этогo smcRTOS - более правильно называть просто диспетчер с некоторыми фунциями API, пригодный для академических целях или когда уже деваться некуда из-за скудности ресурсов, но здесь уже как правило есть и другие альтернативы.
Называйте, как Вам угодно - от этого абсолютно ничего не меняется. scmRTOS очень похожа на uCOS - та же идеология, те же принципы. Реализация другая, оптимизированная под свою нишу.
Что касается "академичности", то вот возьмите-ка да и примените-ка uCOS на своей меге8. И расскажите после этого, как оно там легло. И для сравнения проделайте то же самое с scmRTOS. И сравните. По размеру кода, по требованиям к ОЗУ, по временам передачи управления/реакции на события. Интересно будет узнать, как Вам понравилось остутствие поддержки раздельных стеков для данных и адресов возвратов в uCOS. Может после этого у Вас возникнут мысли и о практичности. Мега8, кстати, уже не такой скудный МК - там целый килобайт ОЗУ!
«Отыщи всему начало, и ты многое поймёшь» К. Прутков