miércoles, 17 de febrero de 2016

ARQUITECTURA DEL SISTEMA OPERATIVO ANDROID

Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y en el caso de Android está formada por varias capas que facilitan al desarrollador la creación de aplicaciones. Además, esta distribución permite acceder a las capas más bajas mediante el uso de librerías para que así el desarrollador no tenga que programar a bajo nivel las funcionalidades necesarias para que una aplicación haga uso de los componentes de hardware de los teléfonos.
Cada una de las capas utiliza elementos de la capa inferior para realizar sus funciones, es por ello que a este tipo de arquitectura se le conoce también como pila. Para entender mejor, a continuación cito el diagrama de la arquitectura de Android tomada del sitio oficial de Android developers:
Explicamos ahora cada una de las capas iniciando de abajo hacia arriba.

Kernel de Linux. Como dijimos en el artículo ¿Qué es Android?, el núcleo del sistema operativo Android está basado en el kernel de Linux versión 2.6, similar al que puede incluir cualquier distribución de Linux, como Ubuntu, solo que adaptado a las características del hardware en el que se ejecutará Android, es decir, para dispositivos móviles.
El núcleo actúa como una capa de abstracción entre el hardware y el resto de las capas de la arquitectura. El desarrollador no accede directamente a esta capa, sino que debe utilizar las librerías disponibles en capas superiores. De esta forma también nos evitamos el hecho de quebrarnos la cabeza para conocer las características precisas de cada teléfono. Si necesitamos hacer uso de la cámara, el sistema operativo se encarga de utilizar la que incluya el teléfono, sea cual sea. Para cada elemento de hardware del teléfono existe un controlador (o driver) dentro del kernel que permite utilizarlo desde el software.
El kernel también se encarga de gestionar los diferentes recursos del teléfono (energía, memoria, etc.) y del sistema operativo en sí: procesos, elementos de comunicación (networking), etc.

Librerías. La siguiente capa que se sitúa justo sobre el kernel la componen las bibliotecas nativas de Android, también llamadas librerías. Están escritas en C o C++ y compiladas para la arquitectura hardware específica del teléfono. Estas normalmente están hechas por el fabricante, quien también se encarga de instalarlas en el dispositivo antes de ponerlo a la venta. El objetivo de las librerías es proporcionar funcionalidad a las aplicaciones para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y garantizando que se llevan a cabo de la forma “más eficiente”.
Entre las librerías incluidas habitualmente encontramos OpenGL (motor gráfico), Bibliotecas multimedia (formatos de audio, imagen y video), Webkit (navegador), SSL (cifrado de comunicaciones), FreeType (fuentes de texto), SQLite (base de datos), entre otras.

Entorno de ejecución. Como podemos apreciar en el diagrama, el entorno de ejecución de Android no se considera una capa en sí mismo, dado que también está formado por librerías. Aquí encontramos las librerías con la funcionalidades habituales de Java así como otras específicas de Android.
El componente principal del entorno de ejecución de Android es la máquina virtual Dalvik. Las aplicaciones se codifican en Java y son compiladas en un formato específico para que esta máquina virtual las ejecute. La ventaja de esto es que las aplicaciones se compilan una única vez y de esta forma estarán listas para distribuirse con la total garantía de que podrán ejecutarse en cualquier dispositivo Android que disponga de la versión mínima del sistema operativo que requiera la aplicación.
Cabe aclarar que Dalvik es una variación de la máquina virtual de Java, por lo que no es compatible con el bytecode Java. Java se usa únicamente como lenguaje de programación, y los ejecutables que se generan con el SDK de Android tienen la extensión .dex que es específico para Dalvik, y por ello no podemos correr aplicaciones Java en Android ni viceversa.

Framework de aplicaciones. La siguiente capa está formada por todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones. La mayoría de los componentes de esta capa son librerías Java que acceden a los recursos de las capas anteriores a través de la máquina virtual Dalvik. Siguiendo el diagrama encontramos:
  1. Activity Manager. Se encarga de administrar la pila de actividades de nuestra aplicación así como su ciclo de vida.
  2. Windows Manager. Se encarga de organizar lo que se mostrará en pantalla. Básicamente crea las superficies en la pantalla que posteriormente pasarán a ser ocupadas por las actividades.
  3. Content Provider. Esta librería es muy interesante porque crea una capa que encapsula los datos que se compartirán entre aplicaciones para tener control sobre cómo se accede a la información.
  4. Views. En Android, las vistas los elementos que nos ayudarán a construir las interfaces de usuario: botones, cuadros de texto, listas y hasta elementos más avanzados como un navegador web o un visor de Google Maps.
  5. Notification Manager. Engloba los servicios para notificar al usuario cuando algo requiera su atención mostrando alertas en la barra de estado. Un dato importante es que esta biblioteca también permite jugar con sonidos, activar el vibrador o utilizar los LEDs del teléfono en caso de tenerlos.
  6. Package Manager. Esta biblioteca permite obtener información sobre los paquetes instalados en el dispositivo Android, además de gestionar la instalación de nuevos paquetes. Con paquete nos referimos a la forma en que se distribuyen las aplicaciones Android, estos contienen el archivo .apk, que a su vez incluyen los archivos .dex con todos los recursos y archivos adicionales que necesite la aplicación, para facilitar su descarga e instalación.
  7. Telephony Manager. Con esta librería podremos realizar llamadas o enviar y recibir SMS/MMS, aunque no permite reemplazar o eliminar la actividad que se muestra cuando una llamada está en curso.
  8. Resource Manager. Con esta librería podremos gestionar todos los elementos que forman parte de la aplicación y que están fuera del código, es decir, cadenas de texto traducidas a diferentes idiomas, imágenes, sonidos o layouts. En un post relacionado a la estructura de un proyecto Android veremos esto más a fondo.
  9. Location Manager. Permite determinar la posición geográfica del dispositivo Android mediante GPS o redes disponibles y trabajar con mapas.
  10. Sensor Manager. Nos permite manipular los elementos de hardware del teléfono como el acelerómetro, giroscopio, sensor de luminosidad, sensor de campo magnético, brújula, sensor de presión, sensor de proximidad, sensor de temperatura, etc.
  11. Cámara: Con esta librería podemos hacer uso de la(s)  cámara(s) del dispositivo para tomar fotografías o para grabar vídeo.
  12. Multimedia.Permiten reproducir y visualizar audio, vídeo e imágenes en el dispositivo.

Aplicaciones. En la última capa se incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, las nativas (programadas en C o C++) y las administradas (programadas en Java), las que vienen preinstaladas en el dispositivo y aquellas que el usuario ha instalado.
En esta capa encontramos también la aplicación principal del sistema: Inicio (Home) o lanzador (launcher), porque es la que permite ejecutar otras aplicaciones mediante una lista y mostrando diferentes escritorios donde se pueden colocar accesos directos a aplicaciones o incluso widgets, que son también aplicaciones de esta capa.

Como podemos ver, Android nos proporciona un entorno sumamente poderoso para que podamos programar aplicaciones que hagan cualquier cosa. Nada dentro de Android es inaccesible y podemos jugar siempre con las aplicaciones de nuestro teléfono para optimizar cualquier tarea.
El potencial de Android se sitúa en el control total que se le da al usuario para que haga de su teléfono un dispositivo a su medida.
Este artículo es un reblog del post “Arquitectura de Android” escrito por Ángel J. Vico, autor del blog La Columna 80. Un agradecimiento al autor por compartir excelente información como esta para la comunidad de desarrolladores en Android.

entornos de trabajo para aplicaiones movil



Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes.
Eclipse es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.
Eclipse
Es el entorno de desarrollo integrado (IDE, en sus siglas en inglés) de Apple Inc. y se suministra gratuitamente junto con Mac OS X. Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario.Xcode incluye la colección de compiladores del proyecto GNU (GCC), y puede compilar código C, C++, Objective-C, Objective-C++, Java y AppleScript mediante una amplia gama de modelos de programación, incluyendo, pero no limitado a Cocoa, Carbón y Java. Otras compañías han añadido soporte para GNU Pascal, Free Pascal, Ada y Perl.Entre las características más apreciadas de Xcode está la tecnología para distribuir el proceso de construcción a partir de código fuente entre varios ordenadores, utilizando Bonjour.
XCode
Es una herramienta para el desarrollo de software en lenguaje C++ destinado a dispositivos que funcionan bajo Symbian OS. Se usa tanto para desarrollar los teléfonos que incorporan dicho OS como para las aplicaciones que ejecutan estos.Está formada por una familia de IDEs desarrollada por Nokia, basada en Eclipse, al que se han incorporado plug-ins para el desarrollo de Symbian OS. Reemplazó a CodeWarrior como primer entorno de desarrollo para Symbian OS.Desde la versión 2.0, Carbide.c++ es gratuito y se ofrece en tres versiones (Developer, Professional, y OEM)
Carbide.C++
es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.

NetBeans
Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.
Desde la creación de la especificación J2ME (Java 2 Platform, Micro Edition), una versión del entorno de ejecución Java reducido y altamente optimizado, especialmente desarrollado para el mercado de dispositivos electrónicos de consumo se ha producido toda una revolución en lo que a la extensión de Java se refiere.
Es posible encontrar microprocesadores diseñados para ejecutar bytecode Java y software Java para tarjetas inteligentes (JavaCard), teléfonos móviles, buscapersonas, set-top-boxes, sintonizadores de TV y otros pequeños electrodomésticos.

Tecnologías Emergentes en los Dispositivos Móviles

Los teléfonos celulares, las tablets, algunos PDA, y otros dispositivos móviles son mucho más comunes cada día, esto ha llevado a las empresas a crear nuevas tecnologías específicamente para estos dispositivos, para facilitar las tareas a las personas. Cosas como realizar pagos, encontrar lugares, sincronizar archivos, y demás, no son nada nuevas en el área de la tecnología, pero su incorporación a los dispositivos móviles proporciona mucha flexibildad para que los usuarios puedan manejar múltiples actividades en un solo dispositivo, que además es portable.

En este post hablaremos sobre algunas de las tecnologías que me parecieron más interesantes.


Ubuntu For Android


Los smartphones y la tecnología que usan continuan evolucionando a una tasa increíblemente rápida. Año con año, los teléfonos se acercan al poder de procesamiento que tienen algunas computadoras. 


Tomando ventaja de esto, la compañía Canonical creó Ubuntu For Android. Este sistema operativo convierte tu teléfono(Con Android por supuesto) en una computadora de escritorio con el sistema operativo Ubuntu, esto conectandolo a un dock y este a un monitor, lo que significa que el día en el que los teléfonos celulares actúen como nuestra computadora primaria se está acercando.


Ubuntu funciona junto al sistema operativo Android estándar, ya que comparten el mismo kernel Linux. Agregando un teclado y mouse bluetooth, los usuarios contarían con un ambiente de escritorio totalmente funcional.


Al parecer, cualquier dispositivo Android puede correr Ubuntu, con tal de cumplir los siguientes requerimientos:

  • 1GHz CPU de dos núcleos
  • Aceleración de video: Driver kernel compartivo con driver X asociado, Open GL, ES/EGL
  • Almacenamiento: 2GB para la  imágen del sistema operativo
  • HDMI
  • Modo host USB
  • 512 MB de RAM
iPavement

Desarrollado por una compañia española, iPavement es una banqueta "inteligente" que funciona como  punto de acceso WiFi.
Cada piedra mide 40x40x7 centímetros, pesa aproximadamente 24 Kg, y contiene un microprocesador de 5 GB que se comunica con los dispositivos móviles cercanos vía WiFi y Bluetooth. La alimentación y el acceso a internet son suministrados a cada piedra por un cable de 1,000 Watts, y en general las piedras están instaladas a no más de 20 metros una de otra.
Además de proveer acceso a internet a los transeúntes, iPavement cuenta con aplicaciones de Cloud computing que pueden ser usadas cuando se esta en el área. Estas incluyen una librería digital, mapas para promover restaurantes locales, tiendas y otras atracciones, servicio de música, catálogo de cupones, un servicio que provee alertas en accidentes y obstrucciones en calles cercanas, y un servicio de Bluetooth que envía mensajes con promociones a los dispositivos. Tiene también disponible una aplicación que provee estadísticas en el tráfico local a pie, si es que se activo el registro de pasos en las piedras.
Las aplicaciones están disponible en diferentes lenguajes, y el sistema funciona con los navegadores comunes. Una de sus limitaciones es su temperatura de funcionamiento, ya que solo funcionará entre -10 y 45°C, lo que afectaría la adaptación a otras partes del mundo.
Bacteria Scanner




Por ahora es una versión prototipo, pero el dispositivo se adjunta a la cámara del teléfono e incorpora puntos quantum semiconductores, combinados con un una agrupación de tubos de vidrio capilares que contienen anticuerpos. Cuando una bacteria E. col de muestras líquidas es puesta en el escáner, son capturados en la superficie capilar, donde son excitados por la luz de los bulbos LED.

Ésta reacción causa que los puntos quantum emitan luz fluorescente, lo que es magnificado por la lente ubicada debajo de los capilares, y luego capturado por la cámara del teléfono. Escencialmente el escáner sirve como un microscopio fluorescente relativamente no-caro. La específica concentración de la bacteria es determinada por la cantidad de luz emitida por cada tubo.

Light Beam
Desarrollado por un equipo en el Germany's Technische Universität Darmstadt, LightBeam combina un proyector pico con una cámara sensora de profundidad para proveer control interactivo en las presentaciones proyectadas, estilo Kinect. 

Las capacidades similares a Kinect del LightBeam no son de sorprenderse considerando que el prototipo hace uso de un sensor Kinect para proveer el rastreo de movimiento y el sensor de profundidad. Superficies improvisadas, como una pieza de papel, o un libro pueden ser manipuladas en un espacio 3D limitado y la imagen proyectada se reorienta a sí misma, hasta girando cuando el papel es girado. El nivel de detalle mostrado por el proyector puede también ser alterado dinámicamente dependiendo de la cantidad de superficie disponible. 

Lo interesante es que para negar la necesidad de funcionar conectada a una laptop o manipular con un control remoto físico al momento de dar una presentación, LightBeam permite también que cualquier objecto improvisado funcione como un control remoto. Esto se puede observar en el video anterior, donde dicho objeto es una taza, y al manipularlo de distintas maneras, la proyección cambia.

Transparency Grenade

Esté pequeño pedazo de hardware escondido en la coraza con forma de una clásica granada Soviet F1 permite que se filtre información de cualquier lugar con simplemente tirar del seguro de la granada.

El dispositivo es esencialmente una pequeña computadora con una antena inalámbrica poderosa y un micrófono. Después de la detonación, la granada intercepta tráfico de red local, y captura datos de audio para después hacer que la información esté disponible online inmediatamente.

La información obtenida en el sitio de detonación es transmitida de forma anónima a un servidor dedicado donde es minado por bits de correos, código HTML, imágenes y material de audio. Estos son entonces presentados en la forma de un feed que puede ser accesado cuando se da click en el punto rojo que marca el lugar donde el filtrado de información fue hecho en un mapa disponible online. El fácil uso y la movilidad de esta solución puede hacer la transparency grenade un arma muy poderosa en las manos de un ciudadano interesante o un servidor civil descontento.


Los componentes de hardware incluyen una computadora Gumstix que incluye un procesador ARM Cortex-A8 corriendo en una versión modificada del Angstrom OS. Una plataforma Arduino Nano es usada para permitir el display integrado, y el trabajo de espionaje es manejado por una poderosa antena 802.11 y un micrófono de 5 mm. La información recolectada es guardada en una tarjeta MicroSD de 8GB. Una batería de 3.7 Volts da alimentación a todo el sistema, incluyendo un display de 64x32 pixeles y una barra gráfica LED para mostrar el nivel de señal inalámbrica.

U Grok
U Grok consiste en una unidad "nodriza" conocida como el Grokker, con la cual el teléfono hace par a través del conector de audífonos. Además usa también etiquetas que son pegadas a los objectos que son probables de perder.

U Grok utiliza etquetas delgadas. Estas etiquetas incorporan una simple antena que refleja la señal de radio del Grokker de vuelta a si mismo. Cada etiqueta contiene un pequeño microchip que altera un poco la señal, para transmitir un numero de 96-bits que es único para esa etiqueta. Haciendo una referencia cruzada a este número con loa base de datos de los objetos etiquetados por el usuario, el software del teléfono puede identificar cual objeto está siendo detectado. Ayuda y pistas visuales entonces guiarán al usuario al objeto perdido.

La ventaja de éstas etiquetas es que son mucho más baratas y menos obstructivas que otras. Además no requieren baterías, tomando lo poco que necesitan de alimentación de la señal de radio del Grokker. Su alcance, sin embargo, es limitado aproximadamente de 1.8 a 3 metros, lo cual es suficiente para algunos propósitos.

Solar-Powered Kindle


La funda del e-Reader SolarKindle presenta un panel solar integrado, con batería integrada y una lampara LED para lectura. El panel solar provee hasta tres días de tiempo de lectura iluminado con tan solo una hora de luz solar directa de recarga. La batería de reserva de1500 mAh de polímero de litio integrada correrá la lámpara LED incluida, proporcionando 800 lux por hasta 50 horas, sin drenar el poder de la batería del Kindle.

La batería de la funda puede también transferir su energía a la batería del Kindle para extender el tiempo de lectura si es necesario. Una hora de carga de la batería de reserva, proporciona 10 días de lectura extra.

BrailleTouch
Brailletouch permite al usuario escribir rápida y precisamente usando gestos en la pantalla touch de su smartphone, y sin mirar a la pantalla. El prototipo gratuito y open source, actualmente funcionando en dispositivos iPhone e iPad, hacen uso del sistema de escritura Braille, y es esperado que algún día sea usado por cualquier usuario de smartphone con una necesidad de escribir sin la necesidad de ver la pantalla.

En una prueba en la versión de iPhone, los sujetos lograban velocidades perfectamente respetables de 32 palabras por minuto con una precisión del 92 por ciento, una tasa que los investigadores del Georgia Institute of Technology afirman es seis veces mayor que otras tecnologías similares.

Aunque la aplicación es basada en gestos, sigue usando teclas de función, pero debido a que solo hay seis de ellas, hay un amplio margen en una pantalla touch de un smarpthone. En el uso de BrailleTouch, los dedos permanecen relativamente quietos, idealmente sosteniendo el dispositivo boca abajo y escribiendo con los seis dedos en orden, uno para cada tecla. El cato de escribir con la aplicación de esta forma es similar al uso de teclados Braille estándar. La aplicación habla cada de las letras escritas para hacer claro si se hizo un error de escritura.

Here


PayPal Here es una aplicación y un accesorio para teléfonos móviles que actúa como lector de bandas magnéticas de las tarjetas. Así de simple. Con Square haciendo lo mismo, Paypal recurre a su poderío para conseguir que su Here sea el accesorio que elijan las pequeñas tiendas para realizar cobros en movilidad y puedan ofrecer prácticamente todos los métodos de pago.

PayPal ofrecerá tanto el lector como la aplicación de forma gratuita a los comercios pero les cobrará una comisión del 2.7% que podrán dejar en un 1.7% si luego realizan compras con la tarjeta asociada a la cuenta donde reciben los pagos de los clientes.

Magnifi

En vez de hacer un zoom, Magnifi integra un adaptador a la funda para que el teléfono pueda ser adaptado a la mayoría de los instrumentos ópticos con una pieza ocular como binoculares, microscopios o telescopios. Usando un acercamiento similar a los adaptadores para iPhone, Magnifi alinea la cámara con el Phone 4/ 4S a la pieza ocular, algo que es virtualmente imposible de hacer a mano. 

El dispositivo viene en dos partes, la funda y la montura desmontable diseñada para alinear precisamente la cámara del iPhone con el axis óptico de la pieza ocular mediante un cerrojo que lo bloquea en el lugar exacto.

La funda y la bayoneta están hechas de policarbonato plástico resistente a impacto y esta funda sostiene la banda de metal del iPhone para prevenir que interfiera con la pantalla de vidrio. Algunos usos citados por los inventores incluyen la inspección de pequeñas partes, observación de aves, educación en ciencia y astronomía.

Textspresso


La cafetera "Textspresso", es una máquina que acepta y prepara ordenes de cafés a través de mensajes de texto, así que la bebida este lista cuando una persona llegue y la recoja.

Después de recibir una orden de texto, el brazo mecánico automáticamente recoge la taza de una bandeja caliente y la lleva al fabricante de café expresso. La máquina despúes sirve la bebida que haya sido ordenada y el brazo mecánico entrega la taza de vuelta a la bandeja caliente para que espere a su dueño.

La máquina fue construida de forma casera por Zipwhip desde cero después de que la compañia decidiera tirar su vieja cafetera a cambio de una nueva.

viernes, 12 de febrero de 2016

Sistema operativo comercial y libre

Un sistema operativo comercial, son aquellos que las compañías lo producen y cobran  dinero por el producto, su distribución o soporte, este recurso económico se emplea para pagar licencias de ciertos programas no libres, darle salario a los programadores que contribuyeron a crear este software que normalmente son empleados por la empresa, por ejemplo: Microsoft.

El sistema operativo libre, es un tipo de software que le permite al usuario: a) Estudiar su estructura p, funcionamiento y adaptar a sus necesidades, b) ejecutar con cualquier propósito, c) Distribuir  copias y d) Mejorarlo y distribuir al público, no tiene  que pagar algún dinero por su uso ni su distribución.
ENTRE LAS VENTAJAS Y DESVENTAJAS DEL SISTEMA OPERTIVO COMERCIAL SON:
Sistema operativo libre.
VENTAJAS
DESVENTAJAS
·         Más sencillo de utilizar
·         Mas interactivo
·         Tiene soporte técnico
·         Aplicaciones desarrolladas en
           menor  tiempo
·        La curva de aprendizaje es mucho
          menor

v  Muy caro
v  No se puede distribuir copias.
v  La mayoría de los sistemas operativos comerciales son vulnerables a los virus.
v  No se puede distribuir  libremente
v  Hay que pagar la licencia de uso
v  No se puede distribuir libremente.



ENTRE LAS VENTAJAS Y DESVENTAJAS DEL SISTEMA OPERATIVO LIBRE SON:
Sistema operativo libre.
VENTAJAS
DESVENTAJAS
·         Más seguro
·         Más económico
·        Se puede modificar, mejorar y
          distribuir libremente.
·        Se puede reproducir sin ningún 
          problema
·        Más rápido.
·        No requiere de muchos recursos de hardware.
v  No tiene suporte técnico.
v  No tiene garantías de autor ni de quien lo provee,
v   No existen compañías únicas que respalden toda la tecnología, se adquiere sin garantías explícitas.
v   La mayoría de la configuración del hardware no es intuitiva, se necesita dedicar recursos a la reparación de errores, la mayoría de sus soportes están en los foros de la web.



PROCESADORES PARA DISPOSITIVOS MOVILES

Apple A5X
Los teléfonos móviles son un objeto de deseo cada vez más universal y ya no hay que ser apasionado de la tecnología para interesarse por qué pantalla, procesador o sistema operativo cargan.
El acercamiento a los smartphones con el ánimo de tomar una decisión de compra que no se base únicamente en el precio, pasa por conocer cómo están construidos. Vistos desde fuera, todos los terminales son parecidos: tienen una pantalla, iconos en el escritorio, algunos teclado, funcionan con una batería… Pero hay otras características que no se ven tanto, y que empiezan a cobrar relevancia a medida que la tecnología progresa. Son las relacionadas con «las tripas» de los dispositivos móviles, sobre todo de los smartphones, pero también se aplica a las tabletas y por extensión a los Ultrabooks y portátiles.
En los primeros teléfonos inteligentes, ya fueran Android, Symbian, BlackBerry, Windows Mobile o iOS, el procesador o las tecnologías aceleradoras de gráficos empleadas en su construcción apenas sí suscitaban interés. La tecnología se ocultaba tras la mera funcionalidad. Además, la escasez de terminales, junto con la falta de información que se tenía de los primeros procesadores ARM y de los pocos fabricantes que los firmaban, contribuían a ocultar los detalles tecnológicos.

El interés por los procesadores en movilidad

A medida que el negocio de la movilidad ha ido cobrando forma y el ecosistema de aplicaciones y servicios creciendo, la tecnología va ofreciendo más y más posibilidades tanto para los desarrolladores de aplicaciones como para los de sistemas operativos. Un teléfono móvil no se aleja demasiado (conceptualmente hablando) de un portátil o de un ordenador. Funciona gracias a que hay un sistema operativo que se ejecuta sobre una plataforma de hardware compuesta por un procesador (CPU), un acelerador gráfico (GPU), memoria, comunicaciones, la pantalla y una interfaz con métodos para la entrada de datos mediante teclado o usando los dedos o la voz. Pero, a diferencia de los sistemas de sobremesa, donde muchos de estos componentes están perfectamente diferenciados, en los móviles lo que se hace es integrarlos todos en los SoC (System On a Chip).
Al principio eran populares los feature phones, que no permitían la descarga de aplicaciones, sino que dependían de las que tuviera preinstaladas el propio sistema operativo cerrado,o de las que el fabricante incluyera con carácter excepcional posteriormente. Ya entonces se empezaba a hablar del procesador como elemento diferenciador, con ejemplos como el Samsung Jet. Con Apple, con el iPhone original, la llegada de su tienda de aplicaciones en 2008 y meses después la de Google, todo cambió: las aplicaciones precisaban de un buen hardware para funcionar, por supuesto. Su evolución ha atraído la atención de los principales fabricantes de procesadores; desde Intel hasta NVIDIA, pasando por Qualcomm, Samsung, Texas Instruments o Apple, entre otros.
Apple iPhone 5 mapas
• Ahora que los fabricantes empiezan a alinearse con servicios y soluciones exclusivas, la elección del hardware es solo una de las variables en la ecuación de compra. Puede que tengas el mejor terminal, pero no te satisfaga un servicio concreto, como el de mapas.

¿Por qué ARM?

La arquitectura de los procesadores móviles existentes, con el permiso de Intel y su procesador Atom Z2460 con arquitectura x86, es ARM. ARM ofrece tanto los juegos de instrucciones necesarios para programar aplicaciones como diseños de referencia para fabricar los procesadores capaces de trabajar con ellos. Las instrucciones tienen un equivalente en operaciones lógicas y aritméticas, que a su vez tienen su «representación» electrónica realizable mediante circuitos digitales. Una compañía interesada en ofrecer soluciones CPU basadas en ARM puede licenciar tanto las instrucciones como el diseño de referencia, o diseñar desde cero la electrónica capaz de trabajar con ellas.
Durante la historia de ARM, ha habido diferentes arquitecturas caracterizadas por el juego de instrucciones. ARMv1, ARMv2, hasta llegar a ARMv7 con la vista puesta en ARMv8. Para cada arquitectura, ha habido diferentes diseños de referencia. Por ejemplo, para ARMv6 se tenía el diseño de referencia ARM11. Y para los actuales ARMv7 son populares los ARM Cortex A9 a la espera de los Cortex A15.
Compañías como Apple, Qualcomm o NVIDIA, en alguno de sus proyectos futuros, no usan estos diseños de referencia y, por tanto, sus procesadores no se pueden categorizar como Cortex A9 ni A15, aunque sus características estarán en línea con las de los futuros Cortex A15. Por ejemplo, el procesador Samsung Exynos 4412 de cuatro núcleos que usa el Galaxy S3 es ARMv7 Cortex A9, así como el Tegra 3 de NVIDIA, también quad core, es Cortex A9.
NVIDIA Tegra 3
Los procesadores de Intel se han encontrado con un problema al enfrentarse a este entorno: la eficiencia de la arquitectura x86. Intel ha ido bajando el voltaje y la frecuencia de sus CPUs para optimizar el consumo; pero, su problema es que, para obtener un procesador con un consumo tan bajo como para ser instalable en un móvil, tiene que bajar tanto la frecuencia que el rendimiento cae hasta niveles paupérrimos. Así, si una CPU x86 consume 100 W, puedes intuir que su rendimiento será elevado. Si consume 17 W, su rendimiento será varios órdenes de magnitud menor; y, si consume 2 W, el rendimiento será tan bajo que no valdrá ni para un móvil. Tras muchos años de trabajo, parece que los Atom empleados en la plataforma Med­field para móviles consiguen estar a la altura y ya hay terminales Android que usan el Atom Z2460 como procesador.
ARM, por su parte, usa un juego de instrucciones (ISA) reducido, más simple que el de x86. Es una arquitectura RISC (Reduced Instruction Set Computer) frente a la CISC de Intel o AMD (Complex Instruction Set Computer). Es una arquitectura más eficiente, que ha crecido en rendimiento gracias a mejoras en el diseño de los micros. Por ejemplo, Intel tuvo que eliminar la parte Out of Order (OoO) en el Atom para ajustarlo a las exigencias de consumo de los móviles, pero en ARM se ha conseguido implementar esta característica que hace que el rendimiento mejore entre un 15 y un 30 por ciento.
En la tabla de benchmarks puedes ver que los últimos procesadores ARM alcanzan rendimientos cercanos o superiores a los de Intel con consumos menores.
- See more at: http://www.pcactual.com/articulo/laboratorio/especiales/12206/procesadores_para_dispositivos_moviles.html#sthash.75LzsZvI.dpuf