Цитата(dsp4us @ Aug 14 2008, 12:51)

Переключение процессов осуществляется по программному прерыванию - естественно в критической секции где мы запоминаем маску разрешенных прерываний и отключаем их, в новом процесс - востанавливаем маску их стека этого нового процесса и т.д. Все замечательно. Но что происходит когда в контексте какого либо процесса какое либо прерывание глобально маскируется или наоборот разрешается - в этом случае в контексте другого процесса об этом никто не знает и все сбрасывается в первоначальное состояние?! Тоесть олучается при нашей реализации мы можем изменять прерывания только в контексте процессов а не глобально. Что не есть хорошо. Кто то может меня просвятить на зту тему - как в принцыпе в scmRTOS можно управлять прерываниями глобально и возможно ли это в других портах на других процессорах?
В критической секции должны запрещаться только прерывания глобально, не затрагивая ресурсы управления индивидуальными прерываниями. Либо использовать иной способ исключить возможность перепланировки и изменения совместно используемых ресурсов ОС (запрещение прерываний - наиболее простой способ). Тогда все должно работать правильно.
Цитата(dsp4us @ Aug 14 2008, 12:51)

И еще небольшое замечание/просьба для тех кто поддерживает веб сайт scmRTOS - сайт на английском но когда кликаешь на линк документации вываливает описание на русском языке. Английская версия там тоже есть но нужно изголяться и шарить ручками. Я думаю это займет всго лишь 5 минут добавить/исправить линк в тексте - все мои коллеги кому я давал ссылки на эту ОС по русски не говорят.
Поправлено.
«Отыщи всему начало, и ты многое поймёшь» К. Прутков