Цитата(Andrew2000 @ Apr 10 2005, 10:49)
Цитата(xyzzy @ Apr 10 2005, 11:50)
Минусы:
* не без глюков.
В общем и целом - ничего особенного. Я бы все-же выбрал vxworks перед нуклеусом 9 раз из 10.
Можно вопросы:
1. где и вчем были глюки (кратко) - очень интересно
2. Про vxworks/Nucleus - обоснуйте, пожалуйста.
(может я не прав, но, кажется, vxworks без исходников продается, да и платформ поддерживает меньше)
Глюки были (еще раз повторюсь - давно это было, могу и наврать сейчас) с восстановлением уровней прерывания на MIPS. Если мне память не изменяет, глюк был в том, что если какой-то тред замаскировал какие-то прерывания, а после этого произошло незамаскированное прерывание, то по возврату в прерванный тред, те прерывания, что были замаскированы оказывались размаскированы. Если происходило прерывание, которое должно было быть замаскировано, то иногда данные превращались в мусор и что-нибудь рушилось через какое-то время в каком-нибудь совершенно произвольном месте.

Гонялись мы за этим довольно долго, ибо происходил глюк весьма нечасто.. и почему-то в основном у клиентов..
Как бы то ни было, после 10 лет с нуклеусом, следующий большой проект был сделан без него. Врочем, и без vxWorksю
А насчет vxworks vs. nucleus - я сильно против нуклеуса ничего не имею. Было пару напрягающих моментов, ну а где их нет? Например, меня нуклеус своим API напрягал, в то время как vxworks довольно близок к POSIX.
Исходники к vxWorks продаются и покупаются, но если ты не собираешься ставить по копии на миллион девайсов в час, то это выходит довольно дорого.
Платформ vxWorks поддерживает много, но это, скорее, теоретический фактор. Главное - чтоб поддерживал, ту, что надо.
Впрочем, vxworks тоже не сахар. Пожалуй с 9 из 10 в пользу vxworks я погорячился. Скажем, из 10 раз, я бы выбрал:
1 раз нуклеус
3 раза vxworks
6 раз что-нибудь другое (линух, NetBSD, etc)
--xyzzy