Você está na página 1de 12

UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA

CENTRO UNIVERSITARIO DE SAN MARCOS.


INGENIERIA EN SISTEMAS
Y CIENCIAS DE LA COMPUTACION

DOCENTE:
ING . OMAR ALEJANDRO MORALES FRANCO

ASIGNATURA:
SISTEMAS OPERATIVOS

SYMBIAN OS

ALUMNOS:
GERARDO EMMANUEL DVILA MORALES
0903-11-14005
MYNOR RENE BERDUO LOPEZ

0903-12-17062
VICTOR DE LEON PEREZ
0903-11-7978
SAN MARCOS, SEPTIEMBRE DE 2015

INTRODUCCION
El papel que desempea los telfonos mviles en el mbito de los sistemas
distribuidos ha evolucionado en el los ltimos aos hasta llegar a convertirse en
eternos en los que se pueden desarrollar complejas aplicaciones las limitaciones
de memoria, CPU o batera resulta necesario desarrollar nuevos sistemas
operativos y entornos de desarrollo especficos que se ajusten a las exigencias de
dichos terminales. En esta investigacin se revisa y se estudia el sistema
operativo Symbian OS, tanto desde el punto de vista del desarrollador como de las
prestaciones que ofrecen al usuario final.

OBJETIVOS

Comprender el Sistema Operativo Symbian

Conocer su estructura y sus capas

Saber como esta compuesto el sistema operativo

Races 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 dcada de 1980, como un medio para
comprimir la utilidad de un dispositivo de escritorio en un pequeo paquete porttil.
Los primeros intentos de las computadoras de bolsillo no fueron recibidos con
mucho entusiasmo: la Apple Newton era un dispositivo bien diseado, pero tuvo
slo 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 mviles. Este tipo de
computadoras se disearon en un principio como PDAs (asistentes digitales
personales que en esencia eran planificadores electrnicos), pero evolucionaron
para abarcar muchos tipos de funcionalidad. A medida que se desarrollaron,
empezaron a funcionar como las computadoras de escritorio y tambin tenan las
mismas necesidades, como la multitarea; incorporaron capacidades de
almacenamiento en varias formas; tenan que ser flexibles en las reas de la
entrada y salida de datos. Los dispositivos de bolsillo tambin crecieron para
abarcar la comunicacin. A medida que iban creciendo estos dispositivos
personales, tambin se desarrollaba la comunicacin personal. Los telfonos
mviles tuvieron un notable incremento en su uso a finales de la dcada de 1990.
Por ende, era natural fusionar los dispositivos de bolsillo con los telfonos mviles
para formar los telfonos inteligentes. Se tuvieron que desarrollar los sistemas
operativos que operaban a los dispositivos inteligentes a medida que se realiz
esta fusin.
En la dcada de 1990, Psion Computers fabricaba dispositivos que eran PDAs. En
1991, Psion produjo la Serie 3: una pequea computadora con una pantalla
monocromtica que tena una resolucin equivalente a la mitad de VGA y caba en
un bolsillo. Despus de la Serie 3 sali la Serie 3c en 1996, con capacidad
infrarroja adicional, y la Serie 3mx en 1998, con un procesador ms veloz y ms
memoria. Cada uno de estos dispositivos tuvo mucho xito, en gran parte debido a
la buena administracin de energa y la interoperabilidad con otras computadoras,
incluyendo las PCs y otros dispositivos de bolsillo. La programacin se basaba en
el lenguaje C, tena un diseo orientado a objetos y empleaba motores de
aplicaciones, una parte distintiva del desarrollo de Symbian OS. Esta
metodologa de los motores era una poderosa caracterstica.
Symbian OS versin 6
Como la ltima versin de EPOC fue ER5, Symbian OS hizo su debut con la
versin 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 mviles y telfonos avanzados, y al mismo tiempo daba a los


fabricantes la oportunidad de diferenciar sus productos. Tambin se decidi que
Symbian OS adoptara en forma activa las tecnologas actuales de punta, a medida
que se hicieran disponibles. Esta decisin reforzaba las opciones de diseo de
orientacin a objetos y una arquitectura cliente-servidor, ya que estas tecnologas
se estaban volviendo populares en los mundos de las computadoras de escritorio
e Internet. Los diseadores de Symbian OS versin 6 lo consideraban un sistema
abierto. Esto era distinto de las propiedades de cdigo fuente abierto que se
atribuan a menudo a UNIX y Linux. Con el trmino abierto, los diseadores de
Symbian OS queran decir que la estructura del sistema operativo se publicaba y
estaba disponible para todos. Adems, se publicaron todas las interfaces del
sistema para fomentar el diseo de software de terceras partes.
Symbian OS versin 7
La versin 7 de Symbian OS era muy parecida a sus predecesores EPOC y la
versin 6 en cuanto a diseo y funcin. El enfoque en el diseo era abarcar la
telefona mvil. Sin embargo, a medida que cada vez ms fabricantes diseaban
telfonos mviles, era obvio que hasta la flexibilidad de EPOC, un sistema
operativo para dispositivos de bolsillo, no podra lidiar con la pltora de nuevos
telfonos que necesitaban usar Symbian OS. La versin 7 de Symbian OS
mantena la funcionalidad de escritorio de EPOC, pero la mayora de los aspectos
internos del sistema se redisearon para abarcar muchos tipos de funcionalidad
de los telfonos inteligentes. El kernel y los servicios del sistema operativo se
separaron de la interfaz de usuario. En la nueva versin se poda ejecutar el
mismo sistema operativo en muchas plataformas distintas de telfonos
inteligentes, cada una de las cuales utilizaba un sistema distinto de interfaz de
usuario. Ahora Symbian OS se poda extender para lidiar, por ejemplo, con los
nuevos formatos no pronosticados de mensajera, o se poda utilizar en distintos
telfonos inteligentes que utilizaran distintas tecnologas telefnicas. La versin 7
de Symbian OS se liber en el 2003.
Orientacin a objetos
La orientacin a objetos es un trmino que implica abstraccin. Un diseo
orientado a objetos crea una entidad abstracta, conocida como objeto, de los
datos y la funcionalidad de un componente de software. Un objeto provee la
funcionalidad y los datos especificados, pero oculta los detalles de
implementacin. Un objeto implementado en forma apropiada se puede eliminar o
reemplazar por un objeto distinto, siempre y cuando la forma en que las dems
piezas del sistema utilicen ese objeto (es decir, mientras que su interfaz) sea igual.
Cuando se aplica al diseo de un sistema operativo, la orientacin a objetos
significa que todo el uso de las llamadas al sistema y las caractersticas del lado
del kernel se hace a travs de interfaces, sin ningn tipo de acceso a los datos
actuales o sin depender de un tipo de implementacin. Un kernel orientado a

objetos proporciona sus servicios a travs de objetos. Utilizar objetos del lado del
kernel por lo general significa que una aplicacin debe obtener un manejador; es
decir, una referencia a un objeto, y despus debe acceder a la interfaz de ese
objeto por medio de su manejador. El diseo de Symbian OS est orientado a
objetos. Las implementaciones de las herramientas del sistema estn ocultas; los
datos del sistema se utilizan a travs de interfaces definidas en los objetos del
sistema. Mientras que un sistema operativo como Linux podra crear un descriptor
de archivos y utilizarlo como un parmetro en una llamada a open, Symbian OS
creara un objeto
de archivo y llamara al mtodo 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
implementacin de las tablas del sistema de archivos, y toda la manipulacin del
sistema de archivos se realiza mediante objetos de una clase de archivo
especfica.
Debe considerarse que Symbian OS difiere de otros sistemas operativos que
utilizan conceptos orientados a objetos en cuanto a su diseo. Por ejemplo,
muchos diseos de sistemas operativos utilizan tipos de datos abstractos;
podramos argumentar que la idea en s de una llamada al sistema implementa la
abstraccin al ocultar los detalles de la implementacin a los programas de
usuario. En Symbian OS, la orientacin a objetos est diseada en todo el marco
de trabajo del sistema operativo. La funcionalidad y las llamadas al sistema
siempre se asocian con objetos del sistema. La asignacin y proteccin de los
recursos se concentra en la asignacin de objetos, y no en la implementacin de
las llamadas al sistema.
Diseo del microkernel
La estructura del kernel de Symbian OS tiene un diseo de microkernel basado en
la naturaleza orientada a objetos de este sistema operativo. Las funciones
mnimas del sistema y los datos estn en el kernel; muchas funciones del sistema
se han metido en los servidores del espacio de usuario. Los servidores hacen su
trabajo al obtener manejadores para los objetos del sistema y realizar llamadas al
sistema por medio de estos objetos en el kernel cuando es necesario. Las
aplicaciones en el espacio de usuario interactan con estos servidores, en vez de
realizar llamadas al sistema.
Por lo general, los sistemas operativos basados en microkernel ocupan mucho
menos memoria al momento de iniciar el sistema y su estructura es ms dinmica.
Los servidores se pueden iniciar segn sea necesario; no todos se requieren al
momento del inicio. En general, los microkernels implementan una arquitectura
conectable con soporte para los mdulos del sistema que se pueden cargar y
conectar al kernel cuando se requiera. De esta forma, los microkernels son muy
flexibles: el cdigo para dar soporte a una nueva funcionalidad (por ejemplo,
nuevos drivers de hardware) se puede cargar y conectar en cualquier momento.

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 disear como objetos
del sistema y se pueden insertar en el kernel de manera dinmica. Por ejemplo, se
pueden implementar nuevos sistemas de archivos y agregarlos al kernel cuando el
sistema operativo est en ejecucin.
Este diseo de microkernel conlleva ciertas cuestiones. Siempre que una llamada
al sistema es suficiente para un sistema operativo convencional, un microkernel
utiliza el paso de mensajes. El rendimiento puede verse afectado debido a la
sobrecarga adicional de la comunicacin entre los objetos. La eficiencia de las
funciones que permanecen en el espacio de kernel en los sistemas operativos
convencionales disminuye cuando esas funciones se pasan al espacio de usuario.
Por ejemplo, la sobrecarga de varias llamadas a funciones para programar
procesos puede reducir el rendimiento si se le compara con la programacin de
procesos del kernel de Windows, que tiene acceso directo a las estructuras de
datos del kernel. Como los mensajes pasan entre los objetos en espacio de
usuario y los objetos en espacio de kernel, es probable que ocurran cambios en
los niveles de privilegios, con lo cual se reduce an ms el rendimiento. Por ltimo,
mientras que las llamadas al sistema funcionan en un solo espacio de direcciones
para los diseos convencionales, este paso de mensajes y cambio de privilegios
implica el uso de dos o ms espacios de direcciones para implementar una
peticin de servicio al microkernel. Estas cuestiones de rendimiento obligaron a los
diseadores de Symbian OS (y tambin de otros sistemas basados en
microkernel) a poner mucha atencin en los detalles de diseo e implementacin.
El nfasis del diseo es para los servidores mnimos, que estn muy enfocados.
El nanokernel de Symbian OS
Para lidiar con las cuestiones del microkernel, los diseadores de Symbian OS
implementaron una estructura de nanokernel en el ncleo del diseo del sistema
operativo. As como en las microkernels se meten ciertas funciones del sistema en
los servidores en espacio de usuario, el diseo de Symbian OS separa las
funciones que requieren una implementacin complicada en el kernel de Symbian
OS y mantiene slo las funciones ms bsicas en el nanokernel, el ncleo del
sistema operativo.
El nanokernel proporciona algunas de las funciones ms bsicas en Symbian OS.
En el nanokernel, los hilos simples que operan en modo privilegiado implementan
servicios muy primitivos. Entre las implementaciones en este nivel se incluyen las
operaciones de programacin y sincronizacin, el manejo de interrupciones y los
objetos de sincronizacin, como los mutexes y los semforos. La mayor parte de
las funciones que se implementan en este nivel se pueden reemplazar. Las
funciones en este nivel son muy primitivas (para que puedan ser rpidas). Por
ejemplo, la asignacin dinmica de memoria es una funcin muy complicada para
una operacin del nanokernel. Este diseo de nanokernel requiere un segundo

nivel para implementar funciones ms complicadas del kernel. El nivel del kernel
de Symbian OS proporciona las funciones ms complicadas del kernel que
necesita el resto del sistema operativo. Cada operacin en el nivel del kernel de
Symbian OS es una operacin privilegiada y se combina con las operaciones

primitivas del nanokernel para implementar tareas ms complejas del kernel. Los
servicios de objetos complejos, los hilos en modo de usuario, la planificacin de
procesos y el cambio de contexto, la memoria dinmica, las bibliotecas que se
cargan en forma dinmica, la sincronizacin compleja, los objetos y la
comunicacin entre procesos son slo algunas de las operaciones que se
implementan en este nivel, el cual se puede reemplazar por completo y las
interrupciones pueden hacer que este nivel reprograme cualquier parte de su
ejecucin.
Acceso a los recursos de cliente/servidor
Como dijimos antes, Symbian OS explota el diseo 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 podramos 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 conexin a un servidor,
ste debe reconocer la conexin 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 conexin con el servidor y despus
enviarle una peticin open con el nombre de un archivo especfico.
Hay varias ventajas de esta forma de proteger los recursos. En primer lugar, se
adapta al diseo del sistema operativo como un sistema orientado a objetos y
como un sistema basado en microkernel. En segundo lugar, este tipo de
arquitectura es muy efectivo para administrar los mltiples accesos a los recursos
del sistema que requerira un sistema operativo multitareas y multihilo.
Por ltimo, cada servidor se puede enfocar en los recursos que debe administrar;
adems se puede actualizar con facilidad e intercambiar por nuevos diseos.

Caractersticas de un sistema operativo ms grande


A pesar del tamao de sus computadoras de destino, Symbian OS tiene muchas
de las caractersticas de sus parientes ms grandes. Aunque podemos esperar el
mismo tipo de soporte que vemos en los sistemas operativos ms grandes como
Linux y Windows, lo ms seguro es que encontremos estas caractersticas en una
forma distinta. Symbian OS tiene muchas caractersticas en comn con los
sistemas operativos ms grandes.
Procesos e hilos
Symbian OS es un sistema operativo multitareas y multihilo. Muchos procesos se
pueden ejecutar en forma concurrente, se pueden comunicar entre s y pueden
utilizar varios hilos que se ejecutan en forma interna para cada proceso.
Soporte comn para los sistemas de archivos
Symbian OS organiza el acceso al almacenamiento del sistema mediante el uso
de un modelo de sistema de archivos, de igual forma que los sistemas operativos
ms grandes. Tiene un sistema de archivos compatible con Windows (utiliza de
manera predeterminada un sistema de archivos FAT-32); admite otras
implementaciones de sistemas de archivos mediante el uso de una interfaz estilo
complemento. Symbian OS acepta varios tipos distintos de sistemas de archivos,
incluyendo FAT16 y FAT-32, NTFS y muchos formatos de tarjetas de almacenamiento (por
ejemplo, JFFS).
Redes
Symbian OS acepta redes TCP/IP y varias interfaces ms de comunicacin, como
serial, infrarroja y Bluetooth.
Administracin de la memoria
Aunque Symbian OS no utiliza memoria virtual asignada (ni tiene las herramientas
para ello), organiza el acceso a la memoria en pginas y permite reemplazarlas;
es decir, traer pginas a la memoria, pero no intercambiarlas fuera de ella.
Comunicaciones y multimedia
Symbian OS se cre para facilitar la comunicacin en muchas formas. Es difcil ver
sus generalidades sin mencionar las caractersticas de comunicacin. El modelado
de la comunicacin cumple con la orientacin a objetos y a una arquitectura
cliente/servidor de microkernel. Las estructuras de comunicacin en Symbian OS
se basan en mdulos, para poder injertar nuevos mecanismos de comunicacin en

el sistema operativo con facilidad. Es posible escribir mdulos para implementar


cualquier cosa, como las interfaces a nivel de usuario, las implementaciones de
nuevos protocolos o nuevos drivers de dispositivos. Debido al diseo del
microkernel, es posible introducir y cargar nuevos mdulos en la operacin del
sistema en forma dinmica.
Symbian OS tiene algunas caractersticas nicas que provienen de su enfoque en
la plataforma de telfonos inteligentes. Tiene una arquitectura de mensajera
conectable, donde se puede inventar e implementar nuevos tipos de mensajes
mediante el desarrollo de mdulos que el servidor de mensajera carga en forma
dinmica. El sistema de mensajera se ha diseado en niveles (con tipos
especficos de objetos que implementan los diversos niveles). Por ejemplo, los
objetos de transporte de mensajes estn separados de los objetos de tipo de
mensaje. Por ejemplo, una forma de transporte de mensajes (como CDMA) podra
transportar varios tipos distintos de mensajes (tipos de mensajes de texto
estndar, tipos SMS o comandos del sistema como los mensajes BIO). Se puede
introducir nuevos mtodos de transporte al implementar un nuevo objeto y cargarlo
en el kernel.
El ncleo de Symbian OS est diseado con APIs especializadas para multimedia.
Los dispositivos y el contenido multimedia se manejan mediante servidores
especiales y un marco de trabajo que permite al usuario implementar mdulos que
describen el contenido nuevo y el existente, y qu se debe hacer con l. El soporte
de multimedia es a travs de varias formas de objetos (algo muy parecido a la
forma en que se implementa la mensajera), diseados para interactuar entre s.
La forma en que se reproduce el sonido se disea como un objeto que interacta
con la forma en que se implementa cada formato de sonido.
PROCESOS E HILOS EN SYMBIAN OS
Symbian OS es un sistema operativo multitareas que utiliza los conceptos de
procesos e hilos en forma muy parecida a los dems sistemas operativos. Sin
embargo, la estructura del kernel de Symbian OS y la forma en que trata con la
posible escasez de recursos influyen en la manera que ve estos objetos
multitareas.
Hilos y nanohilos
En vez de que los procesos sean la base de la multitarea, Symbian OS prefiere
usar los hilos y se basa en este concepto. Los hilos forman la unidad central de la
multitarea. El sistema operativo simplemente ve un proceso como una coleccin
de hilos con un bloque de control de proceso y cierto espacio de memoria.
El soporte de hilos en Symbian OS se basa en el nanokernel con nanohilos. El
nanokernel proporciona slo soporte simple para los hilos; cada hilo se sostiene
mediante un nanohilo basado en nanokernel. El nanokernel proporciona la
programacin de los nanohilos, su sincronizacin (comunicacin entre hilos) y los

servicios de temporizacin. Los nanohilos se ejecutan en modo privilegiado y


necesitan una pila para almacenar sus datos del entorno en tiempo de ejecucin.
Los nanohilos no se pueden ejecutar en modo de usuario. Este hecho significa
que el sistema operativo puede mantener un estrecho control sobre cada uno de
ellos. Cada nanohilo necesita un conjunto mnimo de datos para ejecutarse: en
esencia, la ubicacin de su pila y qu tan grande es. El sistema operativo lleva el
control de todo lo dems, como el cdigo que utiliza cada hilo, y almacena el
contexto de un hilo en su pila en tiempo de ejecucin.
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 bsico. Adems de los estados bsicos, 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 algn objeto de nivel superior
(por ejemplo, un hilo de Symbian OS).
Espera de semforo rpido Un hilo en este estado espera a que se seale un
semforo rpido (un tipo de variable centinela). Los semforos rpidos son
semforos a nivel de nanokernel.
Espera de DFC Un hilo en este estado est esperando que se agregue una
llamada a funcin retrasada (DFC) a la cola de DFCs. Las DFCs se utilizan en la
implementacin 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 especfica de
tiempo.
Otro Hay un estado genrico 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
telfonos (lo cual se conoce como niveles de personalidad). Los desarrolladores
que hacen esto tambin deben implementar la forma en que se cambia de un
estado a otro desde sus implementaciones extendidas.
Los hilos de Symbian OS se basan en los nanohilos; el kernel agrega el soporte
ms all de lo que proporciona el nanokernel. Los hilos en modo de usuario que
se utilizan para aplicaciones estndar se implementan mediante los hilos de
Symbian OS. Cada hilo de Symbian OS contiene un nanohilo y agrega su propia
pila en tiempo de ejecucin a la pila que utiliza el nanohilo. Los hilos de Symbian
OS pueden operar en modo de kernel mediante las llamadas al sistema. Symbian
OS tambin agrega a la implementacin el manejo de excepciones y la
sealizacin al terminar. Los hilos de Symbian OS implementan su propio conjunto
de estados encima de la implementacin del nanohilo. Como los hilos de Symbian

OS agregan cierta funcionalidad a la implementacin mnima del nanohilo, los


nuevos estados reflejan las nuevas ideas integradas en los hilos de Symbian OS.
Este sistema operativo agrega siete nuevos estados en los que se pueden
encontrar sus hilos, con nfasis en las condiciones de bloqueo especiales que
pueden ocurrir a un hilo de Symbian
OS. Estos estados especiales incluyen el de espera y suspensin en semforos
(normales), variables de mutex y variables de condicin. Recuerde que, debido a
la implementacin de los hilos de Symbian OS encima de los nanohilos, estos
estados se implementan en trminos de estados de nanohilos, en su mayor parte
mediante el uso del estado de nanohilo suspendido de varias formas.
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 slo un hilo de ejecucin, o varios hilos bajo un bloque de control de
proceso. Los conceptos de estado del proceso y programacin del proceso ya se
han definido mediante los hilos y nanohilos de Symbian OS. Entonces, la
programacin de un proceso se implementa en realidad mediante la planificacin
de un hilo y la inicializacin del bloque de control de proceso correcto, de manera
que el hilo lo utilice para sus necesidades de datos.
Los hilos de Symbian OS organizados bajo un solo proceso trabajan juntos de
varias formas. En primer lugar, hay un solo hilo individual que se marca como el
punto inicial para el proceso. En segundo lugar, los hilos comparten los
parmetros de planificacin. Si se cambian los parmetros (es decir, el mtodo de
planificacin) para el proceso, se cambian los parmetros para todos los hilos. En
tercer lugar, los hilos comparten objetos del espacio de memoria, incluyendo los
descriptores de dispositivos y otros descriptores de objetos. Por ltimo, cuando se
termina un proceso el kernel termina todos los hilos en el proceso.

Você também pode gostar