Nuevas Tendencias en Sistemas Operativos

18
SISTEMAS OPERATIVOS PARA MÓVILES SYMBIAN INTRODUCCIÓN Symbian es un Sistema Operativo para móviles que en los últimos años ha salido mucho a flote debido a la utilización de dicho SO en los equipos móviles esencialmente de la empresa Nokia, formado en 1998 por las empresas Nokia, Motorola y Ericsson. Descendiente de los sistemas PSION y EPOC para móviles, en Junio 2000, Nokia lanzo su primer equipo celular basado en este sistema. Symbian tiene características interesantes los cual facilita el desarrollo de aplicaciones para el mismo. Primeramente, es un sistema basado en ROM, lo cual es una característica que no se había podido en otros sistemas, aunque ya en estos últimos años existen las memorias flash la cuales permiten poder guardar en ellas aplicaciones del mismo SO. Este sistema tiene un eficiente manejo de energía lo cual disminuye considerablemente su uso. Los principios de diseño de este SO están basados en lo siguiente: - Patrón de microkernel: Lo cuan reduce las responsabilidades del kernel a un nivel considerable. Las tareas principales del kernel es el manejo de interrupciones y prioridades del sistema. Solo muy pocas partes del sistema tienen los privilegios de trabajar directamente con el kernel. - Patrón de Cliente-Servidor: Donde los recursos son compartidos entre múltiples “usuarios”, incluyendo servicios de sistema o aplicaciones. La mayor parte de las aplicaciones en Symbian manejan este esquema, puesto que no tienen los privilegios requeridos para manejar directamente el kernel. - Frameworks: Son patrones de diseño que son usados en todos los niveles del sistema operativo, desde las aplicaciones hasta los controladores de los dispositivos. Esencialmente en este SO se utiliza para el nivel de adaptación entre Hardware y aplicaciones. - Modelo de Aplicaciones Graficas: Todas las aplicaciones son GUI (Interfaz Gráfica de Usuario), mientras que los servidores no utilizan Interfaces de Usuario. - Modelo de Aplicaciones Basadas en Eventos.

Transcript of Nuevas Tendencias en Sistemas Operativos

Page 1: Nuevas Tendencias en Sistemas Operativos

SISTEMAS OPERATIVOS PARA MÓVILES

SYMBIAN

INTRODUCCIÓN

Symbian es un Sistema Operativo para móviles que en los últimos años ha salido mucho a flote debido a la utilización de dicho SO en los equipos móviles esencialmente de la empresa Nokia, formado en 1998 por las empresas Nokia, Motorola y Ericsson. Descendiente de los sistemas PSION y EPOC para móviles, en Junio 2000, Nokia lanzo su primer equipo celular basado en este sistema.

Symbian tiene características interesantes los cual facilita el desarrollo de aplicaciones para el mismo. Primeramente, es un sistema basado en ROM, lo cual es una característica que no se había podido en otros sistemas, aunque ya en estos últimos años existen las memorias flash la cuales permiten poder guardar en ellas aplicaciones del mismo SO. Este sistema tiene un eficiente manejo de energía lo cual disminuye considerablemente su uso.

Los principios de diseño de este SO están basados en lo siguiente:

- Patrón de microkernel: Lo cuan reduce las responsabilidades del kernel a un nivel considerable. Las tareas principales del kernel es el manejo de interrupciones y prioridades del sistema. Solo muy pocas partes del sistema tienen los privilegios de trabajar directamente con el kernel.

- Patrón de Cliente-Servidor: Donde los recursos son compartidos entre múltiples “usuarios”, incluyendo servicios de sistema o aplicaciones. La mayor parte de las aplicaciones en Symbian manejan este esquema, puesto que no tienen los privilegios requeridos para manejar directamente el kernel.

- Frameworks: Son patrones de diseño que son usados en todos los niveles del sistema operativo, desde las aplicaciones hasta los controladores de los dispositivos. Esencialmente en este SO se utiliza para el nivel de adaptación entre Hardware y aplicaciones.

- Modelo de Aplicaciones Graficas: Todas las aplicaciones son GUI (Interfaz Gráfica de Usuario), mientras que los servidores no utilizan Interfaces de Usuario.

- Modelo de Aplicaciones Basadas en Eventos.

PROCESOS

Para la gestión de procesos, Symbian utiliza un modelo Cliente-Servidor donde las aplicaciones solicitan servicios del servidor. En la siguiente figura se muestra un esquema del flujo de peticiones al servidor (Kernel).

Page 2: Nuevas Tendencias en Sistemas Operativos

Fig. 1 Esquema de Flujo de Peticiones entre Aplicaciones, Servicios de Sistema y Kernel

En Symbian los hilos y procesos son definidos de la siguiente manera:

- Los hilos son unidades de ejecución que el planificador del kernel planifica.- Los procesos son colecciones de al menos uno pero posiblemente múltiples

hilos que comparten la misma dirección de espacio en memoria. En otras palabras son unidades de protección de memoria.

- Un proceso es creado como una instanciación de un archivo imagen ejecutable (como un tipo exe en Symbian). Por default este contiene un hilo, pero el programador puede definir más hilos para la ejecución de este proceso.

Fig. 2 Estados de Procesos en Symbian. Nuevo, Listo, Ejecución, Espera, Terminado.

Este Sistema Operativo tiene la característica de funcionar en tiempo real además de ser un sistema de propósito general, la combinación de ambas características significa que la mejor opción de planificación es un sistema que use una estrategia estática monotónica, controlada por ciclos de tiempo. Esta estrategia organiza los procesos SDF (Shortest Deadline First) algo similar a SJF. El proceso de más corto plazo es ejecutado primero. La introducción de ciclos de tiempo significa que los procesos con el mismo plazo pueden ser asignados y planificados utilizando Planificación por Prioridades. Existen 64 niveles de prioridad en Symbian.

CONCURRENCIA

El soporte de Symbian (Arquitectura MicroKernel) para sincronización toma la forma de 2 tipos de objetos:

- Mutexes: Es un semáforo binario que solo tiene 2 estados, diseñado para implementar la exclusión mutua entre 2 procesos.

- Semáforos: Es una forma más general de los Mutexes, ya que puede tener valores mayores a 1, permitiendo la exclusión mutua entre múltiples procesos.

Page 3: Nuevas Tendencias en Sistemas Operativos

Algo interesante que Symbian aplica para la sincronización de proceso es la de prioridad de proceso. Symbian tiene la propiedad de que si los procesos con diferentes prioridades están esperando a un mutex, el proceso con la prioridad más alta debería ser el siguiente en adquirir el control el mutex es modificado.

MEMORIA

Symbian ofrece un buen ejemplo de sistema que no utiliza el modelo de memoria virtual con espacio de intercambio (virtual-memory-swap-space model) para el manejo de memoria.

Symbian divide la memoria en páginas lógicas y marcos físicos. El tamaño de marco es usualmente de 4 kb, pero puede ser variable. Por ejemplo, si se cuenta con 4 gb de memoria y se tiene un marco de 4kb, significa que se tiene una tabla de páginas de arriba de un millón de entradas. Con espacios limitados de memoria, Symbian no puede dedicar 1Mb para la tabla de páginas.

Para solucionar esto, Symbian adopta una estrategia de tabla de páginas de 2 niveles. El primer nivel es un directorio de páginas que proporcionan una liga al segundo nivel que es indexado por una dirección lógica en los primeros 12 bits. Un directorio de páginas apunta al segundo nivel que es una colección de tablas de páginas.

Fig. 3 Paginación y Direcciones Virtuales en Symbian

Page 4: Nuevas Tendencias en Sistemas Operativos

E/S

- Controladores de Dispositivos: Se ejecutan como código privilegiado y proporcionan al usuario código de acceso a los recursos protegidos por el sistema.

- Extensiones del Kernel: Las extensiones del kernel son controladores de dispositivo que son cargados por Symbian en el arranque. Lo que los hace ser tratados de distintas maneta que los que controladores de dispositivo normales.

- Capa de Abstracción de Hardware

- Acceso Directo a Memoria: Symbian soporta el uso del hardware DMA

- Almacenamiento: Te servidor de almacenamiento de Symbian soporta hasta 26 diferentes controladores al mismo tiempo.

-

ARCHIVOS

Los sistemas operativos para móviles al igual que un sistema operativo para equipos de escritorio requieren se ciertos requerimientos para la gestión de archivos. Normalmente se manejan entornos de 32 bits, donde permiten al usuario dar nombre a sus archivos, por lo cual son requeridas estructuras de organización de archivos. Esto significa que es necesario un sistema de archivos basado en herencia de directorios.

SEGURIDAD

La plataforma de seguridad fue introducida en la versión V9 de Symbian en el 2005.

Existen 3 principios fundamentales en esta plataforma:

- Los proceso como una unidad de confianza, que convierte esa confianza en otro recurso de sistema de proceso granular.

- capacidades a medida que las señales de confianza, que están obligados a realizarAcciones.

- Encapsulado de información, que protege la información de miradas discretas (mediante políticas de acceso de lectura) o interfaces (mediante políticas de acceso de escritura) o ambas.

Page 5: Nuevas Tendencias en Sistemas Operativos

ANDROID

INTRODUCCIÓN

Android es un Sistema Operativo basado en el kernel de Linux para dispositivos móviles. Android permite controlar dispositivos por medio de una SDK desarrollada en el lenguaje de Programación JAVA.

Android es una plataforma de código abierto, esto significa que cualquier desarrollador que tenga nociones de algún lenguaje de programación como C o Java sea capaz de desarrollar aplicaciones para este sistema, compilando sus programas en código nativo de ARM (API de Android).

Inicialmente Android fue lanzado por Google Inc. poco después se unieron más empresas con el fin de fortalecer el desarrollo de código abierto de este sistema y que hoy en día está teniendo mucho éxito en el mercado.

Este sistema Operativo es un boom para los desarrolladores de esta década ya que por lo mismo que es de código abierto, es posible desarrollar aplicaciones propias para este sistema. Además de que ofrece una enorme compatibilidad con varios lenguajes de programación muy usados en la actualidad como son C, C++, Java, Python, etc.

PROCESOS

Como en todo SO un proceso está representado por una estructura de datos donde se guarda toda su información (PCB) Bloque de control de proceso. El SO Android basado en Linux utiliza una estructura llamada struct task_struct para el PCB. Donde almacena la información sobre un proceso.

Para la planificación de procesos los tipos de algoritmos usados en el kernel están definidos por el estándar de POSIX. El algoritmo de planificación es muy parecido a Round Robin con prioridades. Donde puede haber procesos a la vez con distinta política de planificación. En realidad, cada proceso puede ser planificado según sea el proceso de planificación que se emplee, y puede cambiar en tiempo de ejecución, y son los siguientes:

- SCHED_OTHER: Planificacion Clásica de UNIX. No aplicable en tiempo real.

- SCHED_FIFO: Sistema FIFO o FCFS (First Come is First Served)

- SCHED_RR: Roud Robin o Turno Rotario

- SCHED_YIELD: No es una política de planificación sino que es un modificador para loas demás anteriores.

CONCURRENCIA

Page 6: Nuevas Tendencias en Sistemas Operativos

Este sistema basado en el kernel de Linux, maneja las mismas estrategias para la concurrencia entre procesos que en Linux. Entre los mecanismos de concurrencia que utiliza se encuentran los siguientes:

- Pilas

- Paso de Mensajes

- Memoria Compartida

- Semáforos

- Señales

MEMORIA, E/S, ARCHIVOS

Para la gestión de memoria, entradas y salidas y Archivos, igualmente como está basado en Linux, utiliza un esquema de gestión prácticamente similar al del kernel de Linux. Tiene una estructura tipo micro kernel donde el kernel se encuentra en la capa inferior y las aplicaciones y servicios del sistema operativo se encuentran distribuidos en la parte superior.

Este sistema operativo fue diseñado de manera que sea más atractivo para los desarrolladores de aplicaciones para móviles, ya que para poder desarrollar una aplicación para un sistema operativo Android, basta con tener conocimientos de cierto de leguaje de programación y saber cómo compilarlos en el lenguaje nativo de Android, y listo, ya se tiene una aplicación para esta SO. Sin preocuparte por cuestiones de procesamiento, gestión de memoria o concurrencia, ya que el kernel de Linux es el que se encarga de todo eso.

Page 7: Nuevas Tendencias en Sistemas Operativos

Fig. 4 Arquitectura de Android Basada en el Kernel de Linux

SEGURIDAD

En cuanto a seguridad maneja el esquema que maneja Linux. Algunos de los mecanismos de seguridad en el sistema son los siguientes:

- Sistemas de permisos (ficheros, IPCs)- Sistema de logs y accounting- Mecanismos genéricos de autenticación: PAM- Seguridad en el kernel:- Parches GRSEC- Sistemas de ficheros criptográficos

A continuación una nota reciente de problema con seguridad en Android:Xataka Móvil demuestra que recientemente se han encontrado importantes problemas de seguridad y vulnerabilidades en Android. Estos agujeros de seguridad podrían permitir a alguien tomar el control del sistema operativo a través algunos formatos de imagen comunes.Parece ser que algunas de esas vulnerabilidades se derivan del uso de librerías de procesamiento de imágenes anticuadas y otras se deben al código nativo del sistema.

SISTEMAS OPERATIVOS BASADOS EN CLOUD COMPUTING

CHROME OS

Page 8: Nuevas Tendencias en Sistemas Operativos

INTRODUCCIÓN

Chromium OS es un Sistema Operativo Moderno basado en la web. Un nuevo concepto está comenzando a utilizarse y es el de Cloud Computing que traducido es Cómputo en la Nube. Hoy en día existen varias empresas que están poniendo gran parte de su atención en esta nueva tendencia. Consiste en tener tanto aplicaciones como información en la Web (Internet) lo cual podría ser una ventaja para muchos de los usuarios que no cuentan con gran capacidad de procesamiento en sus equipos, puesto que solo requieren contar con un navegador como de Chrome Browser.

Chromium OS está basado en el kernel de Linux lo cual le da una ventaja con respecto a otros sistemas de la nube, tanto por su seguridad como eficiencia en el manejo de recursos. Consiste primordialmente en 3 componentes básicos:

- El Navegador y Gestor de Ventanas basado en Chromium- Nivel de Sistema para Software y servicios de usuario, el kernel, controladores,

gestor de conexión entre otros que se muestran en el diagrama siguiente.- Firmware

Fig.Arquitectura de Chomium OS

Este sistema tiene poco que se lanzó pero se ve muy prometedor ya que el nuevo concepto de Cloud Computing se está utilizando mucho en estos días. Creo que es una opción favorable el utilizarlo. Conociendo el historial de Google Inc. y sus aportaciones al mundo de la computación creo que es una buena opción para esta nueva tendencia.

SEGURIDAD

Chromium OS fue diseñado pensando en la seguridad como algo primordial en su desarrollo, ya que por lo mismo que se encuentra en la web, es importante contar con mecanismos de seguridad lo más eficientes posibles. Los principios a seguir en este

Page 9: Nuevas Tendencias en Sistemas Operativos

sistema operativo basado en Cloud Computing en materia de Seguridad son los siguientes:

- Lo perfecto es enemigo de lo bueno. Esto significa que que no toda solución de seguridad es perfecta.

- Desarrollo de defensas a conciencia: Se crean mecanismos para una serie de ataques conocidos y se desarrollan nuevos para los constantes ataques recientes.

- Hacerlo seguro por default. No es una opción, la web está llena de peligros por lo cual es necesario contar con un sistema de seguridad robusto.

- No hacer de sus usuarios, un chivo expiatorio, en la realidad el usuario final es el que verdaderamente está confiando en un sistema y él es quien lleva las consecuencias a la hora de una amenaza al sistema operativo.

Conociendo la trayectoria del navegador de Chrome y como maneja la seguridad, además de la eficiencia en el manejo de procesos, Chromium OS promete mucho y se cree que va lograr grandes resultados en la tendencia de Cloud Computing.

SISTEMAS OPERATIVOS INNOVADORES

MAC OS X SNOW LEOPARD

INTRODUCCIÓN

Mac OS X v.10.6 “Snow Leopard” es un sistema operativo recientemente lanzado por la empresa Apple en agosto del 2009. Este sistema ha revolucionado tanto el mercado que es uno de los más utilizados en la actualidad por su atractiva interfaz gráfica. Esta versión especial del Sistema Operativo Mac OS X que ha venido desarrollando la empresa Apple ya hace algunos años vino a ser la mejora a la versión an terior Mac OS X v. 10.5 “Leopard”, trayendo grandes cambios tanto en la apariencia como en el rendimiento del sistema operativo Mac.

TECNOLOGIA 64 BITS

Page 10: Nuevas Tendencias en Sistemas Operativos

Un concepto muy mencionado en estos últimos tiempos es el tipo de arquitectura de un sistema operativo, si es de 32 o 64 bits. Tal parece que es una es la moda migrar de 32bits a 64 bits pero muchas veces sin saber el verdadero significado.

Es importante conocer es que si el software que se utiliza está diseñado para una arquitectura de 32 bits, no tiene caso contar con la arquitectura de 64 bits puesto que no se aprovecharía nada esta tecnología porque el software seguiría solo utilizando 32 bits. Snow Leopard actualmente se ha dado a la tare de migrar sus aplicaciones a esta nueva arquitectura para poder brindar un más amplio rendimiento en su gestión de procesos y memoria.

La tecnología de 64 bits en Snow Leopard permite gestionar una mayor cantidad de memoria RAM, hasta 16 terabytes de memoria, esto suena algo de ciencia ficción pero cierto y con resultados tremendamente impresionantes.

Una ventaja más de una arquitectura de 64 bits es aquella que permite tener un entorno más seguro. Esta arquitectura contiene un mecanismo de asignación de funciones más eficiente que la arquitectura de 64 bits, tiene un bit de desactivación basado en hardware en el área de memoria dinámica, y las firmas criptográficas se encargan de salvaguardar los ataques a la memoria.

GRAND CENTRAL DISPATCH

Para la concurrencia entre procesos es altamente benéfico contar con 2 o más procesadores, ya que permite realizar las tareas de manera paralela, obteniendo así, mayor rendimiento en el procesamiento de información.

Al contar con dos núcleos las tareas son asignadas por hilos, para que cada núcleo ejecute parte del programa y así obtener un resultado más rápido y eficiente. Snow Leopard implementa una tecnología para operaciones multihilo denominada Grand Central Dispatch o GCD.

Esta aplicación se encarga de controlar y gestionar las operaciones multihilo, en vez de que cada aplicación las gestione por sí misma. De esta forma facilita el trabajo de los desarrolladores, puesto que no se deben preocupar por configuración de múltiples hilos, el GCD se encarga de ello.

INCORPORACIÓN DE OPENCL

Page 11: Nuevas Tendencias en Sistemas Operativos

OpenCL (Open Computing Language) es un estándar abierto para programación en paralelo sobre varias plataformas de desaarrollo. Su principal característica es que emplea el uso de las GPU (Graphics Processor Unit) en coordinación con la CPU para obtener mayor capacidad de procesamiento. Aprovechando los múltiples núcleos que disponen las GPU´s actuales para procesamiento de aplicaciones que antes corrían solo en el CPU. Muchas de las empresas que se dedican a distribuir GPU´s, están comenzando a ofertar sus productos como una opción para el supercómputo mediante el uso de los núcleos de la GPU.

Snow Leopard Incorpora la tecnología OpenCL con el fin de aprovechar la capacidad de procesamiento de las GPU para ponerlas a disposición de proceso no gráficos de la mayor parte de las aplicaciones. Esto proporciona otra ventaja para la programación concurrente y paralela que hoy en día es una aplicación que muchas empresas están poniendo en la mira.

CONCLUSIONES

¿QUÉ SISTEMAS ESTARIAMOS DISPUESTOS A UTLIZAR?

SO´S PARA MOVILES

Android. Por ser un Sistema Operativo moderno que promete mucho, a pesar de algunos problemas que se han suscitado en lo correspondiente a seguridad creemos que cuenta con un enorme equipo de desarrolladores que trabajan en ello. Una ventaja de este sistema con respecto a los demás es que es de código abierto, lo cual permite el acceso de más desarrolladores el equipo de desarrolladores de Android.

Actualmente existen muchas empresas de móviles que ya utilizan Android como sistema estándar para sus equipos, y algo muy interesante es que no solo se está utilizando para la industria telefónica si no que se ha extendido a otros dispositivos como NetBooks. HP hace poco en conferencia de prensa expresa que está pensando que en un futuro próximo algunos de sus productos como NetBooks estarán utilizando este sistema Operativo como nativo.

Como lo hemos mencionado repetidas veces, conociendo la trayectoria de Google Inc. y ahora más con la incorporación de grandes corporaciones de desarrollo de sistemas para móviles, creemos que es una buena opción para un Sistema Operativo móvil.

SO´S BASADOS EN CLOUND COMPUTING

<Este te toca Adrián a ti te tocó más sobre esto>

Yo Recomiendo Chrome OS por la trayectoria que tiene Google en cuestión a la seguridad, aunque también esta Windows Azure que parece que tiene algo chido.

Page 12: Nuevas Tendencias en Sistemas Operativos

SO´S INNOVADORES

Esto depende del tipo de hardware con el que se disponga, normalmente en cuanto a PC “Normales” usaríamos Windows 7 por ser una opción muy moderna y atractiva que llego a ser la solución a la gestión de recursos de Windows Vista. En cuanto a la gestión de recursos parece ser estable y cuenta con nuevas incorporaciones para el manejo de multiprocesamiento.

En cuanto a Snow Leopard es una opción atractiva para la línea de equipos MAC por ser el sistema que más se adapta a este tipo de equipos aunque últimamente ya es posible instalar un Windows 7 en una maquina MAC pero pues sabemos que la mejor manera de aprovechar la arquitectura de este tipo de equipos es utilizar el sistema operativo nativo de los equipos de MAC.

Page 13: Nuevas Tendencias en Sistemas Operativos

¿CUÁL SERIA LA MEJOR MANERA DE PROBAR SI UN SO ES “BUENO” Y CUALES SERIAN LOS PARÁMETROS A TOMAR EN CUENTA PARA ELLO?

SO´S PARA MOVILES

Para probar si un SO para móviles es bueno o no, es importante tomar en cuenta los siguientes parámetros:

- Probar la compatibilidad con la mayoría de los equipos actuales - Gestión de memoria - Gestión de Procesador, que tan eficiente es el manejo de recursos- Gestión de Almacenamiento - Gestión de red y conexiones, esto incluye todo lo referente a internet, telefonía,

bluetooth, etc.- Requerimientos recomendados de hardware para su correcto funcionamiento

SO´S BASADOS EN CLOUD COMPUTING

Para probar la eficiencia de un SO basado en Cloud Computing los parámetros a seguir serían los siguientes:

- Primordialmente la seguridad ante todo, puesto que el usuario confía su información a un sistema que se encuentra hospedado en la web y que está expuesto a infinidad de ataques.

- Capacidad de escalabilidad del Sistema. Esto significa que tanto puedo cargar este sistema, es decir que soporte máximo de aplicaciones tiene o que capacidad de gestión tiene para altos volúmenes de información.

- Software soportado por el sistema y que utilidad conviene utilizar según el giro de trabajo que tenga el usuario.

- Algo importante es el costo que conlleva tener almacenada gran volumen de información en la nube.

- La existencia de Soporte Técnico para el Sistema en caso de anomalías.

SO´S INNOVADORESHoy en día existen en el mercado varios sistemas operativos que ofrecen infinidad de utilidades que muchas veces tratan de emocionar al cliente y tratan de venderle la interfaz y no el funcionamiento real del sistema. Por eso es importante tomar en cuenta los siguientes parámetros para determinar si reamente un Sistema Operativo es bueno o no.

Page 14: Nuevas Tendencias en Sistemas Operativos

- La seguridad es un factor importante en la elección de un Sistema Operativo, esto es, conocer los mecanismos de seguridad con los que este cuenta.

- Soporte Técnico especializado en caso de alguna anomalía.- La gestión de memoria, procesador y de archivos.- Si cuenta con un sistema de respaldo en caso de alguna anomalía eléctrica, de

software o de hardware. - Compatibilidad con la mayor parte del software que se encuentra en el

mercado.- Compatibilidad con el hardware que se cuente. Esto es si se adapta fácilmente a

cualquier tipo de hardware.- Requisitos recomendados de hardware para su correcto funcionamiento.- Algo que debería también importar aunque pues la piratería está a flote, es el

costo, esto es, si realmente vale la pena el adquirirlo y si el costo corresponde a su efectividad.

REFERENCIAS

SYMBIAN

- Symbian OS Architecture Lance Li. Thecnical Consultant

- SmarthPhones Operative System Concepts with Symbian OS. A Tutorial GuideMichael J. Jipping WILEY

- The Symbian OS Architecture SourceBook Design and Evolution of a Mobile OS

Page 15: Nuevas Tendencias en Sistemas Operativos

Ben MorrisWILEY

ANDROID

- Android ProSayed Y. Hashimi and Satya Komatineni APRESS

CHROME OS

- http://www.chromium.org/chromium-os- Software Architecture

http://www.chromium.org/chromium-os/chromiumos-design-docs/software-architecture

MAC OS X V. 10.6 SNOW LEOPARD

- Mac OS X Leopard. Beyond The ManualScott Meyers and Mike LeeAPRESS

- Foundations of Mac OS X Leopard SecurityCharles S. Edge, Jr., William Barker and Zack SmithAPRESS