Un marco de objeto activo es una forma de multitarea basada en devolución de llamada para sistemas informáticos. Específicamente, es una forma de multitarea cooperativa y es una característica importante del sistema operativo Symbian .
Dentro del marco, los objetos activos pueden realizar solicitudes de servicios asincrónicos (por ejemplo, enviar un mensaje SMS ). Cuando se realiza una solicitud asincrónica, el control se devuelve al objeto que llama inmediatamente (es decir, sin esperar a que se complete la llamada). La persona que llama puede optar por hacer otras cosas antes de devolver el control al sistema operativo, que normalmente programa otras tareas o pone la máquina en suspensión. Cuando realiza la solicitud, el objeto que realiza la llamada incluye una referencia a sí mismo.
Cuando se completa la tarea asincrónica, el sistema operativo identifica el subproceso que contiene el objeto activo solicitante y lo activa. Un "planificador activo" en el hilo identifica el objeto que hizo la solicitud y devuelve el control a ese objeto.
La implementación de objetos activos en Symbian se basa en que cada hilo tenga un " semáforo de solicitud ". Esto se incrementa cuando un subproceso realiza una solicitud asincrónica y se reduce cuando se completa la solicitud. Cuando no hay solicitudes pendientes, el hilo se pone en suspensión.
En la práctica, puede haber muchos objetos activos en un hilo, cada uno haciendo su propia tarea. Pueden interactuar solicitando cosas entre sí y de objetos activos en otros hilos. Incluso pueden solicitarse cosas a sí mismos.
Esta es una implementación de una idea muy antigua que se desarrolló para manejar las interrupciones de software en los años 70. El sistema operativo actuaba como el primer objeto y el periférico como el segundo.
enlaces externos
- developer.symbian.org