lecturas de TodoLinux número 88


Comienzo hoy a publicar mis comentarios sobre la lectura de los artículos y noticias de la revista TodoLinux de este mes, que tiene su portada dedicada a los nuevos sistemas portátiles conectados a Internet o Mobile Internet Device (en la jerga técnica los MIDs) En concreto se habla de los Ultra-Mobile PCs (UMPC) que son unos dispositivos a medio camino entre los PDAs o SmartPhones y los ordenadores portátiles. Por lo visto GNU/Linux va a tener un papel estelar en dichos dispositivos.

En la sección de noticias hay que destacar la compra de una compañía que se dedicaba al software open source como Innotek por parte de Sun Microsystems. El producto estrella de Innotek es VirtualBox, un programa de virtualización de escritorio con versiones GPL, que completa su plataforma de virtualización xVM y la construcción de virtual appliances en competencia directa con vmware. Parece que Sun está apostando por complementar sus productos con software open source como una estrategia a medio plazo. Hace poco compró otro icono del mundo open source como MySQL AB, fabricante de la famosa base de datos. Sun ha lanzado recientemente un proyecto para abrir su sistema operativo Solaris a la comunidad open source llamado OpenSolaris. Esto entra dentro de una estrategia open source global cuyas claves son: openxVM (ahora con VirtualBox), OpenSolaris, GlassFish, OpenJDK y MySQL, que van a permitir disponer de la infraestructura necesaria para el desarrollo completo de aplicaciones web escalables.

Otra noticia relacionada con Sun (casualidad?) y que completa la visión tecnológica de la estrategia de esta compañía es el anuncio de la apertura del código de su plataforma Sun SPOT, bajo la licencia GPL v2, un proyecto de investigación desarrollado por la compañía. Se trata de una infraestructura HW/SW de sistemas embebidos de recursos y energía limitados para el desarrollo de aplicaciones embebidas en el campo medioambiental y de la robótica. Esta basada en la tecnología Java (en concreto la máquina virtual Squawk) Va a incluir el SunSPOT JDK pensado especialmente para entornos educativos.

Relacionado con el tema de portada, hay una noticia que indica que se augura el fin de los portátiles tradicionales y la irrupción de unos nuevos dispositivos portátiles de poco peso que se van a aprovechar de la aparición de la computación como un servicio universal y accesible a través de conexiones inalámbricas. Se trata de un informe de la consultora Gardner. En cinco años los portátiles tal y como los conocemos ahora serán relevados por diminutas unidades móviles que harán todo el trabajo en línea (de los cuales los UMPC son solamente un atisbo), unidades ultraligeras con conexión inalámbrica a Internet, ejecutando aplicaciones web directamente contra servidores disponibles en todo momento. Aquí veo yo la sinergia entre tecnologías como la Web 2.0, el software como servicio (SaaS), el cloud computing (grid computing), las comunicaciones móviles, los sistemas multimedia embebidos de alto rendimiento y bajo consumo, …

Finalmente hay dos pequeñas noticias que merecen la mención. La primera sobre la aparición de una nueva versión del SDK de la plataforma android de Google. Habrá que estar atento a esta plataforma ya que es una buena base para el desarrollo de las aplicaciones que van a correr en esos nuevos dispositivos de los que venimos hablando (MIDs, UMPCs, …) En la misma línea está la segunda noticia sobre una nueva plataforma móvil (rival de la de Google) construida por fabricantes de dispositivos como Samsung y LG llamada LiMo Foundation para el desarrollo de aplicaciones sobre sus nuevos teléfonos basados en Linux (por ejemplo el SGH-i800 de Samsung y el prototipo LG LiMo) Meter Linux en los teléfonos móviles está empezando a ser algo cotidiano. He encontrado por Internet una lista no oficial de móviles con Linux embebido.

7 comentarios en “lecturas de TodoLinux número 88

  1. El artículo de portada trata de los nuevos dispositivos ligeros y de bajo consumo que están llamados a sustituir a los portátiles como informática móvil: los UMPC, y su relación con GNU/Linux.

    Se repasan en primer lugar las especiales características del hardware, talón de aquiles que suele ser a la hora de hacerlos trabajar con Linux. El tamaño máximo de la pantalla es de 7 pulgadas, apaisada (resoluciones no estándar de 800×480 o 1024×600) y además suele ser táctil (posiblemente multitouch) Un chipset y procesador de mínimo consumo aunque con la potencia suficiente como para ejecutar aplicaciones multimedia (posiblemente mediante el uso de multicores, aceleradores hardware y chips específicos como DSPs o GPUs), almacenamiento mediante discos sin partes móviles, conectividad inalámbrica (UMTS, Wifi, WiMax, Bluetooth, UWB, …), peso mínimo y una duración de a batería de más de tres horas.

    Se repasan los primeros modelos y sus características (Tablet Kiosk eoV7110, Asus R2H, Samsunng Q1, Founder Origami, General Micro Systems P360, …) que utilizan desde chips como el VIA C7 NaNo hasta procesadores más conocidos como Pentium M. La arquitectura que parece más madura es la de Intel McCasin (ver página web de Intel dedicada a los MID) con sus procesadores Atom (A110 y A100) Los UMPC que lo implementan son el Samsung Q1 Ultra o el Fujitsu U1010. La arquitectura va a evolucionar hacia diseños más integrados, con más batería, menos consumos y conectividad total (HSPA, WiMax, GPS, …) (menlow …)

    Si uno podría pensar que el hardware de estos dispositivos es una barrera infranqueable para GNU/Linux, que se olvide. Linux ha tomado estos dispositivos como un nicho de mercado. Su flexibilidad y su capacidad de serie de adaptarse a dispositivos con limitaciones de hardware y consumo le han hecho un candidato ideal. Ubuntu ha sacado una versión específicamente pensada para estos dispositivos, Ubuntu MID Edition (que por cierto utiliza Gnome Mobile como escritorio) Otras distribuciones como Red Flag Linux/MIDINUX y Pepper Linux también han sacado versiones específicas. Intel por su parte ha creado un grupo llamado Moblin (Mobile and Internet Linux Project) cuyo propósito es fomentar la integración de Linux en cualquier dispositivo basado en chips de Intel.

    En el artículo se dan detalles de una instalación, deteniéndose en la parte gráfica por ser la más delicada en cuanto a su tamaño, resolución y el manejo de la característica táctil. Para esta última característica se comenta el driver desarrollado llamado evTouch.

    En cuanto a soporte de dispositivos más sofisticados, es interesante el apartado dedicado al lector de huellas digitales. Se comenta que uno de los lectores utilizados es el Authentec 2501B (en el Asus R2H) Hay un proyecto cuyo objetivo es el soporte completo de la lectura de huellas llevado por un tal Gerard Klaver, que se basa en otro que desarrolla las partes básicas (libfprint, que capta la huella del dispositivo y la procesa; Fprint_demo, que implementa una prueba de concepto; pam_fprint, que integra la lectura y reconocimiento digital con la autorización de entrada al sistema Linux) llamado Fprint.

    Otra característica muy útil de estos dispositivos es la capacidad de reconocer la escritura del usuario (evitando tener incómodos teclados virtuales), lo que se llama tinta virtual. En la Universidad de Minessota han desarrollado un proyecto llamado cellwriter que permite reconocer caracteres escritos de nuestro puño y letra.

  2. En la zona de iniciación se comenta con detalle el protocolo IPv6 que cada cierto tiempo amenaza con aterrizar en Internet y solucionar el problema de escasez de direcciones IP que va a agudizarse próximamente con la aparición de la miriada de dispositivos móviles conectados a Internet (MIDs, UMPCs, …) Su soporte en Linux es bueno tanto en el kernel como en las herramientas y utilidades de red.

    En la Zona Debian se habla de la Virtualización con VirtualBox. Se detalla la instalación, tanto de la versión que contiene código propietario como la que contiene exclusivamente código GPL (VirtualBox OSE) Luego se describe como crear una máquina virtual, las configuraciones posteriores necesarias (audio, red, dvd, directorios compartidos, …) Y finalmente el arranque de la máquina virtual. Se comenta también propiedades interesantes de las máquinas virtuales como la posibilidad de tomar snapshots o puntos de recuperación. Para terminar se detallan trucos de optimización del funcionamiento de las máquinas, básicamente dotándolas de la RAM que necesitan.

    Entre los nuevos paquetes que se han integrado en Debian y que suelen tener cierto interés hay que destacar Fraqtive, un programa para dibujar fractales en 2D y 3D (incluso con la posibilidad de animarlas) que dice implementar algoritmos rápidos que sacan partido de los procesadores con varios cores (esta afirmación es interesante) Otro programa interesante es Tilecache para servidores de mapas que siguen el estándar WMS-C.

  3. En el primer reportaje de la revista tenemos cómo montar aulas de informática de bajo coste haciendo uso de Linux y el proyecto LTSP que permite convertir en terminales remotos equipos antiguos, que pueden ser así reciclados, optimizando los recursos educativos, que suelen ser bastante escasos. En el artículo se cuenta la experiencia llevada a cabo en varios centro educativos d Catalunya. Se hacen análisis financiero del ahorro de costes en material y licencias, energéticos y de mantenimiento.

    En el segundo reportaje tenemos un artículo muy interesante sobre la nueva plataforma de desarrollo para sistemas móviles promovida por Google llamada Android (creo que también he comentado algo en el artículo principal, ya que viene una noticia al respecto) Se trata de un framework y sistema operativo basado en el kernel de Linux, todo ello Open Source, para el desarrollo de aplicaciones en terminales móviles compatibles. Está especificado por la Open Handset Alliance (el típico grupo de empresas que promociona su plataforma para que se convierta en un estándar de facto en la industria)

    La plataforma tiene como base de un kernel de Linix de la serie 2.6 que se encarga de la gestión de la memoria, los drivers de hardware, gestión de procesos y el modelo de seguridad. A partir de ahí se ejecuta una máquina virtual java, Dalvik, que tiene la particularidad de traducir los bytecodes estándar Java a un formato binario propio, que está optimizado para los dispositivos limitados en recursos y consumo sobre los que va a correr. Sobre esta máquina virtual se implementan las librerías core de Java.

    Además se dispone de librerías de sistema implementadas en C y C++: libc, surface manager (para gráficos 2D/3D), media framework (audio y vídeo), SQLite (base de datos compacta), FreeType (fuentes y bitmaps), WebKit (motor de renderizado HTML), OpenGL ES, SGL (gráficos 2D) y SSL.

    Con estos mimbres se construye un framework para construir aplicaciones, en las que las aplicaciones nativas y de terceros se consideran al mismo nivel. El conjunto de sistemas y servicios es: views (para la interfaz gráfica del usuario), content provider (para el acceso a datos externos y persistencia), resource manager (acceso a ficheros de configuración y recursos gráficos y de internacionalización), notification manager (para lanzar mensajes) y activity manager (gestión del ciclo de vida de la aplicación)

    Las herramientas de desarrollo que se apoyan en el framework para facilitar al máximo el desarrollo de aplicaciones se basan en un emulador, un plugin del eclipse (Android Development Tools), depuradores de la máquina virtual y el emulador, utilidad de empaquetamiento de los binarios y archivos de recursos de una aplicación, un lenguaje de descripción de interfaces (Android Interface Decription Language), la base de datos SQLite, un simulador de tarjeta de memoria, del generador de bytecode de android y un generador automático del esqueleto de una aplicación android (activityCreator)

    En el artículo se dan las instrucciones para la instalación del SDK y se desarrolla la típica aplicación de ejemplo de “hola mundo”.

  4. En la serie de artículos del taller práctico tenemos lo siguiente. En el primer artículo se expone un sistema curioso que permite utilizar hasta a siete usuarios de forma simultánea un gestor de ventanas, en concreto un derivado del IceWM, utilizado en algunos UMPC con GNU/Linux. Cada usuario puede interactuar de forma independiente con su propio teclado y ratón. La ventana sobre la que actúa cada usuario es de un color diferente, para poderse distinguir. El proyecto se llama multi-cursor. Se me ocurre que esto es muy parecido en concepto a una pantalla multi-touch en la que varios usuarios pueden operar simultáneamente.

    En el segundo artículo tenemos la segunda entrega de la serie dedicada al Snort. En esta ocasión se detalla la configuración avanzada de la herramienta: configuración de red, preprocesadores y reglas, y módulos de salida. También la actualización automática de las firmas de ataques con oinkmaster. Es un artículo bastante extenso.

    En el tercer artículo tenemos la primera entrega de una serie dedicada al gestor de contenidos Drupal. Estos sistemas permiten realizar sitios web sin necesidad de conocer los detalles de la programación de las páginas web (XHTML, CSS, JavaScript, PHP, etc.) Suelen integrar herramientas específicas para construir la parte social (web 2.0) de las web como foros de discusión, wikis, blogs, tiendas de comercio electrónico, etc. En este caso la flexibilidad de la plataforma permite mediante un sistema de plugins añadir la funcionalidad extra que se necesite. En este primer artículo se detalla la instalación y la creación de un primer contenido de prueba.

    En el cuarto artículo del taller práctico se trata de una herramienta del proyecto mozilla llamada GreaseMonkey. Es una herramienta curiosa ya que permite modificar la experiencia de usuario desde el navegador web, ejecutando uno scripts de cliente especialmente programados. De esta manera podemos hacer que las páginas de los sitios web a los que accedemos muestren solamente lo que nosotros deseamos (eliminando sobrecargas innecesarias desde nuestro punto de vista subjetivo, claro) En esta primera entrega de una serie de dos se explica su filosofía, su instalación (un plugin de firefox) y ejemplos de aplicaciones: añadir diccionarios que permiten buscar palabras haciendo doble clic en la misma sin abandonar la página en la que estamos navegando, buscar música en Google, un reproductor inline de mp3 en el navegador, lista de tareas propias dentro del calendario de google, …

  5. En la parte de hardware tenemos un artículo en el que se explica brevemente la optimización de GNU/Linux para los procesadores Intel Pentium M. La instalación de una versión del núcleo adecuada para el modelo de procesador que utilicemos es esencial para mejorar el rendimiento global del equipo. La verdad es que este artículo me ha dado una idea. Hace tiempo que tengo la obsesión hacer que el portátil optimice su rendimiento y consuma en función del patrón de uso que le dé, con lo que podría alargar la vida la batería para el caso en que lo usara en portabilidad. El artículo no aclara nada, a pesar del título y se limita a indicar como detectar el tipo de procesador en varias distribuciones y descargar e instalar al última imagen binaria del núcleo. He buscado por Internet algo relacionado con la optimización del kernel para Core 2 Duo (el procesador que tengo en mi portátil) pero no he encontrado nada concluyente, salvo quizá el primero de una serie de artículos de Linux Journal sobre la optimización de Linux.

    En el segundo artículo de hardware se habla de hardware de servidor. Se comentan las interfaces de rede de gama baja. Se explican conceptos de ethernet para entender la tecnología dominante en las redes de hoy en día. También se explica el rendimiento en la transmisión de datos en estas redes de medio de transmisión compartido. Las categorías de cableado que se emplean y los conceptos importantes sobre los switches (switches gestionados, VLAN, port trunking and mirroring, QoS, …) junto con la descripción de algunos equipos (hubs y switches) completan el artículo.

    En la sección de trucos destaca este mes uno que da la receta para instalar las fuentes TrueType en Linux. Es interesante también una propuesta para cambiar el prompt de la consola de texto de un terminal de Linux.

  6. Dejamos lo mejor para lo último. El artículo más interesante que he encontrado en la revista de este mes está en la sección de software Linux. Se trata de una utilidad que se encuentra en las primeras fases de desarrollo llamada LatencyTop. Se trata de un desarrollo GPL del Intel Open Source Technology Center que pretende poder localizar los cuellos de botella de los procesos que se ejecutan en el sistema operativo. Este tipo de profiling es el primer paso que se suele seguir en la optimización de los sistemas. Permite saber que procesos e instrucciones ocupan la mayor parte de los recursos (procesos y memoria) y por tanto permite enfocar los esfuerzos de mejora en las partes del código que lo necesitan. En el momento de escribir el artículo parece que el código no estaba muy maduro y se relatan las peripecias en su instalación, configuración y prueba de ejecución. Consta de una parte que hay que integrar en el kernel y de una herramienta en el espacio de usuario.

    Por otra parte se explican en cuadros explicativos herramientas alternativas que hacen lo mismo, como dtrace, en el sistema operativo open solaris. La idea subyacente es que cualquier aspecto del sistema operativo y de las aplicaciones de usuario puedan ser monitorizadas mediante sondas software. No esta portado para Linux.

    El equipo del kernel de Linux tiene una herramienta llamada kprobes diseñada para depurar el kernel. Permite insertar breakpoints en el kernel en ejecución, de tal forma que estos llaman a una función de callback en área de kernel. Dicha función puede recoger información sobre cómo se atiende una señal, y cuáles son los registros del kernel y las estructuras de datos del mismo, mientras este de ejecuta. Este sistema podría se la base para programar algo parecido a la funcionalidad de LatencyTop pero el hecho de que haya que programar las funciones de callback a mano en el área del kernel lo hacen muy difícil.

    Otra herramienta de grano más grueso, parecida a LatencyTop es strace. El problema es que strace no permite visualizar el desglose de tiempos que se emplea dentro de la llamada a un sistema

    Entre los proyectos del Intel OSS hay que destacar dos que me pueden interesar en la idea que he expresado en un comentario anterior sobre optimizar el GNU/Linux en mi portátil en rendimiento y consumo:

    * LessWatts
    * Intel Threading Building Blocks (TBB)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s