Ответ: вот, я об этом же. И как построить операционку с вытесняющей многозадачкой для АВР-ов? Объясните, бо непонимаю.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
vi
22 января 2004 г. 13:24
В ответ на:
Тогда, конечно, ошибочка. Но если задача запретит прерывания - возвращаемся к кооперации - управление может быть передано только по её желанию..
отправлено Dr.Alex 22 января 2004 г. 13:19
Составить ответ
|||
Конференция
|||
Архив
Ответы
Для начала прожечь бит 7 в SREG в 1 навечно
—
Codavr
(22.01.2004 13:32,
пустое
)
Это уже в разных плоскостях лежит.. Если задачи могут переключаться неожиданно для них самих - значит, вытесняющая, а то что задача может изменить настройки операционки (прерывания, таймер), то это проблема железа..
—
Dr.Alex
(22.01.2004 13:32,
пустое
)
в ОС проблему железа поручили драйверам
—
DSN
(22.01.2004 14:12, 188 байт)
Здесь речь идёт лишь о принципиальной возможности приложения завесить операционку..
—
Dr.Alex
(22.01.2004 14:19,
пустое
)
Ответ: так можно для АВР-ов написать какой-то менеджер задач (назовем его операционной системой), который будет переключать задачи неожиданно для них самих?
—
vi
(22.01.2004 13:38,
пустое
)
Ответ: По прерыванию от системного таймера диспетчер задач сохраняет контекст и извлеченный из стека адрес возврата, потом помещяет в регистры нужный контекст, а стек помещяет нужный адрес возврат. По команде RETI управление возвращается уже в другое приложение
—
ДМ
(22.01.2004 13:52,
пустое
)
Тут не об этом речь идёт..
—
Dr.Alex
(22.01.2004 13:55,
пустое
)
Ну конечно, полно же вытясняющих операционок, только задачи должны использовать соглашение - не запрещать прерывания надолго, не портить чужую память, короче, не совать голову в пасть Большому Головоеду© и т.д.
—
Dr.Alex
(22.01.2004 13:41,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru