Активный объект (ОС Symbian) - Active object (Symbian OS)

An каркас активного объекта это Перезвоните -основная форма многозадачность для компьютерных систем. В частности, это форма совместная многозадачность и является важной особенностью Symbian Операционная система.

В рамках активных объекты может делать запросы асинхронный услуги (например, отправка SMS сообщение). Когда выполняется асинхронный запрос, управление немедленно возвращается вызывающему объекту (т. Е. Без ожидания завершения вызова). Вызывающий может выбрать другие действия, прежде чем он вернет управление операционной системе, которая обычно планирует другие задачи или переводит машину в спящий режим. Когда он делает запрос, вызывающий объект включает ссылку на себя.

Когда асинхронная задача завершится, Операционная система определяет нить содержащий запрашивающий активный объект, и будит его. «Активный планировщик» в потоке идентифицирует объект, который сделал запрос, и передает управление обратно этому объекту.

Реализация активных объектов в Symbian основан на каждом потоке, имеющем "запрос семафор ". Он увеличивается, когда поток выполняет асинхронный запрос, и уменьшается, когда запрос завершен. Когда нет ожидающих запросов, поток переводится в спящий режим.

На практике в потоке может быть много активных объектов, каждый из которых выполняет свою задачу. Они могут взаимодействовать, запрашивая вещи друг у друга и у активных объектов в других потоках. Они могут даже требовать чего-то от себя.

Это реализация очень старой идеи, которая была разработана для обработки программных сбоев в 70-х годах. Операционная система действовала как первый объект, а периферийное устройство - как второй.

внешняя ссылка