Принцип действия многозадачных систем реального времени
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ДМ 22 января 2004 г. 00:04

Кто расскажет или даст ссылку про то, как работает, к примеру, Windows. Как проивзодится передача управления от одного приложения к другому, в том смысле, что любая многозадачная система на одном процессоре – это псевдомногозадачная система, так как в течении некоторого промежутка времени процессор занят выполнением только одной задачи. К примеру, если на Delphi делаешь Delay(x), то это значит, что процессор время X не передает управление этому приложению, или это не так? Как производится сохранение контекста? Сохранить регистры дело не хитрое, а вот как дело происходит со стеком? К примеру, одно приложение вызвало процедуру, и тут же у него отобрали управление, и передали другому процессу, который собирался возвращаться из процедуры, то из стека будет извлечен чужой адрес возврата. Или стеков делают по числу процессов?
Сейчас колдую над своей операционкой для AVR. Не претендую на то, что сделаю самую лучшую, однако те, что мне попадались – совсем не то, что я хотел бы получить. Нигде не видел возможности «замораживать» или прерывать процесс. Может быть, у кого-нибудь, есть соображения на этот счет.

Спасибо!

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru