La Historia de Symbian Os

download La Historia de Symbian Os

of 7

Transcript of La Historia de Symbian Os

LA HISTORIA DE SYMBIAN OSEn trminos del desarrollo de las computadoras en general, UNIX tiene una historia antigua; Windows tiene una historia moderadamente larga. Por otra parte, Symbian tiene una historia bastante corta. Sus races estn en los sistemas que se desarrollaron en la dcada de 1990, y su debut fue en el 2001. Esto no debera sorprender, ya que la plataforma de los telfonos inteligentes en la que se ejecuta Symbian OS tambin evolucion desde hace poco. Symbian OS tiene sus races en los dispositivos de bolsillo y se ha desarrollado con rapidez a travs de varias versiones.RACES DE SYMBIAN OS: PSION Y EPOCLa 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. Se basaba en el diseo del microkernel para enfocar la funcionalidad en los motores (funcionaban como servidores) que administraban las funciones en respuesta a las peticiones de las aplicaciones. Esta metodologa hizo posible la estandarizacin de una API y el uso de la abstraccin de objetos para que el programador de aplicaciones dejara de preocuparse sobre los detalles tediosos como los formatos de datos. En 1996, Psion empez a disear un nuevo sistema operativo de 32 bits que aceptaba dispositivos sealadores en una pantalla tctil, utilizaba multimedia y tena capacidades ms completas de comunicacin.El nuevo sistema tambin estaba ms orientado a objetos y poda portarse a distintas arquitecturas y diseos de dispositivos. El resultado del esfuerzo de Psion fue la introduccin del sistema como EPOC Release 1. Este sistema se program en C__ y estaba diseado para ser orientado a objetos desde sus cimientos. Tambin utiliz la metodologa de los motores y expandi esta idea de diseo en una serie de servidores que coordinaban el acceso a los servicios del sistema y los dispositivos perifricos. EPOC expandi las posibilidades de comunicacin, abri el sistema operativo a la tecnologa multimedia, introdujo nuevas plataformas para interconectar elementos como las pantallas tctiles y generaliz la interfaz de hardware.EPOC se desarroll an ms en dos versiones posteriores: EPOC Release 3 (ER3) y EPOC Release 5 (ER5). Estas versiones se ejecutaban en nuevas plataformas como las computadoras Psion Serie 5 y Serie 7.Psion tambin buscaba enfatizar las formas en que se poda adaptar su sistema operativo a otras plataformas de hardware. Cerca del 2000, la mayora de las oportunidades para el desarrollo de nuevos equipos de bolsillo estaban en el negocio de los telfonos mviles, donde los fabricantes ya estaban buscando un sistema operativo nuevo y avanzado para su prxima generacin de dispositivos. Para aprovechar estas oportunidades, Psion y los lderes en la industria de los telfonos mviles, entre ellos Nokia, Ericsson, Motorola y Matshushita (Panasonic), formaron una empresa conjunta llamada Symbian para que asumiera la propiedad del sistema operativo EPOC y se encargara del futuro desarrollo de su ncleo. Este nuevo diseo del ncleo se conoce ahora como Symbian OS.SYMBIAN OS VERSIN 6Tambin 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. Co 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 7La 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.

SYMBIAN OS EN LA ACTUALIDADMs tarde se emprendi un proyecto para reescribir por completo el sistema operativo, esta vez con nfasis en el rendimiento. El nuevo diseo del sistema operativo deba retener la flexibilidad de la versin 7 de Symbian OS y, al mismo tiempo, mejorar el rendimiento y aumentar la seguridad del sistema. La versin 8 de Symbian OS, que se liber en 2004, mejor el rendimiento de Symbian OS, en especial para sus funciones de tiempo real. La versin 9 de Symbian OS se liber en 2005; esta versin agreg los conceptos de seguridad basada en la capacidad y la instalacin de un guardin. La versin 9 de Symbian OS agreg la flexibilidad para el hardware que la versin 7 agreg para el software. Se desarroll un nuevo modelo binario que permita a los desarrolladores de hardware utilizar Symbian OS sin tener que redisear el hardware para adaptarlo a un modelo de arquitectura especfico.

ENTRADA Y SALIDAEn esta seccin resaltaremos algunas de las caractersticas nicas que Symbian OS utiliza para enfocarse en su plataforma de destino.DRIVERS DE DISPOSITIVOSEn Symbian OS, los drivers de dispositivos se ejecutan como cdigo privilegiado del kernel para proporcionar acceso al cdigo de nivel de usuario a los recursos protegidos del sistema. Al igual que en los casos de Linux y Windows, los drivers de dispositivos representan el acceso al hardware mediante el software.En Symbian OS, un driver de dispositivos se divide en dos niveles: un driver de dispositivo lgico(LDD) y un driver de dispositivo fsico (PDD). El LDD presenta una interfaz a los niveles superiores del software, mientras que el PDD interacta de manera directa con el hardware. En este modelo, el LDD puede utilizar la misma implementacin para una clase especfica de dispositivos, mientras que el PDD cambia con cada dispositivo. Symbian OS suministra muchos LDDs estndar.Algunas veces, si el hardware es muy estndar o comn, Symbian OS tambin proporciona un PDD.Considere un ejemplo de un dispositivo serial. Symbian OS define un LDD serial genrico que define las interfaces del programa para acceder al dispositivo serial. El LDD proporciona una interfaz para el PDD, el cual proporciona la interfaz para los dispositivos seriales. El PDD implementa los mecanismos de bfer y de control de flujo necesarios para ayudar a regular las diferencias de velocidad entre la CPU y los dispositivos seriales. Un solo LDD (del lado del usuario) se puede conectar con cualquiera de los PDDs que se pudieran utilizar para operar dispositivos seriales. En un telfono inteligente especfico, stos podran incluir un puerto infrarrojo o incluso un puerto RS-232.EXTENSIONES DEL KERNELLas extensiones del kernel estn integradas en el procedimiento de inicio. Estos drivers de dispositivos especiales se cargan e inician justo despus de que inicia el programador. Implementan funciones cruciales para los sistemas operativos: servicios de DMA, administracin de la pantalla, control de buses para los dispositivos perifricos (por ejemplo, el bus USB). ACCESO DIRECTO A LA MEMORIACon frecuencia, los drivers de dispositivos hacen uso de DMA, por lo que Symbian OS acepta el uso de hardware de DMA. Este hardware consiste en un controlador de un conjunto de canales de DMA. Cada canal proporciona una sola direccin de comunicacin entre la memoria y un dispositivo; por lo tanto, la transmisin bidireccional de los datos requiere dos canales de DMA. Hay por lo menos un par de canales de DMA dedicados al controlador LCD de la pantalla. Adems, la mayora de las plataformas ofrecen cierto nmero de canales de DMA generales.Cuando un dispositivo transmite datos a la memoria, se activa una interrupcin del sistema. El PDD utiliza el servicio de DMA que proporciona el hardware de DMA para el dispositivo transmisor: la parte del dispositivo que se interconecta con el hardware. Symbian OS implementa dos niveles de software entre el PDD y el controlador de DMA: un nivel de DMA de software y una extensin del kernel que se interconecta con el hardware de DMA. El mismo nivel de DMA se divide en un nivel independiente de la plataforma y en uno dependiente. Como extensin del kernel, el nivel de DMA es uno de los primeros drivers de dispositivos que el kernel inicia durante el procedimiento de inicio. El soporte para el DMA es complicado debido a una razn especial. Symbian OS soporta muchas configuraciones de hardware distintas, por lo cual se puede suponer una sola configuracin de DMA. La interfaz para el hardware de DMA se estandariza entre una plataforma y otra, y se suministra en el nivel independiente de la plataforma. CASO ESPECIAL: MEDIOS DE ALMACENAMIENTO

Los drivers de los medios son una forma especial de PDD en Symbian OS, que el servidor de archivos utiliza de manera exclusiva para implementar el acceso a los dispositivos de los medios de almacenamiento. Como los telfonos inteligentes pueden contener medios fijos y removibles, los drivers de medios deben reconocer y soportar una variedad de formas de almacenamiento. El soporte de Symbian OS para los medios incluye un LDD estndar y una API de interfaz para los usuarios.El servidor de archivos en Symbian OS puede aceptar hasta 26 unidades distintas al mismo tiempo. Las unidades locales se distinguen mediante su letra de unidad, como en Windows.

BLOQUEO DE E/SSymbian OS trata con el bloqueo de E/S por medio de objetos activos. Los diseadores se dieron cuenta que el peso de todos los hilos que esperan un evento de E/S afecta a los dems hilos en el sistema. Los objetos activos permiten que el sistema operativo maneje las llamadas de bloqueo de E/S, en vez de que lo haga el mismo proceso. Los objetos activos se coordinan mediante un solo planificador y se implementan en un solo hilo.Cuando el objeto activo utiliza una llamada de bloqueo de E/S, lo seala al sistema operativo y se suspende a s mismo. Cuando se completa la llamada de bloqueo, el sistema operativo despierta al proceso suspendido y ste contina su ejecucin como si una funcin hubiera regresado con datos. La diferencia es una de perspectiva para el objeto activo. No puede llamar a una funcin y esperar un valor de retorno. Debe llamar a una funcin especial y dejar que ella establezca la E/S de bloqueo, pero debe regresar de inmediato. El sistema operativo se hace cargo de la espera.MEDIOS REMOVIBLES

Los medios removibles representan un dilema interesante para los diseadores de sistemas operativos.Cuando se inserta una tarjeta SD (Digital segura) en la ranura del lector, es un dispositivo justo igual que los dems. Necesita un controlador, un driver, una estructura de bus y tal vez se comunique con la CPU por medio de DMA. Sin embargo, el hecho de quitar este medio es un problema grave para este modelo de dispositivo: cmo detecta el sistema operativo la insercin y remocin, y cmo debe tener en cuenta el modelo la ausencia de una tarjeta de medios? Para complicar ms las cosas, algunas ranuras de dispositivos pueden alojar ms de un tipo de dispositivo. Por ejemplo, una tarjeta SD, una tarjeta miniSD (con un adaptador) y una tarjeta MultimediaCard utilizan el mismo tipo de ranura. Symbian OS empieza su implementacin de los medios removibles con sus similitudes. Cada tipo de medio removible tiene caractersticas comunes para todos los dems:1. Todos los dispositivos se pueden insertar y remover.2. Todos los medios removibles se pueden remover en caliente; es decir, mientras estn en uso.3. Cada medio puede reportar sus capacidades.4. Las tarjetas incompatibles se deben rechazar.5. Cada tarjeta necesita energa.Para aceptar medios removibles, Symbian OS proporciona controladores de software que controlan cada tarjeta admitida. Los controladores funcionan con los drivers de dispositivos para cada tarjeta, tambin en software. Cuando se inserta una tarjeta se crea un objeto de socket, que forma el canal a travs del cual fluyen los datos. Para adaptar los cambios en el estado de la tarjeta, Symbian OS proporciona una serie de eventos que ocurren cuando los estados cambian. Los drivers de dispositivos se configuran como objetos activos para escuchar y responder a estos eventos.SISTEMAS DE ALMACENAMIENTO

Al igual que todos los sistemas operativos orientados al usuario, Symbian OS tiene un sistema de archivos, el cual veremos a continuacin.SISTEMAS DE ARCHIVOS PARA DISPOSITIVOS MVILESEn trminos de sistemas de archivos y almacenamiento, los sistemas operativos de los telfonos mviles tienen muchos de los requerimientos de los sistemas operativos de los equipos de escritorio.La mayora se implementa en entornos de 32 bits; permite a los usuarios dar nombres arbitrarios a los archivos; almacena muchos archivos que requieren cierto tipo de estructura organizada.Esto significa que es conveniente un sistema de archivos jerrquico basado en directorios. Y aunque los diseadores de los sistemas operativos mviles tienen muchas opciones para los sistemas de archivos, hay una caracterstica ms que influye en su eleccin: la mayora de los telfonos mviles tienen medios de almacenamiento que se pueden compartir con un entorno Windows.Si los sistemas de los telfonos mviles no tuvieran medios removibles, entonces se podra utilizar cualquier sistema de archivos. Sin embargo, para los sistemas que utilizan memoria flash hay que tener en cuenta ciertas circunstancias. Los tamaos de bloque son por lo general de 512 bytes a 2048 bytes. La memoria flash simplemente no puede sobrescribir la memoria; debe borrar primero y luego escribir. Adems, la unidad de eliminacin es bastante ordinaria: no es posible borrar bytes, sino bloques enteros a la vez. Los tiempos de borrado para la memoria flash son relativamente largos.Para tener en cuenta estas caractersticas, la memoria flash funciona mejor cuando hay sistemas de archivos diseados de manera especfica que esparcen las escrituras por los medios y lidian con los tiempos largos de borrado. El concepto bsico es que cuando se va a actualizar el almacenamiento flash, el sistema de archivos escribe una nueva copia de los datos modificados en un bloque sin usar, reasigna los apuntadores de archivos y borra el bloque anterior ms tarde, cuando tiene tiempo. Uno de los primeros sistemas de archivos flash fue FFS2 de Microsoft, para usarlo con MSDOS, a principios de la dcada de 1990. Cuando el grupo de la industria PCMCIA aprob la especificacin del Nivel de traduccin de flash para la memoria flash en 1994, los dispositivos flash tenan la apariencia de un sistema de archivos FAT. Linux tambin cuenta con sistemas de archivos diseados en forma especial, desde JFFS a YAFFS (Journaling Flash File System, Sistema de archivos flash transaccional, y Yet Another Flash Filing System, Otro sistema ms de archivos flash).Sin embargo, las plataformas mviles deben compartir sus medios con otras computadoras, para lo cual es necesario contar con cierta forma de compatibilidad. Los sistemas FAT se utilizan con ms frecuencia. En especial FAT-16 por su tabla de asignacin ms corta (en vez de FAT-32) y por su uso reducido de archivos extensos.SISTEMAS DE ARCHIVOS DE SYMBIAN OS

Debido a que Symbian OS es un sistema operativo para telfonos inteligentes mviles, necesita implementar por lo menos el sistema de archivos FAT-16. Sin duda provee soporte para FAT-16 y utiliza ese sistema operativo para la mayor parte de sus medios de almacenamiento.Sin embargo, la implementacin del servidor de archivos de Symbian OS se basa en una abstraccin, en forma muy parecida al sistema de archivos virtual de Linux. La orientacin a objetos permite conectar objetos que implementan varios sistemas operativos al servidor de archivos de Symbian OS, con lo cual se pueden utilizar muchas implementaciones distintas de sistemas de archivos. Incluso, las distintas implementaciones pueden coexistir en el mismo servidor de archivos. Tambin se han creado implementaciones de los sistemas de archivos NFS y SMB para Symbian OS.SEGURIDAD Y PROTECCIN DEL SISTEMA DE ARCHIVOS

Considere el entorno para los telfonos inteligentes. Son dispositivos de un solo usuario y no requieren identificacin para usarlos. El usuario de un telfono puede ejecutar aplicaciones, marcar un nmero telefnico y acceder a las redes; todo ello sin identificacin. En este entorno, el uso de la seguridad basada en permisos es desafiante debido a que la falta de identificacin significa que slo es posible un conjunto de permisos: el mismo para todos.En vez de permisos de usuario, la seguridad con frecuencia aprovecha otros tipos de informacin.En la versin 9 y posteriores de Symbian OS, las aplicaciones reciben un conjunto de capacidades al instalarse (en la siguiente seccin analizaremos el proceso que decide qu capacidades otorgar a una aplicacin). Este conjunto de capacidades para una aplicacin se compara con el acceso que solicita. Si el acceso est en el conjunto de capacidades, entonces se otorga el acceso; en caso contrario, se rechaza. Para comparar capacidades se requiere cierta sobrecarga (la comparacin se realiza en cada llamada al sistema que implique el acceso a un recurso), pero ya no existe la sobrecarga de comparar la propiedad de los archivos con el propietario de un archivo. Este sacrificio funciona bien para Symbian OS.