EKA2 ( EPOC Kernel Architecture 2 ) es el núcleo del sistema operativo en tiempo real de segunda generación de la plataforma Symbian , [ 1 ] que se originó en el sistema operativo anterior EPOC .
EKA2 comenzó con una licencia de software propietaria . En octubre de 2009, se lanzó como software libre y de código abierto bajo una licencia pública de Eclipse . [ 2 ] En abril de 2011, se volvió a una licencia propietaria.
Al igual que su predecesor, EKA1 , cuenta con multihilo preventivo y protección total de la memoria. Las principales diferencias son:
- Garantías en tiempo real : cada llamada a la interfaz de programación de aplicaciones ( API ) es rápida, pero, lo que es más importante, está limitada en el tiempo.
- Múltiples hilos dentro del núcleo y fuera de él.
- Modelos de memoria conectables , que permiten una mejor compatibilidad con las generaciones posteriores de la arquitectura del conjunto de instrucciones ARM .
- Un nanokernel que proporciona las funcionalidades más básicas del sistema operativo sobre las cuales se pueden construir otras capas de personalidad.
La interfaz de usuario de EKA2 es casi totalmente compatible con EKA1. EKA1 dejó de utilizarse después de la versión 8.1 del sistema operativo Symbian y fue reemplazada en 2005.
La principal ventaja de EKA2 radicaba en su capacidad para ejecutar pilas de protocolos de señalización telefónica completas . Anteriormente, en los teléfonos Symbian, estas debían ejecutarse en una unidad central de procesamiento (CPU) independiente. Dichas pilas de señalización son muy complejas y, por lo general, reescribirlas para que funcionen de forma nativa en Symbian OS no es una opción viable. Por lo tanto, EKA2 permite que las capas de personalidad emulen las primitivas básicas de otros sistemas operativos, lo que permite que las pilas de señalización existentes se ejecuten prácticamente sin cambios.
Las garantías de tiempo real son un requisito previo para las pilas de señalización y también son útiles para las tareas multimedia. Sin embargo, como en cualquier sistema operativo en tiempo real, se necesita un análisis completo de todos los hilos antes de poder ofrecer garantías de tiempo real a cualquier hilo que no sea el de mayor prioridad; ya que los hilos de mayor prioridad pueden impedir la ejecución de los de menor prioridad. Cualquier tarea multimedia probablemente involucre gráficos, almacenamiento y/o actividad de red, todos los cuales tienen más probabilidades de interrumpir la transmisión que el propio núcleo.
Dentro del núcleo, EKA1 solo permitía un hilo (más un hilo inactivo nulo ). EKA2 permite muchos hilos. Esto facilita enormemente la escritura de controladores de dispositivos que involucran máquinas de estados finitos complejas , como las de las tarjetas de memoria SD o las unidades flash USB . Las interrupciones se gestionan mediante una rutina de servicio de interrupción , que puede solicitar una llamada a función diferida inmediata (que se ejecuta tan pronto como se procesan las interrupciones) o una llamada a función diferida , que se pone en cola para ejecutarse en un hilo del núcleo. Cualquiera de ellas puede, a su vez, comunicarse con los hilos del lado del usuario.
La gestión de energía en EKA2 se mantuvo prácticamente sin cambios con respecto a EKA1. El esquema exacto varía entre los teléfonos, pero generalmente el hilo nulo pone en modo de suspensión la CPU y los periféricos , después de haber solicitado que se activen cuando el siguiente temporizador esté a punto de expirar.
EKA2 funciona en procesadores con arquitectura ARM y en el emulador WINS . Existen versiones no oficiales para otros procesadores. En el emulador, EKA2 ofrece una emulación algo mejor que EKA1, sobre todo en lo que respecta a las RProcessAPI que utiliza Symbian OS para representar procesos . En EKA1, estas API no funcionaban en absoluto en el emulador, que se ejecuta como un único proceso de Windows.
Gran parte del mérito de EKA2 se debe a un único ingeniero del núcleo de Symbian, quien comenzó el proyecto como un experimento muchos años antes de que se convirtiera en una parte oficial del sistema operativo Symbian. [ 3 ]
Véase también
Referencias
- ↑ "Symbian OS Internals" . Archivado del original el 21/01/2011 . Consultado el 04/05/2011 .
- ↑ Blandford, Rafe (22 de octubre de 2009). "La Fundación Symbian libera el microkernel EKA2 como código abierto" . Todo sobre Symbian . Fundación Symbian.
- ↑ Dennis May - Reino Unido | LinkedIn . Uk.linkedin.com. Consultado el 09/12/2013.
Enlaces externos
- https://web.archive.org/web/20091025051019/http://developer.symbian.org/wiki/index.php/Category%3AKernel_%26_Hardware_Services
- https://web.archive.org/web/20090717151501/http://wiki.forum.nokia.com/index.php/EPOC_Kernel_Architecture_2
- http://media.wiley.com/product_data/excerpt/47/04700252/0470025247.pdf
- Sistema operativo Symbian
- núcleos de sistemas operativos
- Nanonúcleos
- Software de 2005