[an error occurred while processing this directive]
Ответ: не путай вытесняющее ядро и защиту памяти. Иногда они работают вместе, и только
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Валерьевич
02 апреля 2003 г. 11:08
В ответ на:
не, ну я просто не понимаю, с чего вы все взяли что вытесняющая "лучше" ? Или очень хочется с нарушениями доступа потрахаться ? Особенно если писать в стиле "на С, но чтоб все глобально - как на асме" ? Ничего личного конечно...
отправлено DASM 02 апреля 2003 г. 10:55
Составить ответ
|||
Конференция
|||
Архив
Ответы
да не про защиту памяти я, просто при программировании под вытесн. надо заранее запастись терпением под все эти InterLockedDecrement и EnterCriticalSection. Что не всегда просто. И чаще даже и не нужно. Во всяком случае товарищу :-)
—
DASM
(02.04.2003 11:15,
пустое
)
Ответ: А зачем OS_ENTER_CRITICAL? У uCOS2 для обеспечения эксклюзивного доступа к объектам есть мьютексы и семафоры... а вот что делать в сальве, если нужно обеспечить гарантированную реакцию в течение 0,xxx сек на событие, если сейчас процессор заняла на 1...2 часа второстепенная задача???
—
SOIC
(02.04.2003 11:38,
пустое
,
ссылка
)
Ответ: Вытесняющее ядро лучше тем, что у него вполне известное заранее время реагирования на внешние события
—
Валерьевич
(02.04.2003 11:23,
пустое
)
Не могу придумать, где бы это могло пригодиться в моих программах. Например: у меня опрашивается АЦП каждую мс, сразу сохраняем выборку в прерывании, важно чтобы к следующему опросу результат был посчитан. И не нужно мне обсчитывать результат сразу - от выборки до выборки много времени. Что вытесняющая, что невытесняющая работать будут одинаково в моем случае. В результате - для меня вытесняющая намного хуже по всем позициям.
—
M_S_P
(02.04.2003 13:13,
пустое
)
Ответ: это тебе пригодится в любом коммерческом проекте... Применительно к твоей задаче - если ты ничего не делаешь кроме чтения АЦП и расчета, то многозадачность тут действительно не нужна, ОДНАКО СИТУАЦИЯ МЕНЯЕТСЯ КОРЕННЫМ ОБРАЗОМ ЕСЛИ ТЕБЕ КРОМЕ ЭТОГО НУЖНО ДЕЛАТЬ ЕЩЕ ЧТО-ЛИБО, НАПРИМЕР ОТВЕЧАТЬ НА ЗАПРОСЫ ПО RS232...(+)
—
SOIC
(02.04.2003 14:01, 1139 байт)
Нда-а-а, пример показательный - ничего не скажешь...
—
mse
(02.04.2003 14:47, 238 байт)
Ответ: Дело не во вводе/выводе, он может быть и быстрым, а в том что если есть другие задачи, то чтобы они не отнимали процессор у основной задачи нужно придумывать гемор (расставлять по коду длительной задачи вызовы к разбитой на части основной задаче, высчитывать сколько времени выполняется участок кода, и т.д.)... работать то может и будет (если очень сильно постараться и иметь хороший опыт), но зачем весь этот гемор, если все это решается с помощью uCOS - легко, красиво и что самое главное переносимо и платформонезависимо - не нужно высчитывать время выполнения кусков кода (uCOS сам прервет задачу в нужное время), ломать голову с максимальной скоростью обработки прерывания (в uCOS просто освободил семафор и делов...), мучаться с расстановкой битов разрешения прерываний в зависимости от приоритета и потом бояться что какое-либо прерывание не обработается (в uCOS прерывания почти все время разрешены, запрещаются на очень короткий период...). Так что нужен uCOS или лучше с сальвой гемор зарабатывать?
—
SOIC
(02.04.2003 15:30,
пустое
)
Ты ж пойми тяжело читать синий текст на белом фоне. Я не читаю, извини :-(
—
abivan
(02.04.2003 15:44,
пустое
)
ну читай так...
—
SOIC
(02.04.2003 21:29, 1035 байт)
Братан, завязывай, а? Ей-богу утомил (-)
—
Анатоль
(02.04.2003 15:33,
пустое
)
Нда-а-а, пример показательный - ничего не скажешь...
—
mse
(02.04.2003 14:39, 238 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru