La Historia de Symbian Os

LA HISTORIA DE SYMBIAN OS En términos del desarrollo de las computadoras en general, UNIX tiene una historia antigua; Wi

Views 159 Downloads 20 File size 297KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

LA HISTORIA DE SYMBIAN OS En términos 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 raíces están en los sistemas que se desarrollaron en la década de 1990, y su debut fue en el 2001. Esto no debería sorprender, ya que la plataforma de los teléfonos inteligentes en la que se ejecuta Symbian OS también evolucionó desde hace poco. Symbian OS tiene sus raíces en los dispositivos de bolsillo y se ha desarrollado con rapidez a través de varias versiones. 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. Los dispositivos de bolsillo también crecieron para abarcar la comunicación. A medida que iban creciendo estos dispositivos personales, también se desarrollaba la comunicación personal. Los teléfonos móviles tuvieron un notable incremento en su uso a finales de la década de 1990. Por ende, era natural fusionar los dispositivos de bolsillo con los teléfonos móviles para formar los teléfonos inteligentes. Se tuvieron que desarrollar los sistemas operativos que operaban a los dispositivos inteligentes a medida que se realizó esta fusión. En la década de 1990, Psion Computers fabricaba dispositivos que eran PDAs. En 1991, Psion produjo la Serie 3: una pequeña computadora con una pantalla monocromática que tenía una resolución equivalente a la mitad de VGA y cabía en un bolsillo. Después de la Serie 3 salió la Serie 3c en 1996, con capacidad infrarroja adicional, y la Serie 3mx en 1998, con un procesador más veloz y más memoria. Cada uno de estos dispositivos tuvo mucho éxito, en gran parte debido a la buena administración de energía y la interoperabilidad con otras computadoras, incluyendo las PCs y otros dispositivos de bolsillo. 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 microkernel para enfocar la funcionalidad en los motores (funcionaban como

servidores) que administraban las funciones en respuesta a las peticiones de las aplicaciones. Esta metodología hizo posible la estandarización de una API y el uso de la abstracción 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 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. También utilizó la metodología de los motores y expandió esta idea de diseño en una serie de servidores que coordinaban el acceso a los servicios del sistema y los dispositivos periféricos. EPOC expandió las posibilidades de comunicación, abrió el sistema operativo a la tecnología multimedia, introdujo nuevas plataformas para interconectar elementos como las pantallas táctiles y generalizó la interfaz de hardware. EPOC se desarrolló aún más 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 también buscaba enfatizar las formas en que se podía adaptar su sistema operativo a otras plataformas de hardware. Cerca del 2000, la mayoría de las oportunidades para el desarrollo de nuevos equipos de bolsillo estaban en el negocio de los teléfonos móviles, donde los fabricantes ya estaban buscando un sistema operativo nuevo y avanzado para su próxima generación de dispositivos. Para aprovechar estas oportunidades, Psion y los líderes en la industria de los teléfonos móviles, 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 núcleo. Este nuevo diseño del núcleo se conoce ahora como Symbian OS. SYMBIAN OS VERSIÓN 6 También se decidió que Symbian OS adoptara en forma activa las tecnologías actuales de punta, a medida que se hicieran disponibles. Esta decisión reforzaba las opciones de diseño de orientación a objetos y una arquitectura cliente-servidor, ya que estas tecnologías se estaban volviendo populares en los mundos de las computadoras de escritorio e Internet. Los diseñadores de Symbian OS versión 6 lo consideraban un sistema “abierto”. Esto era distinto de las propiedades de “código fuente abierto” que se atribuían a menudo a UNIX y Linux. Co el término “abierto”, los diseñadores de Symbian OS querían decir que la estructura del sistema operativo se publicaba y estaba disponible para todos. Además, se publicaron todas las interfaces del sistema para fomentar el diseño de software de terceras partes.

SYMBIAN OS VERSIÓN 7 La versión 7 de Symbian OS mantenía la funcionalidad de escritorio de EPOC, pero la mayoría de los aspectos internos del sistema se rediseñaron para abarcar muchos tipos de funcionalidad de los teléfonos inteligentes. El kernel y los servicios del sistema operativo se separaron de la interfaz de usuario. SYMBIAN OS EN LA ACTUALIDAD 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. La versión 9 de Symbian OS agregó la flexibilidad para el hardware que la versión 7 agregó para el software. Se desarrolló un nuevo modelo binario que permitía a los desarrolladores de hardware utilizar Symbian OS sin tener que rediseñar el hardware para adaptarlo a un modelo de arquitectura específico.

ENTRADA Y SALIDA En esta sección resaltaremos algunas de las características únicas que Symbian OS utiliza para enfocarse en su plataforma de destino. DRIVERS DE DISPOSITIVOS En Symbian OS, los drivers de dispositivos se ejecutan como código privilegiado del kernel para proporcionar acceso al código 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 lógico (LDD) y un driver de dispositivo físico (PDD). El LDD presenta una interfaz a los niveles superiores del software, mientras que el PDD interactúa de manera directa con el hardware. En este modelo, el LDD puede utilizar la misma implementación para una clase específica de dispositivos, mientras que el PDD cambia con cada dispositivo. Symbian OS suministra muchos LDDs estándar. Algunas veces, si el hardware es muy estándar o común, Symbian OS también proporciona un PDD.

Considere un ejemplo de un dispositivo serial. Symbian OS define un LDD serial genérico 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 búfer 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 teléfono inteligente específico, éstos podrían incluir un puerto infrarrojo o incluso un puerto RS-232. EXTENSIONES DEL KERNEL Las extensiones del kernel están integradas en el procedimiento de inicio. Estos drivers de dispositivos especiales se cargan e inician justo después de que inicia el programador. Implementan funciones cruciales para los sistemas operativos: servicios de DMA, administración de la pantalla, control de buses para los dispositivos periféricos (por ejemplo, el bus USB). ACCESO DIRECTO A LA MEMORIA Con 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 dirección de comunicación entre la memoria y un dispositivo; por lo tanto, la transmisión 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. Además, la mayoría de las plataformas ofrecen cierto número de canales de DMA generales. Cuando un dispositivo transmite datos a la memoria, se activa una interrupción 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 extensión 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 extensión 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 razón especial. Symbian OS soporta muchas configuraciones de hardware distintas, por lo cual se puede suponer una sola configuración 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 teléfonos 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 estándar 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/S Symbian OS trata con el bloqueo de E/S por medio de objetos activos. Los diseñadores se dieron cuenta que el peso de todos los hilos que esperan un evento de E/S afecta a los demás 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 señala 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 continúa su ejecución como si una función hubiera regresado con datos. La diferencia es una de perspectiva para el objeto activo. No puede llamar a una función y esperar un valor de retorno. Debe llamar a una función 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 diseñadores de sistemas operativos. Cuando se inserta una tarjeta SD (Digital segura) en la ranura del lector, es un dispositivo justo igual que los demás. 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: ¿cómo detecta el sistema operativo la inserción y remoción, y cómo debe tener en cuenta el modelo la ausencia de una tarjeta de medios? Para complicar más las cosas, algunas ranuras de dispositivos pueden alojar más 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 implementación de los medios removibles con sus similitudes. Cada tipo de medio removible tiene características comunes para todos los demás: 1. Todos los dispositivos se pueden insertar y remover. 2. Todos los medios removibles se pueden remover “en caliente”; es decir, mientras están en uso. 3. Cada medio puede reportar sus capacidades. 4. Las tarjetas incompatibles se deben rechazar.

5. Cada tarjeta necesita energía. 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, también en software. Cuando se inserta una tarjeta se crea un objeto de socket, que forma el canal a través 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 continuación. SISTEMAS DE ARCHIVOS PARA DISPOSITIVOS MÓVILES En términos de sistemas de archivos y almacenamiento, los sistemas operativos de los teléfonos móviles tienen muchos de los requerimientos de los sistemas operativos de los equipos de escritorio.La mayoría 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 jerárquico basado en directorios. Y aunque los diseñadores de los sistemas operativos móviles tienen muchas opciones para los sistemas de archivos, hay una característica más que influye en su elección: la mayoría de los teléfonos móviles tienen medios de almacenamiento que se pueden compartir con un entorno Windows. Si los sistemas de los teléfonos móviles no tuvieran medios removibles, entonces se podría utilizar cualquier sistema de archivos. Sin embargo, para los sistemas que utilizan memoria flash hay que tener en cuenta ciertas circunstancias. Los tamaños 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. Además, la unidad de eliminación 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 características, la memoria flash funciona mejor cuando hay sistemas de archivos diseñados de manera específica que esparcen las escrituras por los medios y lidian con los tiempos largos de borrado. El concepto básico 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 más tarde, cuando tiene tiempo. Uno de los primeros sistemas de archivos flash fue FFS2 de Microsoft, para usarlo con MSDOS, a principios de la década de 1990. Cuando el grupo de la industria PCMCIA

aprobó la especificación del Nivel de traducción de flash para la memoria flash en 1994, los dispositivos flash tenían la apariencia de un sistema de archivos FAT. Linux también cuenta con sistemas de archivos diseñados en forma especial, desde JFFS a YAFFS (Journaling Flash File System, Sistema de archivos flash transaccional, y Yet Another Flash Filing System, Otro sistema más de archivos flash).Sin embargo, las plataformas móviles deben compartir sus medios con otras computadoras, para lo cual es necesario contar con cierta forma de compatibilidad. Los sistemas FAT se utilizan con más frecuencia. En especial FAT-16 por su tabla de asignación más 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 teléfonos inteligentes móviles, 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 implementación del servidor de archivos de Symbian OS se basa en una abstracción, en forma muy parecida al sistema de archivos virtual de Linux. La orientación 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. También se han creado implementaciones de los sistemas de archivos NFS y SMB para Symbian OS. SEGURIDAD Y PROTECCIÓN DEL SISTEMA DE ARCHIVOS Considere el entorno para los teléfonos inteligentes. Son dispositivos de un solo usuario y no requieren identificación para usarlos. El usuario de un teléfono puede ejecutar aplicaciones, marcar un número telefónico y acceder a las redes; todo ello sin identificación. En este entorno, el uso de la seguridad basada en permisos es desafiante debido a que la falta de identificación significa que sólo es posible un conjunto de permisos: el mismo para todos. En vez de permisos de usuario, la seguridad con frecuencia aprovecha otros tipos de información. En la versión 9 y posteriores de Symbian OS, las aplicaciones reciben un conjunto de capacidades al instalarse (en la siguiente sección analizaremos el proceso que decide qué capacidades otorgar a una aplicación). Este conjunto de capacidades para una aplicación 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 comparación 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.