Цитата(paskal @ Mar 4 2012, 21:34)

Ну не скажите. ОС для ПК и ОС для микроконтроллера - две большие разницы.
Вот на ПК действительно не надо обращаться ни к чему на низком уровне.
А в микроконтроллерных ОС (насколько я понял из чтения мануалов) UARTы, EEPROMы и прочая периферия программируются непосредственно без всякой прослойки, к сожалению.
Как выше уже отмечалось, основная "вкусность" от использования ОС в контроллерах - возможность относительно легко организовать псевдомногопоточность. Ос фактически выполняет роль планировщика задач, т.е. передает управление тем или иным частям программы (задачам) при возникновении определенных событий или по временным интервалам. Это избавляет от необходимости самому реализовывать, например if'ами или switch'ами, проверку установки флагов или статусных переменных и т.п. для перехода к выполнению зависимых действий.
Как правило, ОС на контроллерах сама не работает с периферией (кроме той, что нужна самой ОС, например таймер). С периферией все равно работает пользовательский код.
По-моему, во-первых номенклатура контроллеров и периферии в них слишком большая, чтоб пихать поддержку ее в ОС, во-вторых, все же ресурсы ограничены, чтоб вводить еще один уровень драйверов. Да и не нужно это чаще всего. В каждой задаче своя специфика и всего все равно не учтешь.