SISTEMAS DE COMUNICACIONES MÓVILES BLOQUE: PROGRAMACIÓN PARA DISPOSITIVOS MÓVILES LINUX EN DISPOSITIVOS MÓVILES Trabajo realizado por: Alberto Gonzalez Marc Pous Gerard Tarraona 19/11/03 Sistemas de comunicación móviles Programación para dispositivos móviles Página 2 de 2 Índice: 1.- Introducción……………………………………………………………………………………pág. 3 1.1.- ¿Que es linux? 1.2.- Particularización a los dispositivos móviles. 2.- Características de linux para dispositivos móviles…………………..……….………..pág. 5 2.1.- Características (“Linux”), que facilitan su adaptación a los dispositivos móviles. 2.2.- Características de hardware (para laptops). 2.3.- Necesidades de una buena versión de linux (para laptops). 2.4.- Requisitos previos de la instalación (para laptops). 2.5.- Herramientas de linux para el reparto del disco duro (para laptops). 2.6.- Métodos de instalación (para laptops). 2.7.- Conectividad con PDA’s. 2.8.- Herramientas de configuración (IP’s móviles). 3.- Tipos de dispositivos móviles y distintas versiones de linux para cada uno de ellos…………………………………………………………..………………pág. 9 3.1.- Tipos de dispositivos móviles. 3.2.- Consorcio de Dispositivos Linux empotrados (Embeded Linux). 3.3.- Versiones de linux (Distintos desarrolladores). 4.- Hardware móvil. ………………………………………………………………………..……pág. 18 5.- Ejemplos diferentes dispositivos……………………..………………………..…………pág. 21 6.- Embedded Linux y Java (nuevos dispositivos)………………………………….…….pág. 23 7.- Mercado de Embedded linux………………………………………………………………pág. 25 8.- Conclusiones…………………………………………………………………………………pág. 27 9.- Bibliografía……………………………………………………………………………..….….pág. 28 Sistemas de comunicación móviles Programación para dispositivos móviles Página 3 de 3 1.- Introducción (descripción de linux y tuxmobil). 1.1.- ¿Qué es linux? Linux es un sistema operativo, basado en Uníx, que representa el “alma” de nuestro dispositivo, sin el instalado, los programas simplemente no podrían funcionar y nosotros tampoco podríamos ordenar que realice ninguna operación. Tres características muy particulares lo diferencian del resto de los sistemas operativos que podemos encontrar en el mercado (como Microsoft Windows, Solaris, OS Warp, VMS, etc.): - La primera, Linux no se vende, no es un producto con el cual se comercie, está disponible sin costo en Internet desde sus primeras versiones y de forma completa. - La segunda, es su potencia. Esta va mucho más allá de la que actualmente ofrecen muchos otros sistemas operativos. - La tercera, es que el sistema viene acompañado de su código fuente. Gracias a su código fuente libre, cuenta con el apoyo técnico de miles de programadores y usuarios en el mundo. El sistema, lo forman el núcleo del sistema (kernel) más un gran numero de programas / librerías que hacen posible su utilización. LINUX se distribuye bajo la licencia publica del proyecto GNU (que fue lanzado en 1984 para desarrollar el Linux de libre distribución), por lo tanto, el código fuente tiene que estar siempre accesible. Como dato de interés, puede señalarse que el proyecto GNU es patrocinado por la Free Software Foundation (FSF) en la que cerca del 70 % de los fondos provienen de donaciones individuales. El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de la que partió la idea de este proyecto, a principios de la década de los noventa. Día a día, más y más programas / aplicaciones están disponibles para este sistema, y la calidad de los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen acompañados del código fuente y se distribuyen gratuitamente bajo los términos de licencia de la GNU Public License. Linux es multitarea lo que se refiere a la capacidad de ejecutar varios programas al mismo tiempo y utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa. Linux es también multiusuario, e instalable sobre diversas plataformas de procesadores En los últimos tiempos, ciertas empresas de software comercial han comenzado a distribuir sus productos para Linux y la presencia del mismo en empresas aumenta rápidamente por la excelente relación calidad-precio que se consigue con Linux. Sistemas de comunicación móviles Programación para dispositivos móviles Página 4 de 4 1.2.- Particularización a los dispositivos móviles. Recientemente, algunos fabricantes de DCM (Dispositivos de Comunicaciones Mobiles) han incorporado Linux a sus productos. Se están desarrollando versiones de Embedded Linux que constituyen la tercera alternativa a Palm OS y Windows CE para los computadores de mano. Asi, LinuxDevices.com, ha creado ha creado una guía de referencia para computadores de mano basados en Linux, con la que pretende mantener actualizados de manera permanente los productos Linux para DCM. Si bien el modelo Sharp Zaurus SL-5x00 fue el primer computador de mano con Linux pre-instalado, hay actualmente versiones de Embbeded Linux para casi todas las marcas. Además de los tres mencionados hay otros sistemas operativos menos extendidos, casi siempre orientados a dispositivos de propósito específico como teléfonos móviles (Symbian OS; SmartPone), sistemas de navegación y otros. Un ejemplo es el sistema Epoc, utilizado en los equipos de la marca PSION. El Epoc16 (16 bits) es el más elemental, mientras que la versión superior, el Epoc32 (32 bits), permite realizar multitarea y pretende competir con Windows CE. Los dispositivos móviles son distintos que los ordenadores de escritorio. Utilizan cierto hardware tal como las tarjetas PCMCIA, puertos de infrarrojos, baterías, estaciones fijas y piezas del hardware no se pueden cambiar tan fácilmente como en los ordenadores de escritorio, p.e. la tarjeta gráfica. Su hardware es a menudo más limitado (p.e. disco duro, velocidad de la CPU), aunque la diferencia se esta reduciendo. En muchos casos, los laptops (computadoras portátiles) pueden convertirse en una buena alternativa a los de escritorio. El soporte hardware para Linux (y otros sistemas operativos) en los dispositivos móviles es la mayoría de las veces mas limitado (p.e. chips gráficos, módems internos, pantallas, interacción con el dispositivo). A menudo usan un hardware especializado, por lo tanto encontrar un driver puede ser más complicado. Muchas veces se utilizan en ambientes que cambian, así que son necesarias múltiples configuraciones y estrategias adicionales de seguridad. También, los portátiles y PDA están relacionados con las características de Linux, como los métodos de instalación para los portátiles (vía PCMCIA, sin unidad de CD, etc.), características del hardware de los portátiles para los diferentes entornos descritos (redes). Y salvo algunas advertencias Linux es una mejor opción para los dispositivos móviles, que otros sistemas operativos. Porque soporta numerosos métodos de la instalación, trabaja en muchos ambientes heterogéneos y necesita menos recursos. Sistemas de comunicación móviles Programación para dispositivos móviles Página 5 de 5 2.- Características de linux para dispositivos móviles. 2.1.- Características (“Linux”), que facilitan su adaptación a los dispositivos móviles: • multitarea: varios programas corriendo a la vez. • multiusuario: varios usuarios en el mismo dispositivo i al mismo tiempo (con una misma licencia para ambos). • multiplataforma: funcionamiento en diversos CPU’s. • multithreading: tiene ayuda nativa del núcleo para múltiples hilos de control independientes dentro de una sola memoria de proceso. • tiene protección de memoria entre procesos, de modo que un programa no puede hacer que todo el sistema se cuelgue. • demanda de carga de ejecutables: linux solo lee de memoria las partes de un programa que se utilizan realmente. • paginas entre ejecutables compartidas (copy-on-write): esto quiere decir que multiples procesos pueden usar la misma memoria para funcionar. Cuando alguien prueba de escribir en esa memoria, esa pagina (fracción de 4 KB de memoria) esta se copia en otra parte. Copy-on-write tiene dos ventajas, aumento de la velocidad y disminución del uso de memoria. • uso de DLL’s (librerías compartidas dinámicamente) y librerías estáticas. • esta disponible todo el código fuente incluyendo el núcleo entero y todos los drivers, herramientas de desarrollo y programas de usuarios. • múltiples consolas virtuales: varias sesiones independientes del login a través de la consola, pudiendo conmutar entre ellas de forma independiente al hardware de video. • escalabilidad: separación del núcleo del sistema de la parte visual. Este hecho es una gran ventaja para la migración de linux entre diferentes dispositivos. Debido a una falta de la ayuda por parte de algunos fabricantes, no se soportan o son completamente operacionales todas las característica de un laptop. Los dispositivos principales que pueden causar problemas son: chip grafico, puerto IrDA®, tarjeta de sonido, controlador PCMCIA, dispositivos de PnP y módem interno. Dependiendo de las necesidades, hay que investigar a los proveedores de los laptops con para obtener sus características i encontrar las posibles problematicas. Comprando un laptop con linux pre-instalado, se puede evitar muchas de las suposiciones y tiempo usado descargando paquetes adicionales. 2.2.- Características de hardware (para laptops): • Peso: se ve influido por el tamaño de la pantalla, el tipo de batería, los componentes internos (disco duro, lector CD etc..), fuente de alimentación y el material usado para la fabricación Sistemas de comunicación móviles Programación para dispositivos móviles Página 6 de 6 • Display (Visualización): podemos diferenciar dos tipos, matriz activa (TFT) y matriz pasiva (DSTN). Los display’s de matriz activa disponen de mejores prestaciones pero cuestan y consumen mas. Hay que tener en cuenta que como mayor sea la pantalla mas cara sera y mas difícil de integrar en un dispositivo pequeño. • Baterías: Hay tres tipos de baterias disponibles: ion del litio (LiIon) mas caras y ligeras con un menor efecto sobre la memoria, hidruro del Metal de Níquel (NiMH), y cadmio del níquel (NiCd). • CPU (familias de procesadores admitidos por el núcleo de linux): i286, i386, m68k, PowerPC (PPC), Alpha, Sparc, Sparc64, StrongARM, MIPS, AMD Processor. • Miscelánea: al aumentar la velocidad una CPU consume mas aumentando el calor disipado. Por lo tanto en la mayoría de laptops es necesario usar CPU’s de baja potencia hechos con tecnología CMOS (mas caros) aumentando así la durabilidad de la batería. • Ventilación: este hecho es importante ya que cualquier dispositivo basado en PPC o Pentium disipara grandes cantidades de calor. Sera necesario el uso de un radiador (del tamaño de la CPU) y un ventilador (en el cual la circulación del aire no este bloqueada) • Teclado: se ve influido por el tamaño del dispositivo, en algunos dispositivos se ha visto reducido de tal forma que dificulta la escritura de textos largos. • Precio: los precios son superiores a los de los ordenadores de escritorio. Hay que tener en cuenta que se puede escoger entre una marca o un producto sin nombre. Este mercado esta en continua evolución y los dispositivos se quedan antiguos en un corto periodo de tiempo. 2.3.- Necesidades de una buena versión de linux (para laptops): Es necesario que la rutina de instalación de linux contenga una configuración optimizada para los laptops ya que hay muchas cosas que no son utilizadas por los usuarios de laptops. Son factores importantes la instalación de la versión de linux sin la necesidad de CD-Rom o como configurar el driver de red plip. Es importante una buena gestión de la energía y ayuda para PCMCIA, incluir un núcleo recompilado, un sistema alternativo de drivers PCMCIA con soporte apm (Advanced Power Management) y soporte para infrarrojos IrDA® y USB. Una buena versión debe incluir ayuda para la conmutación dinámica entre configuraciones de red, el dispositivo se desplaza muy frecuentemente, ya que son necesarios diferentes ajustes para cada una de las redes usadas (identificación, etc...). 2.4.- Requisitos previos de la instalación (para laptops): Al empezar la instalación hay que probar con las opciones standard de la bios. Estas se han de modificar cuando algo no funcione, como las opciones PnP – Plug-and-Play. Hay muchas opciones del boot (cargador) que tienen efecto sobre el comportamiento del dispositivos es recomendado el análisis de las mismas. En cuanto a la gestión de las particiones es aconsejable disponer de: • • • • Partición para el bios, algunos bios actuales utilizan una partición separada. Suspensión de disco, algunos laptops soportan esta característica Espacio swap Linux Espacio swap Windows9x/NT (Es aconsejable el uso de los dos sistemas operativos) Sistemas de comunicación móviles • • • • Programación para dispositivos móviles Página 7 de 7 Base de Linux Linux /home para los datos personales (se recomienda una partición cifrada por razones de seguridad) Datos comunes entre Linux y Windows9x/NT Partición pequeña del boot (~32MB) para el yaBoot (cargador del boot Linux/PPC), en el formato estándar HFS MacOS. 2.5.-Herramientas de linux para el reparto del disco duro en laptops • • • GNU parted: permite copiar, mover y eliminar particiones. Fixdisktable: útil en caso de tener problemas con FIPS, al eliminar la información de las particiones. Multiboot: cargar diferentes sistemas operativos del mismo disco duro. 2.6.- Métodos de instalación (para laptops) En general la instalación de linux no crea problemas. Al contrario de otros sistemas operativos soporta y funciona bien en hardware viejo. Una de las grandes ventajas son los múltiples y flexibles métodos de instalación. Desde un boot disket y CD-Rom: el laptops modernos deba haber ningún problema, si están disponibles la disketera y el CD-Rom. Pero, en algunos casos no están disponibles simultáneamente. Algunos laptops soportan la carga y en consecuencia la instalación únicamente desde el CD-Rom. Desde DOS o una partición Windows: la instalación se realiza sin usar boot o dikets complementarios. Desde una segunda maquina. a) con Micro Linux en un disket: debido a su pequeña o inexistente huela, lo hacen especialmente útil para su uso en laptops (en particular si usan Windows9x/NT) o en caso de querer usar una maquina sin linux para la instalación. Hay muchas i diversas distribuciones de micro linux como por ejemplo mulinux. En el proceso son necesarias dos maquinas, el laptop (destino) en el cual introducimos el disket con microlinux y la maquina origen (con linux o mulinux). Para la transferencia se puede usar un cable null-modem de bajo coste. Es necesario ser consciente de lo que se esta haciendo para no destruir ambas instalaciones. (El protocolo básico para la transferencia es PPP) b) con adaptador de disco duro de 2,5”: como en algunos casos el disco duro es extraíble, con ayuda de un adaptador/conversor IDE, lo podemos conectar temporalmente con otro PC y instalar linux como se haría normalmente. Desde un dispositivo PCMCIA: Normalmente, cuando el laptop tiene la opcion de boot desde un disket y dispone de una ranura PCMCIA, es posible el uso de diferentes tarjetas PCMCIA para la conexión a otra maquina (con un dispositivo externo SCSI, CD externos o discos ZIP) que permita realizar la instalación. Desde el puerto paralelo. Sistemas de comunicación móviles Programación para dispositivos móviles Página 8 de 8 a) Disco ZIP: para realizar la instalación se requiere de un disket (a parte del la unidad zip conectada al puerto paralelo) para cargar el sistema operativo, una vez se ha cargado el sistema operativo el núcleo esta en la memoria y se esta utilizando el archivo filesystem del disket zip (el disket de carga ya puede ser extraído). Con el programa Zipslack se puede hacer la carga desde un disco zip y se puede utilizar otro PC para crear el disket zip. b) Unidad CD: la instalación es sencilla y no genera problemas de funcionamiento pudiendo agregar y configurar los módulos necesarios al iniciar la instalación. Hay que tener cuidado con el modo de puerto paralelo usado (ECP, EPP, Solo Salida, PS/2), ya que nos puede provocar el cuelgue de la maquina o la interrupción de la transferencia (cada modo dispone de una tasa de transferencia distinta). c) Usando una segunda maquina (PLIP Instalación desde la red): muchas distribuciones soportan la instalación a través de la red (normalmente mediante el puerto paralelo), usando FTP, HTTP o NFS. Esto resulta útil para la mayoría de laptops que disponen únicamente de una ranura PCMCIA, ocupada normalmente por la disketera de boot. El protocolo mas usado es PLIP, y únicamente se requiere de un cable Laplink paralelo y otro ordenador. Instalación en maquinas pequeñas (caso de tener menos de 8 MB): si se quiere realizar la instalación vía NFS, aparece un error de falta de memoria. Para solucionar este problema se puede usar un fdisk (puede ser un disket de instalación o contener una versión de minilinux) para realizar una partición de intercambio. Después hay que volver a cargar desde el disket. Se pueden llegar a hacer instalaciones en maquinas que disponen de una memoria inferior a 200 MB. 2.7.- Conectividad con PDA’s. Xcerdisp es un equivalente X Windows del Control Remoto de visualización Microsoft. Este escucha las conexiones desde el cliente cerdisp de Windows CE en nuestro PocketPC. y le deja ver y controlar su handheld via X. Puede ser necesario usar las herramientas SynCE para conseguir conectar el handheld a la red. El propósito del proyecto SynCE es facilitar los medios para la comunicación entre un dispositivo con Windows CE o Pocket PC y un ordenador en el que corre Linux. *BSD, o otro sistema operativo Unix. 2.8.- Herramientas de configuración (IP’s móviles). La IP móvil es la habilidad de que un host pueda moverse en la red de conexión sin tener que cambiar de dirección IP o sin perder la conectividad. Normalmente cuando un host IP cambia su punto de conexión tiene que cambiar la dirección IP. La movilidad IP soluciona este problema guardando una dirección IP fija en el host móvil i usando un encapsulado IP con un enrutamiento automático para que los datagramas sean enrutados a la dirección IP que actualmente se usa. HUP Mobile IP es una jerarquía dinámica del sistema IP móvil para operaciones del sistema Linux. La implementación activa un modelo jerárquico para la movilidad IP, actualizándose cuando un host móvil se esta moviendo. Sistemas de comunicación móviles Programación para dispositivos móviles Página 9 de 9 3.- Tipos de dispositivos móviles y distintas versiones de linux para cada uno de ellos. 3.1.- Tipos de dispositivos móviles. Hay múltiples clasificaciones para los dispositivos móviles entre las que podemos destacar el tamaño y peso, el sistema operativo, el precio, el hardware usado por el dispositivo y el soporte para linux. A continuación se detalla una lista de los principales grupos de dispositivos: • • • • • • Portables: dispositivo con las características de un PC pero en un tamaño reducido y transportable (> 4 Kg.). Ordenadores portátiles (laptops/notebooks): Características de hardware especiales y uso de una CPU especial (1,7 – 4 Kg.). Mini ordenadores portátiles (sub-notebooks): Componentes externos al dispositivo(disco duro, disquetera, lector CD, etc...) (1,3 – 1,7 Kg.). Palmtops: usan sistemas operativos comerciales propietarios (0,7 – 1,3 Kg.). PDAs (Agendas electrónicas): usan sistemas operativos comerciales propietarios y habitualmente CPU no intel con los SO PalmOS, EPOC32, GEOS, Windows CE (<0,7 Kg.). Wearables: reproductores música portátiles, sistemas de navegación (GPS, ...), calculadoras, pagers (buscas), relojes de muñeca, cámaras fotograficas digitales, teléfonos celulares, etc... 3.2.- Consorcio de Dispositivos Linux empotrados (Embedded Linux). El consorcio Embedded Linux ha desarrollado unas especificaciones para asegurar que Linux para los dispositivos empotrados (como teléfonos móviles) sigan una guía común. El consorcio industrial que incluye Red Hat, MontaVista Software y IBM esta intentando facilitar a las compañías el uso del sistema operativo linux en móviles, routers de red y otros dispositivos. Como Linux es un proyecto de software abierto, quien quiera puede modificar y redistribuir el software subrayando el código fuente. El consorcio Linux Embedded, tambien conocido como ELC Platform Specification, ayuda en los aspectos mas fríos de la tecnología Linux, proporcionando una fundación estable para las compañías que están pensando usar Linux en sus accesorios. 3.3.- Versiones de linux (Distintos desarrolladores). • Debian/GNU Linux (Laptops). ¿Qué es Debian? Debian es un sistema operativo (SO) libre, para su computadora. El sistema operativo es el conjunto de programas básicos y utilidades que hacen que funcione su computadora. Es un poco como una torre. En la base está el núcleo. Encima se encuentran todas las herramientas básicas. Después está todo el software que se ejecuta en la computadora. En la Sistemas de comunicación móviles Programación para dispositivos móviles Página 10 de 10 cima de la torre se encuentra Debian, organizando y encajando todo cuidadosamente para que todo el sistema trabaje junto. Debian utiliza el núcleo Linux (el corazón del sistema operativo), pero la mayor parte de las herramientas básicas vienen del Proyecto GNU; de ahí el nombre GNU/Linux. Se está trabajando para ofrecer Debian con otros núcleos, en especial con el Hurd. El Hurd es una colección de servidores que se ejecutan sobre un micro núcleo (como Mach) para implementar las distintas funcionalidades. El Hurd es software libre también producido por el proyecto GNU. Desde luego, lo que la gente quiere es el software de aplicación: herramientas que los ayuden a realizar lo que necesiten hacer, desde editar documentos, ejecutar aplicaciones de negocios hasta divertirse con juegos y escribir más software. Debian viene con más de 8710 paquetes (software precompilado y empaquetado en un formato amigable para una instalación sencilla en su máquina) — todos ellos de forma gratuita. Debian funcionará en casi todos los ordenadores personales, incluyendo la mayoría de los modelos más antiguos. Cada nueva versión de Debian generalmente soporta un mayor número de arquitecturas de ordenadores. Razones para escoger Debian: Esta mantenido por sus usuarios: si algo necesita ser arreglado o mejorado, simplemente se hace. Soporte incomparable: el correo enviado a las listas de correo frecuentemente obtiene respuesta en 15 minutos (o menos), gratuitamente, y por las personas que lo desarrollaron. Instalación sencilla: se está mejorando constantemente el proceso de instalación. Se puede realizar la instalación directamente desde DOS o un CD, discos flexibles (floppies) o incluso a través de la red. Algunas personas encuentran que la instalación inicial de Debian es más fácil que la de Windows. Increíble cantidad de software: Debian viene con más de 8710 piezas diferentes de software. Paquetes bien integrados: Debian sobrepasa a todas las otras distribuciones en lo bien integrados que están sus paquetes. Como todo el software es empaquetado por un grupo coherente, no sólo se pueden encontrar todos los paquetes en un mismo sitio, sino se han eliminado todos los problemas al respecto de complejas dependencias. Código fuente: Hay cientos de herramientas y lenguajes de desarrollo, además de millones de líneas de código fuente en el sistema base. Todo el software en la distribución principal esta conforme con el criterio de las Directrices de Software Libre de Debian (DFSG)que permite usar libremente este código para estudiarlo, o para incorporarlo a un nuevo proyecto de software libre. También hay cantidad de herramientas y código apropiado para el uso en proyectos propios. Estabilidad: Existen muchos casos de máquinas que trabajan más de un año seguido sin reiniciarse. De la misma forma, hay equipos que tan sólo son reinicializados debido a un fallo en el suministro de corriente o a una actualización del hardware. Compare esto con otros sistemas que se colapsan varias veces al día. Rápido y ligero en memoria: Otros sistemas operativos pueden ser rápidos en una o dos áreas, pero, estando basado en GNU/Linux, Debian es ligero. Los controladores para la mayoría del hardware están escrito por usuarios de Linux, no por el fabricante Buena seguridad del sistema: Después de años de desarrollo, GNU/Linux se esta volviendo bastante seguro, y Debian se beneficia de ésto. Además, Debian es muy responsable en asegurarse que las correcciones de problemas de seguridad sean incluidos rápidamente en la distribución (usualmente los paquetes corregidos son incluidos en unos pocos días). Sistemas de comunicación móviles Programación para dispositivos móviles Página 11 de 11 Software de seguridad: Muchos desconocen que cualquier cosa enviada por la red puede ser vista por cualquier máquina entre el transmisor y el receptor. Debian tiene paquetes del famoso software GPG (y PGP) que permite enviar correo privadamente entre usuarios. Además, ssh permite crear conexiones seguras a otras máquinas que tengan ssh instalado. Problemas de Debian: a) Falta de software comercial popular: En Linux no se dispone de algunos paquetes de software populares. Sin embargo, existen programas para reemplazar la mayoría de ellos, diseñados para imitar las mejores características de los programas en propiedad, con el valor añadido de ser software libre. La falta de programas de oficina como Word o Excel debería dejar de ser un problema, porque Debian incluye dos suites de oficina compuestos por entero de software libre, KOffice y GNOME Office. La siguiente versión de Debian también dispondrá de OpenOffice. b) No todo el hardware está soportado: Particularmente, hardware realmente nuevo, viejo o raro. También el hardware que depende de software de "controlador" complejo, que el fabricante sólo distribuye para plataformas Windows (por ejemplo los WinModems). Aun así, en la mayoría de los casos, está disponible hardware equivalente que trabaja con Linux. Algunos dispositivos no están soportados debido a que el vendedor decidió no dejar las especificaciones disponibles. Esto también es un área en el que se está trabajando. • Mizi Linux (Telefonos 3G). MIZI esta desarrollando una plataforma que incluye el sistema operativo y una serie de aplicaciones de forma similar a Windows Mobile de Microsoft que se distribuira en Smartphones (software para teléfonos de tercera generación). Esta previsto que la plataforma podrá correr sobre los principales procesadores para dispositivos móviles como el Intel XScale PXA255 y los procesadores Samsung S3C2410, 24ª0 y 2440. En cuanto al software, la plataforma MIZI Linux 2.0 proporcionará un entorno de desarrollo, sistemas gráficos y varias aplicaciones para facilitar el desarrollo de aplicaciones Linux para móviles. El programa “Smart Talk” soporta una variedad de protocolos inalámbricos como: CDMA, 802.11b, IrDa, Bluetooth o SDI/o, mientras que el SDK proporcionará soporte para múltiples idiomas, interfaz de usuario personalizable e interfaces para aplicaciones como: servicios de voz, mensajería, cámaras, reproductores multimedia y organizadores personales avanzados. Framework de Mizi Linux 2.0: Sistemas de comunicación móviles Programación para dispositivos móviles Página 12 de 12 Mizi linux 2.0 esta constituido por varios protocolos wireless soportados por el núcleo de linux igual que en la compilación cruzada de los entornos de desarrollo, herramientas graficas y aplicaciones multiusuario. Características principales: a) uso de el núcleo estándar de Linux: la partes mas grandes de linux están en continua evolución gracias a la contribución de todos los desarrolladores de linux distribuidos por el mundo. En la base de esta ventaja, muchas compañías crean sus propios parches. Sin embargo la mayoría no siguen el camino de la comunidad Linux, estando enfrentados con el 'aislamiento técnico' como otros sistemas operativos. MIZI Research usa el núcleo estándar de linux cuando lleva el núcleo al hardware de un dispositivo especifico y después crea las funciones adicionales necesarias. Asimismo son conscientes de las actualizaciones en el núcleo de acuerdo a los nuevos estándar y crean sus partes de nuevo. b) proveedor de una solución total: MIZI Linux y MIZI Linux ISV(Vendedor Independiente de Software) ofrece una solución software completa necesaria para los desarrolladores de software habituales para PDA y Smart Phone. Con la solución global MIZI Linux, los desarrolladores pueden reducirle tiempo, el precio de la aplicaciones. c) futuro orientado a framework: A pesar de las múltiples ventajas como la extensa cantidad de desarrolladores, plataforma abierta, Linux tiene la dificultad de mantener la compatibilidad porque esta compañía tiene un entorno de desarrollo distinto y este problema apunta hacia un gran obstáculo del proceso de linux. Los proyectos de desarrollo para dispositivos de los programadores están en continua evolución, pero el primer proyecto que sale tiene un gran efecto en los siguientes proyectos. Desde Mizi apuestan por una buena estructura y un futuro orientado a framewok que es lo que piensan los futuros desarrolladores. Los sistemas SyncML y X-window, por ejemplo, son ampliamente soportados por la industria pero los desarrolladores no necesitan remplazarlos por algún cambio en la tendencia técnica futura. d) entorno de desarrollo conveniente: MIZI Linux ofrece un entorno de compilación cruzada como MIZI Linux ISV y un emulador XinX que testa el código desarrollado en el PC antes de llevarlo al dispositivo final. • Mulinux (Versión de micro linux). Mulinux es una distribución minimalista de Linux adecuado para ordenadores poco potentes. Es capaz de soportar VNC, SSH, Samba, Netscape etc. La razón para el nombre mulinux es su diminuto tamaño, ideal para dispositivos de poca capacidad, como por ejemplo los dispositivos móviles. De hecho el sistema es tan pequeño que se puede usar dede unidades de disquete. Sus principales objetivos son: a) Tener en un solo sitio todo lo aprendido de Linux, i proteger este de cualquier perida de información que a veces crean las varias versiones de Linux. b) Usar un sistema operativo sin la necesidad de instalarlo en un disco duro. c) Tener un sistema operativo portátil. Sistemas de comunicación móviles • Programación para dispositivos móviles Página 13 de 13 Minori Linux (PDA). Se trata de un proyecto abierto para proporcionar software a dispositivos pequeños. Esto incluye el sistema constructor, el núcleo de linux con memoria conservando todas sus características y soporte de sistema multinivel para software linux en plataformas que requieren forzosamente aplicaciones empotradas. La filosofía que sigue esta distribución promueve el desarrollo con bajo coste y la eficiencia energética. Se trata de un paquete de software que proporciona el sistema constructor (“build sustem”) y un entorno runtime para dispositivos pequeños. Tales como aplicaciones de Internet. Midori usa el software linux standard, busca crear un ambiente de ejecución que se diferencie poco del el núcleo estándar y del software de escritorio, tanto en el espacio del núcleo como en el del usuario. Esto facilita la integración de nuevas tecnologías (como cramfs y ramfs) dentro del núcleo mainstream (corriente) y en el nuevo software. Una de las características importantes de Midori sus mejoras (pendientes de integración) realizadas sobre el núcleo estándar de Linux: • • • • • un sistema de gerencia de la energía basado en ACPI. ayuda a procesadores específicos para la gerencia de la energía de Crusoe. archivos de sistema basados en Flash ROM. archivos de sistema basados en RAM. un sistema de carga/runtime que se puede cargar desde la Flash ROM. Midori no es una plataforma monolítica como Windows CE o PalmOS. Midori es un paquete que se puede utilizar para desarrollar productos empotrados. Pero para obtener resultados satisfactorios, es necesario un paquete adicional de software de sistema y mas GUI framework adaptadas (plataformas de software). Midori esta también diseñado para de apoyo a los nuevos dispositivos que usan aplicaciones de Internet y gracias a que es una tecnología gratuita los desarrolladores pueden adaptarla a sus necesidades. La principales características de las aplicaciones de Internet son: • • • • • • • • baja potencia. proceso de carga rápido. capacidad limitada, almacenaje no permanente. conectividad a Internet. movilidad. fácil uso (simplicidad). personalización. red basada en gerencia por parte del cliente. La arquitectura es similar a la de las de las distribuciones de escritorio: Sistemas de comunicación móviles Programación para dispositivos móviles Página 14 de 14 En cuanto a los requisitos de la versión estándar podemos decir que consume 150 MB de espacio de disco. Tambien se necesita un entorno de desarrollo para construir Midori y se necesita un mecanismo para dar formato y descargar imágenes Flash ROM. Generalmente, esto incluye una interfaz en serie con el tablero del desarrollo y Flash ROM “Burner”. • PocketLinux (PDA). PocketLinux es una solución completa del sistema operativo GPLed orientada a dispositivos pequeños con Internet. El PocketLinux “framework de aplicación” proporciona a los desarrolladores opciones de como entregar los contenidos y las aplicaciones a los consumidores. Es posible desarrollar aplicaciones usando la major herramienta de trabajo. Los desarrolladores pueden usar XML para crear aplicaciones que se integran completamente dentro del entorno PocketLinux. Para necesidades mas avanzadas, se puede utilizar la Maquina virtual Java Kaffe, haciendo posible toda la modularidad, portabilidad y elegancia del sello Java. • Coollinux (Embedded). Coollinux AE (Edición Aplicación) combina el poder de linux empotrado y la tecnología Java para proporcionar un sistema operativo para la nueva generación de aplicaciones de Internet. El sistema operativo Coollinux AE se puede adaptar a una gran cantidad de plataformas hardware. Esta hecho con un diseño modular, que lo hace ideal para las funciones especiales de los dispositivos, incluyendo las cajas set-top Internet, los clientes delgados de internet, etc.... Los Equipos Originales Manofacturados (OEM’s) pueden representar un ahorro significante porque Coollinux AE en el proyecto abierto del núcleo de Linux, ocupando un espacio reducido de memoria y reduciendo el tiempo de mercado. Coollinux AE soporta los formatos de streaming mas populares de los medios de comunicación, y puede soportar la mensajeria instantánea/chat, Macromedia Flash, y otras aplicaciones populares y plug-ins. Coollogic es la empresa que ha desarrollado esta plataforma y sistema operativo. • XLinux (Embedded). Coventive (empresa desarrolladora de XLinux) ofrece una familia de servidores linux clientes y soluciones de software empotrado. El sistema operativo empotrado XTinux de Coventive ofrece una de las distribuciones comerciales mas pequeñas del núcleo de Linux empotrado. El poder de la funcionalidad reside en el núcleo de Linux empotrado Coventive, que es el único adecuado para móviles pequeños y dispositivos handhelds ya que las especificaciones de ingeniería son muy rigurosas para las para las soluciones de linux empotrado mas comunes. La característica del núcleo empotrado de Coventive es que se trata del mas pequeño del mundo con 143 KB. Un núcleo pequeño es esencial para cumplir los requerimientos de las funcionalidades altas, los pequeños tamaños de los productos y las limitaciones de la capacidad de almacenamiento que piden la mayoría de las aplicaciones informáticas El software de Coventive proporciona soporte a los siguientes procesadores: x86 (586, 686, MediaGX, STPC), StrongARM, SH3/SH4, PA-RISC, ARM-7, y otros con los requisitos normales. Coventive da soporta 12 de las mas importantes lenguas del mundo ofreciendo versiones simples para: Ingles, Francés, Alemán, Italiano, Español, Portugués, Ruso, Chino simplificado y tradicional, Japonés, Coreano, Thai y Vietnamita. Juntas estas lenguas cubren el 75% de la población mundial. La capacidad multi-lenguaje esta basada en el “Giga Character Set” (GCS) de la compañía, un algoritmo de encriptación matemática único que minimiza la localización de los requerimientos del mercado y preserva las caracteristicas de la lengua. - Solucion total de software: Sistemas de comunicación móviles • Programación para dispositivos móviles Página 15 de 15 RedBlue Linux (Embedded para soluciones wireless). El sistema operatico Linux RedBlue de Esfia (empresa desarrolladora de software abierto y herramientas) es una distribución "embedded Linux" que facilitara el camino de las futuras soluciones de comunicaciones wireless. Derivado del núcleo de linux 2.4, la versión 1.0 de Linux RedBlue incluye soporte plug-and-play USB y otras características importantes del rapido mercado de los dispositivos empotrados. RedBlue se puede usar en dispositivos basados en procesadores con o sin una unidad de memoria de gestión (Memori Management Unit). Con un tamaño del núcleo de 400 KB (o menor), Linux RedBlue puede convertirse es una elección popular para linux basado en dispositivos empotrados. Alguna compañías como NEC, MiTAC, y FIC ya han usado Linux RedBlue en el desarrollo de sus plataformas de aplicaciones de Internet con la función wireless. Sumario de las características RedBlue Linux: • • • • • • • Distribución de la versión 2.4.x. CF, PCMCIA, 802.11b y modo de trabajo de red Bluetooth TCP/IP. Serial y modem PPP. Sistemas de archivos RAM y flash. Soporte durante la ejecución. Administración de la energía: Deep Sleep, Idle y Programming Run-Time Clock Scaling. Acelerador de gráficos Hardware. Aplicaciones: • Utilidad para la configuración del sistema y el modo de trabajo de red. • Alarma. • Diccionario (Ingles/Ingles, Ingles/Chino, Chino/Ingles). • PIM’s. • Sincronización desde IrDA y USB. • Teclado virtual. • Cliente de E-Mail. • Visualización del estado de la batería. • Rotación de la pantalla. • Navegador HTML. • Calculadora. • Software de recarga. • Reconocimiento de voz. • Fax. • Buscador (en breve HTML 4.0). Sistemas de comunicación móviles Programación para dispositivos móviles Página 16 de 16 Soporte multimedia: • Reproductor de audio MP3. • Video digital MPEG 1&2. • Visor de imágenes. • Juegos. • EN breve video en formato MPEG4. SDK y Emulación: • Entorno de compilación cruzada (MIPS y Arm/StrongArm) • FLTK Widget Set. • Código Fuente. • Soporte vía E-mail. • Todas las librerías necesarias. • Documentación completa. • Emulación desde escritorio. • PalmPalm Tynux (Embedded) El paquete Tybux es una tecnología empotrada Linux de PalmPalm optimizada para las aplicaciones de internet. La tecnología PalmPalm ofrece la herramienta de desarrollo de Linux empotrado, Tynux Box, para extender la distribución de la aplicaciones de internet cargadas en Linux y aumentar la participación de los desarrolladores de aplicaciones software. Tynux Box esta formado por un CD (con la fuente de linux y otras herramientas de desarrollo de software) y adjunta una referencia de las placas y procesadores, memoria, LCD, etc.... El software desarrollado con Tynux Box se puede poner automáticamente en funcionamiento en los teléfonos celulares, PDA’s , etc... con Tynux instalado. Tynux Box sirve tanto para los desarrolladores de software como para los desarrolladores de hardware de aplicaciones para Internet. El siguiente paso es integrar las plicaciones software dentro de del pack Tynux de la tecnología de PalmPalm. Los socios de la tecnologis PalmPalm crean estas aplicaciones software i la empresa se hace responsable de examinar los procesos y de la integración con Tynux GUI (Interficie Grafica de Usuario): • • • • • • • Navegador Web / Navegador WAP. Mauina Virtual JAVA (JVM). E-mail. Libreta de direcciones. Calendario. Pen-input Reconocimiento de caracteres Otros. • Familiar (PDA’s) El proyecto Familiar se compone de un grupo de desarrolladores libre que contribuyen a crear la nueva generación de SO para PDA’s. Actualmente, la mayoría del tiempo de desarrollo se esta utilizando en producir estandars, y la distribución completa de Linux ofrecida para la serie de Compaq iPAQ, es tan buena como los apps para ejecutarse encima de la distribución. Sistemas de comunicación móviles Programación para dispositivos móviles Página 17 de 17 Las distribuciones mas corrientes de Linux Familiar soportan las siguientes caracteristicas: • • • • • • • • Basado completamente en el servidor XFree86's/keithp's Tiny-X, que incluye la ultima extensión RENDER. Soporte para Anti-Aliased True-Type Font con rxvt-aa, matchbox, y fltk (en general para cualquier aplicación que usa los Xft API’s). Dropbear sshd incliudo por defecto. Las ultimas versiones incluyen soporte JFFS2, que habilita tener acceso de lectura/escritura a la Flash de los iPAQ's. Integrados Python v2.3 w/ PyGtk y PyGDKImlib. Compatibilidad binaria y de librerias con la distribución w/ Debian's ARM. En muchos casos, los programas se pueden extraer desde Debian y ejecutar en el iPAQ w/out issue. Soporte al paquete completo basado en ipkg. Mucho programas del sistema se pueden implementar usando busybox, ahorrando mucho espacio. La version actual del software release es el protecto Linux Familiar v0.7.2 para las reries H3100,H3600,H3700,H3800,H3900,H5400, y H5500 del iPAQ. El Open Palmtop Integrated Environment (OPIE) is a 'fork' of Qtopia environment developed by Trolltech. Opie is a completely Open Source based graphical user environment for PDA's and other devices running Linux. It is maintened by a group of people scatted around the word and convinced by Open Source philosophy. Opie has greatly extended and improved usability of Qtopia to become the most sophisticated free and open graphical user interface for Linux based embedded devices and PDAs. Opie features a sophisticated personal information (PIM) framework as well as several other productivity apps. It has also extended multimedia capabilities, document model, networking and communication tools as well as multi language support for more than a dozen languages. Based on common industry standards like XML, Obex, IrDa et. al. Opies is capable to interact with lots of devices ranging from cell phones to server backends. Opie is highly optimzed for mobile devices and tries to support the user with shortcuts and ease of use. No matter whether one would like to organize life issues, keep up to date reading daily news or requires a mobile internet accessing terminal, Opie provides all capabilities necessary for daily usage. Sistemas de comunicación móviles Programación para dispositivos móviles Página 18 de 18 4.- Hardware móvil. El siguiente texto sobre los dispositivos móviles está aplicado a todo tipo de dispositivos con el SO Linux: Laptops, libretas electrónicas, PDA’s, portátiles, etc.... Sin embargo, a veces hay que realizar especificaciones concretas para cada uno de ellos. El PCMIA (Personal Computer Memory Card International Association) es un estándar internacional, se trata una asociación con doscientas compañías que fue fundada el 1989 para establecer estándares para tarjetas de circuitos integrados y para promover el intercambio de dispositivos móviles en los que que su baja potencia y el pequeño tamaño son críticos. En el año 1991 PCMIA definio una interficie I/O (Entrada/Salida) para el mismo pin conector 68, inicialmente utilizado para tarjetas de memoria. Al poco tiempo, se añadido al proyecto Socket Services Specification que fue seguido en un corto plazo de tiempo por Card Services Specification. Este hecho demostró que cada vez mas el software común es necesario para realzar la compatibilidad entre los diferentes dispositivos. Las tarjetas están disponibles en diferentes formatos: “Tipo I, II y III”. Ahora mismo hay dos drivers de gerencia de potencia en el Linux Kernel (AFAIK). Cada uno de ellos dispone de diferentes interficies de usuario. Antes de instalar cualquier programa es aconsejable echarle un vistazo a la BIOS. A menudo se pueden encontrar soluciones, como por ejemplo en las opciones para instalar dispositivos móviles, APM, ACPI, DMA, IrDA, PCMCIA, SpeedStep y más.... Si surgen problemas graves a la hora de configurar el programa, es aconsejable la actualización la BIOS a una nueva versión. Para realizar esta tarea necesitas uno de los tradicionales sistemas operativos de Microsoft o al menos un disco de DOS. LinuxBIOS intenta reemplazar el BIOS normal que podemos encontrar en PC’s o otras máquinas con Linux kernel que pueden cargar Linux. LinuxBIOS es principalmente Linux que ejecuta dieciséis instrucciones para obtener un modo de 32 bits y realiza otras inicializaciones de hardware requeridas antes que Linux pueda asumir el control. Speedsted es una característica de la reciente CDP fabricada por intel que te deja escoger la frecuencia de la CPU. Hay distintas herramientas de Linux que permiten lograrlo. Características similares están disponibles para otras CPU’s provinentes de AMD o StrongARM CPU. Esta última funcionalidad que hemos comentado proporciona un espacio de usuario y una interfaz de espacio de Kernel estándar para esta característica, con un sistema ARM de dispositivos nombrados “system-on-a-chip” para hacer frente a cambios del reloj. Des de que la potencia consumida del procesador es directamente proporcional a la velocidad a la cual trabaja, mantener la velocidad del reloj lo más baja posible te proporciona más autonomía en conceptos de alimentación y batería. Habitualmente, los PC’s en los cuales trabajamos, en el momento en que están esperando una entrada o input del usuario, no hacen ningún proceso más o gestión, consumen igualmente una cantidad muy notable y excesiva de energia, y producen grandes cantidades de calor sin hacer prácticamente nada. De hecho, para arreglar este problema, los buenos sistemas operativos como Linux, NT o OS/2 tienen un nombrado “idle loop”, que es un lazo que siempre se ejecuta cuando la CPU no tiene nada para hacer o ejecutar. Consiste en una valla (halt, HLT). CPU’s como el AMD K6, el Cyrix 6x86 y 6x86MX tienen una característica especial nombrada “suspend-on-hald”. Esto significa que cada vez que la CPU ejecuta una instrucción de tipo “halt”, eso llevará a un modo de “suspensión” para un tiempo corto. De esta forma, la CPU utiliza menos potencia, disipa menos calor, y estará más fresca. El usuario no se dará cuenta que la CPU está en modo de suspensión la mayoría del tiempo. Todo este método no afecta para nada al funcionamiento del PC. Sistemas de comunicación móviles Programación para dispositivos móviles Página 19 de 19 En referencia al LCD Display, citaremos referencias por lo que hace a Laptops y PDAs. En los primeros, el fat8x16-x-font tiene una anchura de 8 x 16 píxels fijada para ser usada físicamente en pequeño tamaño pero altas resoluciones de display. Muchos displays pueden ser encontrados en libretas de ordenadores con 1400*1050 y 1600*1200 teniendo en cuenta displays de 14’’. En LCD Displays de PDA’s, pxl2000 es un ISO 8859-15 codificado con tipografía de “matriz de punto” para X Window System (X 11). Actualmente están disponibles nueve tallas o tamaños: “10 x 20” ,”11 x 22” y “12 x 24”. Está diseñado para tener una legibilitat en comparación con otros dispositivos, para tener una cierta optimización para el código del programa a través de caracteres visualmente distintos, tiene una completa gamma de caracteres ISO-8859-15, muchos tamaños de punto para asegurar consistencia óptica a través de distintos ordenadores con diferentes resoluciones de pantalla, netedad y en el diseño visual, que también es minimalista, además de otras características como una matriz cuadrada de base minúscula. Todas estas características no se tienen que ver como un imitación en baja resolución de print type. A continuación expondremos los puntos más importantes por lo que hace a las características del sonido. Empezaremos diciendo que muchos laptops nuevos vienen con 16 bits de sonido, pero muchas otras tecnologías de sonido como Mwave no trabajarás o son muy consistentes para ponerse a trabajar. Encontramos ejemplos de esta circunstancia a la hora de cargar un driver, luego utilizamos una tarjeta de sonido estándar SB-PRO. Por lo tanto, podríamos necesitar una tarjeta de sonido comercial. Con el anuncio reciente del apoyo de Linux por parte de IBM, sería muy bueno que IBM suportase Mwave por debajo de Linux. Como último recurso tu puedes escoger el módulo de speaker pcsnd, que intenta emular una tarjeta de sonido. Survey Sound Drivers: El original driver de sonido de kernel de Hannu Savolainen. ALSA (Advanced Linux Sound Architecture). Su objetivo es estar completamente modularizado, que suporte kerneld/kmod, que asegure compatibilidad con la mayoría de aplicaciones binarias “OSS/Lite applications”, que cree una librería en C i C++, que cubra l’”ALSA Kernel API” para aplicaciones i l’”ALSA Manager”, un programa de configuración interactiva para el driver. Con Kernel 2.6 estos múdulos formarán parte del Linux Kernel. UNIX Sound System Lite / OSS proporciona drivers de tarjeta de sonido comercial para muchas de las populares tarjetas de sonido por debajo de Linux. Estos drivers suportan audio digital, MIDI, sintetizadores, a parte de mezcladores encontrados en tarjetas de sonido. Estas tarjetas de sonido se conforman con la especificación de l’Open Sound System API. OSS proporciona una instalación y configuración de las tarjetas de sonido muy simple. OSS suporta más de 200 nombres de marcas de tarjetas de sonido. Los drivers OSS proporcionan una detección automática de la tarjeta, suporte por Plug-n-Play, suporta para tarjetas de sonido de audio PCI. A continuación nos pondremos a hablar de los dispositivos de punteros, de los “mouse” y todo lo que a ello se refiera. Habitualmente, un Touchpad trabaja con un dispositivo de mouse PS/2 y el protocolo PS/2 (por GPM y X11). Hay un driver de Touchpad disponible. La Synaptics Touchpad Linux Driver –tconfic suporta los dispositivos de punteros utilizados en la libreta por Acer, Compaq, Dell, Gateway, Olivetti, Texas Instruments, Winbook y otros… Otros drivers de Synaptics Touchpad (Xfree86 4.x) están programados por Stefan Gmeiner. El touchpad driver tiene las siguientes funciones algunas funciones requieren características que tienen que estar presentes, como por ejemplo las funcionalidades multifinger : a) Movimento con ajustable y no lineal aceleración y velocidad. (opciones: MinSpeed, MaxSpeed, AccelFactor). b) Botón de eventos a través de pulsación corta al Touchpad (opciones: MaxTapTime, MaxTapMove). c) Doble botón de eventos a través de dos pulsaciones cortas del touchpad. través de pulsaciones cortas y de mantener pulsado el dedo al touchpad. 4.-Arrastre a Sistemas de comunicación móviles Programación para dispositivos móviles Página 20 de 20 d) Botón del medio y de la derecha a la esquina de arriba y de abajo del Touchpad (por ejemplo: Edges). e) Desplazamiento a través de mover el dedo al lado derecho del Touchpad. (opciones:Edges, VertScrollDelta). f) El botó de dalt i el de baix envia quatre o cinc events. g) Ajustable detección del dedo (Option: Finger). h) Opciones de multifinger: dos dedos para el botón del medio y tres para el botón de eventos de la derecha. i) Configuración online a través de memoria corta o short-memory (opción: SHMConfig). Dell y Sony han empezado incorporando un Touchpad, proveniente de ALPS. Están a la altura de almenos el Dell Latitude CPx además del Sony VAIO de linias de laptop. Tpconfig no los suporta, aunque en este momento se está en el proceso de obener el API de los ALPS i se estará incorporando a la nueva versión de tpconfig. La Dell’s también incorpora el ALPS GlideStick a la mitad del keyboard (como un palo de puntero en algunos IBM). Tpconfig es una utilidad de línea de comandas para introducir opciones al Synaptics Touchpad y ahora también, al ALPS Glidepad/ Stickpointers. Mucha gente lo utiliza primeramente para apagar el “modus tap” a los laptop touchpad. Cómo utilizar tpconfig? Tpconfig está actualmente suportado como una línea de comandas de herramientas de configuración. El puerto PS/2 no suporta actualmente comparticiones. Aún y eso, la utilidad tpconfig no trabajará mientras algún otro driver del mouse está encargado (por ejemplo gpm). Eso sólo significa que tu no puedes utilizar tpconfig mientras X Windows se está ejecutando. La recomanada utilización de tpconfig es ejecutarlo des de un script de inicio ( o “startup script”) antes que el gpm esté iniciado. Sistemas de comunicación móviles Programación para dispositivos móviles Página 21 de 21 5.- Ejemplos diferentes dispositivos. A continuación se detalla una lista de dispositivos de diferentes dispositivos que usan linux: - Itsy: se trata de un prototipo de PDA que ofrece mayor capacidad de calculo y memoria que el resto de dispositivos. Permitiendo aplicaciones de reconocimiento de voz. Esta diseñado como plataforma abierta para facilitar la innovación y los proyectos de investigación. La base del hardware Itsy proporciona una interficie flexible para agregar las tarjetas (daughtercard) mas usuales, y el software de Itsy esta basado en el SO Linux y el estándar de herramientas GNU. - G.Mate Yopy: El Yopy integra las funciones de Internet y de acceso al e-mail vía teléfono móvil, grabadora digital de voz, reproductores de MP3 y MPEG, videojuegos, a parte de un gran número de aplicaciones. Las características técnicas del dispositivo son: un display QVGA a todo color de resolución (240x320), un procesador de 206MHz con una memoria de 64MB de RAM y 16 de Flash. - Sharp Zaurus SL-6000:Este modelo saldrá en Japón y USA en 2004. El modelo dispone de bluetooth, Wi-Fi (8802.11b), puerto USB, una pantalla VGA de 640x480, memoria Flash de 64MB y 64MB o 128MB de memoria RAM. - SK Telecom. IMT2000 WebPhone: Este dispositivo es un híbrido de teléfono celular más un PDA. Tiene una pantalla LCD y una cámara. Contiene una CPU a 206MHz y una memoria de 32MB de RAM y de 32MB de memoria Flash. El sistema operativo del dispositivo es PalmPalm's Tynux embedded Linux. A parte otro procesador controla la parte del teléfono. - Compaq iPAQ: Los iPAQ también utilizan Embedded Linux, de hecho hay numerosos proyectos estudiando este desarrollo. Este PDA tiene una pantalla LCD, un procesador 206MHz Intel StrongArm y con una memoria de 32MB de RAM y 16MB de memoria Flash. Además dispone de infrarrojos para la comunicación, USB y PCMCIA - CDL Paron: Este dispositivo contiene las funcionalidades de un PDA, acceso bluetooth, teléfono celular y reconocimiento de la huella dactilar como sistema de seguridad. El dispositivo consta de una pantalla LCD con un procesador 206MHz StrongARM SA-1110, una memoria de 32MB o 64MB RAM y 32MB Flash, y usa a Linux 2.4.x kernel. Sistemas de comunicación móviles Programación para dispositivos móviles Página 22 de 22 - Centro Digital de Entretenimiento HP: Este dispositivo esta basado en una combinación de Java+Linux empotrado, se trata de aplicación de entretenimiento casera que proporciona música digital y información a través de redes de banda ancha sin el uso de ningun PC. El sistema se conecta como un componente audio a un sistema estereo normal y se puede utilizar para grabar CD’s, crear/almacenar/organizar MP3 en su disco duro interno, transferir musica a dispositivos de audio y escucha la radio via Internet. Sistemas de comunicación móviles Programación para dispositivos móviles Página 23 de 23 6.- Embedded Linux y Java (nuevos dispositivos). • Mundo en transición: El mundo de los dispositivos inteligentes esta cambiando dramáticamente. Los dispositivos computarizados que nos rodean se están volviendo mas inteligentes, se están interconectando y independizando y todo esto sucede sin un incremento del precio. La tendencia actual es de empotrar progresivamente los ordenadores mas potentes y conectarlos a cualquier cosa que funcione con electricidad tanto si son fijos como móviles. Esta tendencia esta dirigida por la capacidad de computo y la alta integración en dispositivos empotrados de los procesadores system-on-chip, a los que se les proporciona una gran capacidad del sistema, memorias de almacenamiento y interficies de comunicación por cable y wireless (Ethernet, IrDA, 802.11, Bluetooth). Otro fenómeno importante que se da tanto en las computadores empotradas como en la proliferación de la conectividad, es la inteligencia de los nuevos dispositivos a la hora de ser localizados. Cada vez mas, la precisión de la ubicación del software de estos dispositivos esta disminuyendo, y eventualmente somos capaces de encontrar donde están localizados los programas que usamos. Esta la aplicación que estamos ejecutando dentro del dispositivo? Se trata de un servidor base o remoto (p.e. servicio de router casero)? Esta la aplicación situada en un servidor de aplicaciones del proveedor (aplicaciones web)? Disponemos la combinación de ambas cosas (lenguajes de script)? Este hecho lo podemos llamar de multiples formas: inteligencia distribuida o computadoras distribuidas, .NET, era de los ordenadores portátiles. Como se quiera nombrar, pero una cosa es cierta: la era de los aislados, ordenadores personales de escritorio ejecutando software local se va a terminar. • Bienvenidos a la nueva era de PC portátiles: Tanto las fronteras de los antiguos y borrosos paradigmas de programación y las nuevas distribuciones basadas en realidad virtual, ínter conectividad, generalización de los dispositivos de computo, una pequeña parte de los atributos de la era que se acerca provienen de un mismo foco. El numero de dispositivos inteligentes (p.e. productos con un sistema operativo empotrado en su interior) aumentara exponencialmente, alcanzando cifras de billones. La elección de una CPU será algo mas que el coste de la tecnología o la arquitectura. En poco tiempo los dispositivos dispondrán de conectividad, tanto por cable como por wireless. La mayoría de los dispositivos tendrán que disponer de la posibilidad de ser actualizados o reparados remotamente, descargándose una nueva versión o software. Además tendrán que disponer de bastantes funciones especificas, así que las aplicaciones de software tendran que ser definidas por los fabricantes (mas bien por definidas por sus usuarios) En general, la mayoría de los dispositivos de computo en esta nueva era no seran PC’s. En cambio, se convertirán en “aplicaciones inteligentes” con varias formas y capacidades, que se usaran para la obtención de información, el entretenimiento el control y otras utilidades. Una muestra de esta inteligencia reside en: los relojes (que se convertirán en teléfonos móviles con funciones PIM), teléfonos celulares/PDA’s avanzados, sistemas de audio y video, dispositivos electrónicos de automóviles, aplicaciones inteligentes en la cocina, PC’s como escritorios terminales, etc.... • Un terreno asequible para Linux... Como el numero y la variedad de dispositivos aumenta muy rápidamente, la necesidad de minimizar costes y maximizar especificaciones aumenta consecuentemente. Desde ahora, Linux empotrado se convierte en una tecnología deseable como sistema operativo ya que es escalable, configurable y permisible. Sistemas de comunicación móviles Programación para dispositivos móviles Página 24 de 24 Estar valiosas características no son recientes, el mayor coste asociado con la CPU y los recursos de memoria necesarios para ejecutar Linux esta limitado en algún sitio por un factor relativo a su uso en los dispositivos mas sensibles. Ahora, sin embargo, los recursos necesarios de Linux empotrado son bastante baratos: 2MB de memoria Flash y 4MB de memoria RAM junto con una velocidad de procesador moderada de 100 MIPS. • ... y Java Un hecho relevante en esta nueva era en la que estaremos rodeados por una gran cantidad de dispositivos inteligentes, que se codran comunicar entre ellos, es odvio que sera necesario simplificar y agilizar el proceso de desarrollo, depuración y mantenimiento de aplicaciones. En este aspecto, Java se convierte en una regla clave. Sin embargo Java ha fallado en cuanto al objetivo para el cual fue desarrolado, que fue servir como sistema operativo empotrado en pequeños dispositivos inteligentes. Java ha terminado sirviendo los significados convenientes para habilitar aplicaciones moviles a los dispositivos de computo, promovido principalmene por el crecimiento de la Web. Hoy en dia, Java se muestra como una promesa en la regla de servir a a dispositivos independientes plataformas de aplicación, que se ejecutan en la parte superior del sistema operativo empotrado. En este caso, más que ser una fraccion del sistema operativo, Java proporciona la ventaja de enmascarar los aspectos únicos del dispositivo subyacente y de proporciona un arsenal de servicios más allá de los ofrecidos por el OS empotrado. En el contexto de la proliferación exponencial de dispositivos inteligentes, Java está emergiendo como manera práctica de minimizar el desarrollo para dispositivos especificos y permitir que los desarrolladores se centren en los aspectos cocretos de sus proyectos. Cada vez más, Java esta abasteciendo a los medios para obtener funcionalidad como GUI’s, buscadores Web, pila de protocolos, reconocimiento de escritura y de voz, comunicaciones sin hilos (wireless), soporte multimedia, gerencia de la base de datos y una amplia gama de servicios remotos. Sistemas de comunicación móviles Programación para dispositivos móviles Página 25 de 25 7.- Mercado de Embedded linux Tras la encuesta anual de “LinuxDevices.com” se llegaron a las siguientes conclusiones sobre el estado del mercado. En primer lugar, embedded linux ha tenido un gran crecimiento frente a otros sistemas. La siguiente gráfica nos muestra el gran crecimiento que a tenido embedded linux en deprimente de “Home Grown” en el mercado. Por otro lado otros sistemas como Windows CE crecen a buen ritmo. Es segundo lugar, como software de embedded linux para los desarolladores se ha escogido mediante los sguientes factores clave. El factor más importante és “developement tools” ya que embedded linux permite una gran flexibilidad, accesso completo al codigo fuente y es software libre. Gràfica: factores clave elección software Sistemas de comunicación móviles Programación para dispositivos móviles Página 26 de 26 En último lugar se ha estudiado en que estan dispuestos o no a invertir dinero los desarrolladores. A éstos se les han realizado los siguientes preguntas con el resultado representado en el diagrama. • ¿Pagarías para un servicio de desarrollo/soporte de Linux? • ¿Pagarías por unidades de derechos? Sistemas de comunicación móviles Programación para dispositivos móviles Página 27 de 27 8.- Conclusiones. • La mayor parte de la información encontrada, como en el caso de los sistemas operativos o artículos sobre productos, corresponde a informa comercial, es decir explica como de bueno es el producto y todas sus grandes virtudes, pero resulta encontrar informacion valiosa desde el punto de vista explicativo. • Linux sigue conservando todas las ventajas de la version de escritorio se trata sistema operativo con una mayor facilidad de adaptación, y se encarga de gestionar mejor los recursos ofrecidos por el dispositivo sin sobrecargarlo. • Tiene la ventaja de ser un software de libre distribución. • Cada vez tiene un mayor peso dentro del mercado y tiene un futuro prometedor. Sistemas de comunicación móviles Programación para dispositivos móviles Página 28 de 28 9.- Bibliografía. Pagina de tuxmobil en la que se encuentra "Linux-Mobile-Guide": http://tuxmobil.org/ Pagina de información sobre linux: http://todolinux.com/webs/todolinuxphp/index.php Guía de dispositivos móviles basados en linux: http://www.linuxdevices.com/ Pagina de Embedded Linux (linux empotrado), especifico para PDAs y dispositivos sin monitor: http://www.embedded-linux.org/ Pagina de desarrolladores de SO para dispositivos: http://www.handhelds.org/geeklog/index.php Asociación española de comunicaciones móviles: http://www.aecomo.org/content.asp?contentid=764&contenttypeid=2 Pagina con información sobre plataformas de desarrollo: http://www.programacion.com/ Enlaces a paginas con herramientas para el desarrollo de aplicaciones J2ME: http://j2ee.ua.es/pdm/recursos_links.htm Pagina de mimix, precursores de linux: http://www.cs.vu.nl/~ast/minix.html Pagina con libros en la que se puede encontrar el libro Linux Devices Drivers: http://www.oreilly.com/openbook/ Pagina sobre el sistema operativo debian (principalmente para laptops) http://www.debian.org/ Pagina sobre una distribución de Mini-linux: http://mulinux.sunsite.dk/