Traductor

martes, 9 de agosto de 2016

SYMBIAN OS

Symbian fue un sistema operativo propiedad de Nokia, y que en el pasado fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encontraban NokiaSony Mobile CommunicationsPsionSamsungSiemensArimaBenq,FujitsuLenovoLGMotorolaMitsubishi ElectricPanasonicSharp, etc. Sus orígenes provenían de su antepasado EPOC32, utilizado en PDA's y Handhelds de PSION.
El objetivo del Symbian era crear un sistema operativo para terminales móviles que pudiera competir con el de Palm o el Windows Mobile de Microsoft y
posteriormente Android de Google , iOS de AppleWindows Phone de Microsoft y BlackBerry 
LA HISTORIA DE SYMBIAN OS

Symbian tiene una historia bastante corta. Sus raíces están en los sistemas que se desarrollaron en la década de 1990, y su debut fue en el 2001.
Raíces de Symbian OS: Psion y EPOC
La herencia de Symbian OS empieza con algunos de los primeros dispositivos de bolsillo; éstos
evolucionaron, a finales de la década de 1980, como un medio para comprimir la utilidad de un dispositivo
de escritorio en un pequeño paquete portátil. Los primeros intentos de las computadoras de
bolsillo no fueron recibidos con mucho entusiasmo: la Apple Newton era un dispositivo bien diseñado,
pero tuvo sólo unos cuantos usuarios. A pesar de este lento inicio, las computadoras de bolsillo
desarrolladas a mediados de 1990 estaban mejor adaptadas al usuario y a la forma en que las
personas utilizaban los dispositivos móviles. Este tipo de computadoras se diseñaron en un principio
como PDAs (asistentes digitales personales que en esencia eran planificadores electrónicos), pero evolucionaron
para abarcar muchos tipos de funcionalidad. A medida que se desarrollaron, empezaron a
funcionar como las computadoras de escritorio y también tenían las mismas necesidades, como la
multitarea; incorporaron capacidades de almacenamiento en varias formas; tenían que ser flexibles

en las áreas de la entrada y salida de datos.

La programación se basaba en el lenguaje C, tenía un diseño orientado a
objetos y empleaba motores de aplicaciones, una parte distintiva del desarrollo de Symbian OS.
Esta metodología de los motores era una poderosa característica. Se basaba en el diseño del micro-
kernel para enfocar la funcionalidad en los motores (funcionaban como servidores) que administraban las funciones en respuesta a las peticiones de las aplicaciones.
En 1996, Psion empezó a diseñar un nuevo sistema operativo de 32 bits que aceptaba dispositivos
señaladores en una pantalla táctil, utilizaba multimedia y tenía capacidades más completas de comunicación.
El nuevo sistema también estaba más orientado a objetos y podía portarse a distintas
arquitecturas y diseños de dispositivos. El resultado del esfuerzo de Psion fue la introducción del sistema como EPOC Release 1. Este sistema se programó en C++ y estaba diseñado para ser orientado a objetos desde sus cimientos. 
Symbian OS versión 6
Como la última versión de EPOC fue ER5, Symbian OS hizo su debut con la versión 6 en el 2001.
Este sistema operativo aprovechaba las propiedades flexibles de EPOC y estaba orientado a varias
plataformas distintas generalizadas. Se diseñó con la suficiente flexibilidad para desarrollar una amplia
variedad de dispositivos móviles y teléfonos avanzados, y al mismo tiempo daba a los fabricantes
la oportunidad de diferenciar sus productos.

Symbian OS versión 7
La versión 7 de Symbian OS era muy parecida a sus predecesores EPOC y la versión 6 en cuanto
a diseño y función. El enfoque en el diseño era abarcar la telefonía móvil. Sin embargo, a medida
que cada vez más fabricantes diseñaban teléfonos móviles, era obvio que hasta la flexibilidad de
EPOC, un sistema operativo para dispositivos de bolsillo, no podría lidiar con la plétora de nuevos
teléfonos que necesitaban usar Symbian OS.


Symbian OS en la actualidad

La versión 7 de Symbian OS fue muy importante, debido a que en ella se incorporaron la abstracción
y la flexibilidad al sistema operativo. Sin embargo, esta abstracción tuvo sus desventajas. En
poco tiempo, el rendimiento del sistema operativo se volvió un problema que había que resolver.
Más tarde se emprendió un proyecto para reescribir por completo el sistema operativo, esta vez
con énfasis en el rendimiento. El nuevo diseño del sistema operativo debía retener la flexibilidad de
la versión 7 de Symbian OS y, al mismo tiempo, mejorar el rendimiento y aumentar la seguridad
del sistema. La versión 8 de Symbian OS, que se liberó en 2004, mejoró el rendimiento de Symbian
OS, en especial para sus funciones de tiempo real. La versión 9 de Symbian OS se liberó en
2005; esta versión agregó los conceptos de seguridad basada en la capacidad y la instalación de un
guardián.

GENERALIDADES SOBRE SYMBIAN OS
Symbian OS es único entre los sistemas operativos, ya que se diseñó con los teléfonos inteligentes
como plataforma de destino. No es un sistema operativo genérico que se adaptó a un teléfono
inteligente a la fuerza, ni una adaptación de un sistema operativo más grande para una
plataforma más pequeña. Sin embargo, tiene muchas de las características de los otros sistemas
operativos más grandes, desde la multitarea y la administración de la memoria hasta las cuestiones
de seguridad.

Orientación a objetos
El diseño de Symbian OS está orientado a objetos. Las implementaciones de las herramientas
del sistema están ocultas; los datos del sistema se utilizan a través de interfaces definidas en los
objetos del sistema. Mientras que un sistema operativo como Linux podría crear un descriptor de
archivos y utilizarlo como un parámetro en una llamada a open, Symbian OS crearía un objeto
de archivo y llamaría al método open conectado al objeto. Por ejemplo, es sabido que, en Linux,
los descriptores de archivos son enteros que indexan una tabla en la memoria del sistema operativo;
en Symbian OS se desconoce la implementación de las tablas del sistema de archivos, y toda
la manipulación del sistema de archivos se realiza mediante objetos de una clase de archivo específica.

Diseño del microkernel
Symbian OS se diseñó como un sistema operativo basado en microkernel. Para acceder a los
recursos del sistema, se abren conexiones a los servidores de recursos que a su vez coordinan el acceso
a los mismos recursos. Symbian OS luce una arquitectura conectable para las nuevas implementaciones.
Estas nuevas implementaciones para las funciones del sistema se pueden diseñar
como objetos del sistema y se pueden insertar en el kernel de manera dinámica. Por ejemplo, se pueden
implementar nuevos sistemas de archivos y agregarlos al kernel cuando el sistema operativo esté
en ejecución.

El nanokernel de Symbian OS
Para lidiar con las cuestiones del microkernel, los diseñadores de Symbian OS implementaron una
estructura de nanokernel en el núcleo del diseño del sistema operativo. Así como en las microkernels
se meten ciertas funciones del sistema en los servidores en espacio de usuario, el diseño de
Symbian OS separa las funciones que requieren una implementación complicada en el kernel
de Symbian OS y mantiene sólo las funciones más básicas en el nanokernel, el núcleo del sistema
operativo.

Acceso a los recursos de cliente/servidor
Como dijimos antes, Symbian OS explota el diseño de su microkernel e incluye un modelo cliente/
servidor para acceder a los recursos del sistema. Las aplicaciones que necesitan acceder a los recursos
del sistema son los clientes; los servidores son programas que el sistema operativo ejecuta
para coordinar el acceso a estos recursos. Mientras que en Linux podríamos llamar a open para abrir
un archivo, o en Windows usar una API de Microsoft para crear una ventana, en Symbian OS ambas
secuencias son iguales: primero se debe hacer una conexión a un servidor, éste debe reconocer
la conexión y hay que hacerle peticiones para realizar ciertas funciones. Por lo tanto, abrir un
archivo significa que hay que buscar el servidor de archivos, llamar a connect para establecer una
conexión con el servidor y después enviarle una petición open con el nombre de un archivo específico.

PROCESOS E HILOS EN SYMBIAN OS

Hilos y nanohilos

El soporte de hilos en Symbian OS se basa en el nanokernel con nanohilos. El nanokernel proporciona
sólo soporte simple para los hilos; cada hilo se sostiene mediante un nanohilo basado en
nanokernel. El nanokernel proporciona la programación de los nanohilos, su sincronización (comunicación
entre hilos) y los servicios de temporización. Los nanohilos se ejecutan en modo privilegiado
y necesitan una pila para almacenar sus datos del entorno en tiempo de ejecución. Los
nanohilos no se pueden ejecutar en modo de usuario.

Los nanohilos tienen estados de hilos, así como los procesos tienen estados. El modelo utilizado
por el nanokernel de Symbian OS agrega unos cuantos estados al modelo básico. Además de los
estados básicos, los nanohilos pueden tener los siguientes estados:
Suspendido Aquí es cuando un hilo suspende a otro hilo y debe ser distinto al estado en
espera, donde un hilo se bloque mediante algún objeto de nivel superior (por ejemplo, un
hilo de Symbian OS).
Espera de semáforo rápido Un hilo en este estado espera a que se señale un semáforo rápido
(un tipo de variable centinela). Los semáforos rápidos son semáforos a nivel de nanokernel.
Espera de DFC Un hilo en este estado está esperando que se agregue una llamada a función
retrasada (DFC) a la cola de DFCs. Las DFCs se utilizan en la implementación de drivers
de dispositivos. Representan llamadas al kernel que se pueden poner en cola y
programar para ejecutarse mediante el nivel del kernel de Symbian OS.
Inactivo Los hilos inactivos esperan a que transcurra una cantidad específica de tiempo.
Otro Hay un estado genérico que se utiliza cuando los desarrolladores implementan estados
adicionales para los nanohilos. Los desarrolladores hacen esto cuando extienden la
funcionalidad del nanokernel para nuevas plataformas de teléfonos (lo cual se conoce como
niveles de personalidad). Los desarrolladores que hacen esto también deben implementar
la forma en que se cambia de un estado a otro desde sus implementaciones extendidas.




Procesos
En Symbian OS, los procesos son hilos de Symbian OS agrupados bajo una sola estructura de bloque
de control de proceso, con un solo espacio de memoria. Puede haber sólo un hilo de ejecución,
o varios hilos bajo un bloque de control de proceso. Los conceptos de estado del proceso y programación
del proceso ya se han definido mediante los hilos y nanohilos de Symbian OS. Entonces, la
programación de un proceso se implementa en realidad mediante la planificación de un hilo y la inicialización
del bloque de control de proceso correcto, de manera que el hilo lo utilice para sus necesidades
de datos.

ADMINISTRACIÓN DE LA MEMORIA
Sistemas sin memoria virtual
Muchos sistemas de cómputo no tienen las herramientas para proporcionar memoria virtual completa
con paginación bajo demanda. El único almacenamiento disponible para el sistema operativo
en estas plataformas es la memoria; no incluyen un disco duro. Debido a esto, la mayoría de los sistemas
más pequeños, desde los PDAs hasta los teléfonos inteligentes y los dispositivos de bolsillo
de mayor nivel, no proporcionan memoria virtual con paginación bajo demanda.

La administración de la memoria consiste en las siguientes tareas:
Administración del tamaño de la aplicación: El tamaño de una aplicación (código y datos)
tiene un efecto contundente en cuanto a la forma en que se utiliza la memoria. Se requiere
habilidad y disciplina para crear software pequeño.

Administración del montículo El montículo (el espacio para la asignación dinámica de
memoria) se debe administrar en forma muy estricta en una plataforma más pequeña.

Ejecución en el lugar Las plataformas sin unidades de disco por lo general admiten la ejecución
en el lugar.

Carga de DLLs La decisión de cuándo se deben cargar las DLLs puede afectar en la percepción
del rendimiento del sistema.

Transferencia de la administración de la memoria al hardware Si hay una MMU disponible,
se utiliza en toda su extensión. De hecho, entre más funcionalidad se pueda poner
en la MMU, mejor será el rendimiento del sistema.

Cómo direcciona Symbian OS la memoria
Como Symbian OS es un sistema operativo de 32 bits, las direcciones pueden variar hasta 4 GB.
Emplea las mismas abstracciones que los sistemas más grandes: los programas deben utilizar direcciones
virtuales, que el sistema operativo asigna a direcciones físicas. Al igual que con la mayoría
de los sistemas, Symbian OS divide la memoria en páginas virtuales y marcos físicos. El tamaño de
los marcos es por lo general de 4 KB, pero puede ser variable.


El modelo de movimiento. Este modelo se diseñó para las primeras arquitecturas del
ARM. El directorio de páginas en el modelo de movimiento es de 4 KB de largo, y cada
entrada contiene 4 bytes, para un tamaño del directorio de 16 KB. Las páginas de memoria
se protegen mediante bits de acceso asociados con los marcos de memoria y mediante
el etiquetado del acceso a la memoria con un dominio.

El modelo múltiple Este modelo se desarrolló para las versiones 6 y posteriores de la arquitectura
del ARM. La MMU en estas versiones difiere de la utilizada en versiones anteriores.

El modelo directo El modelo directo de memoria asume que no hay MMU. Este modelo
se utiliza muy poco y no está permitido en los teléfonos inteligentes. La falta de una MMU
ocasionaría severos problemas de rendimiento.

El modelo del emulador Este modelo se desarrolló para proveer un emulador de Symbian
OS para Windows. El emulador tiene unas cuantas restricciones en comparación con una
verdadera CPU de destino.










































No hay comentarios.:

Publicar un comentario