jueves, 29 de agosto de 2013

LINUX




Arquitectura


Los componentes principales del sistema operativo de Android (cada sección se describe en detalle):

Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de programación Java.
Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.


Sistema operativo que utiliza



Android es un sistema operativo basado en Linux para dispositivos móviles, como teléfonos inteligentes y tablets. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en el 2005.[] Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio.

Android tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, existen cerca de 200.000 aplicaciones disponibles para Android. Android Market es la tienda de aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los programas están escritos en el lenguaje de programación Java.[

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Glibc. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.

Lenguajes de Interfaces de servicios


La Interfaz de usuario de iOS se basa en el concepto de manipulación mediante gestos multitáctiles. Los elementos de la interfaz se componen por deslizadores, interruptores y botones. La respuesta es inmediata y se provee de una interfaz fluida. La interacción con el sistema operativo se realiza mediante gestos como deslizar, tocar y pellizcar. Acelerómetros y Giroscopios internos son utilizados por algunas aplicaciones para responder a movimientos y gestos, como sacudir el aparato (en campos de texto es usado para deshacer y rehacer) o rotarlo (se suele usar para cambiar de posición vertical a modo paisaje).

La home screen o pantalla principal (llamada “SpringBoard”) es donde se ubican los iconos de Aplicaciones y el Dock en la parte inferior de la pantalla donde se pueden anclar aplicaciones de uso frecuente, aparece al desbloquear el dispositivo o presionar el botón de inicio. La pantalla tiene una barra de estado en la parte superior para mostrar datos, tales como la hora, el nivel de batería, y la intensidad de la señal.

Multitarea

Antes de iOS 4, la multitarea estaba reservada para aplicaciones por defecto del sistema. A Apple le preocupaba los problemas de batería y rendimiento si se permitiese correr varias aplicaciones de terceros al mismo tiempo. A partir de iOS 4, dispositivos de 3era generación y posteriores soportan el uso de 7 API’s para multitarea, específicamente:

Audio en segundo plano
Voz IP
Localización en segundo plano
Notificaciones push
Noficiaciones locales
Completado de tareas
Cambio rápido de aplicaciones
Sin embargo, no consiste en una verdadera multitarea, pues las aplicaciones ajenas al SO, quedan congeladas en segundo plano no recibiendo un sólo ciclo de reloj del procesador.

Lenguajes de desarrollo y bibliotecas

En el amplio mundo del desarrollo de software a veces no contamos con herramientas o tenemos que adaptarnos a otras tecnologías y metodologías para darle solución a nuestros problemas. La creación de los servicios web no es la excepción y mucho menos cuando se va a migrar un software hacia una Arquitectura Orientada a Servicios.
Ante la necesidad de obtener servicios web usando C/C++ como lenguaje de programación y una distribución GNU/Linux como sistema operativo, con el objetivo de aplicar una Arquitectura Orientada a Servicios a un software desarrollado íntegramente en dicho lenguaje.
En Internet se habla mucho de GSI, WS-Addressing y/o WS-Security como plugins o toolkits que usan la biblioteca gSOAP. No se hablará de ellos en este artículo pues nos centraremos en otras herramientas.
Este proceso de desarrollo mayormente se lleva a cabo en la consola o terminal. El presente trabajo ofrece una solución a este problema encontrado usando la configuración del IDE Eclipse. Además muestra una forma más fácil para el envío y recepción de de archivos. Para esto se produjo una experimentación científica basada en la reutilización de las funcionalidades que ofrece diferentes IDE y algoritmos encontrados en Internet.






Emuladores con los que cuenta linux

Super Nintendo:
-Zsnes: El clásico zsnes, no necesita presentación. La mayoría de las veces funciona tan bien como en Windows (aunque hay que activar el filtro bilinear, que no viene activado por defecto).
-Snes9x: Otro clásico emulador de snes. A veces zsnes no logra funcionar bien, por lo que este emulador es una excelente opción en esos casos (además de tener el mismo rendimiento que zsnes). Hay diversas interfaces gráficas para este emulador, personalmente recomiendo snes9x-gtk (que debe estar en los repositorios de cualquier distribución), que resulta ser una interfaz muy completa y que por ser gtk se integra bien en el escritorio.
Sega Genesis:
-Gens: Uno de los mejores emuladores para esta consola, tanto para linux como para windows. El único inconveniente es que no cuenta con versión de 64 bits, por lo que suele dar problemas con esta estructura.
-Kega-Fusion: Otro excelente emulador con muchas opciones, además es compatible con Sega Master-System. El rendimiento es bueno, aunque suele no funcionar bien en ciertas distribuciones.
-Gens: El más simple, pero tiene todo lo necesario. No tiene interfaz gráfica (aunque hay una gtk, pero no muy buena), por lo que su uso puede resultar algo más engorroso, sin embargo es recomendable por su buen rendimiento.
Nintendo 64:
-Project 64 (wine): Lamentablemente el mejor emulador para 64 no está para linux, pero al menos con wine funciona bastante bien.
-Mupen 64: El mejor emulador nativo para 64, cercano al rendimiento del project. Es un poco más engorroso de usar, pero funciona bien. Tiene diversas interfaces gráficas como cutemupen (qt), wxmupen y mupen64py.
PSX:
-ePSXe: El clásico de PSX, conocido por su buen rendimiento. Es una opción recomendable si ya se conoce este emulador (por su engorrosa configuración). No logra tener el mismo rendimiento que en windows, además de que no fueron lanzadas las últimas versiones de este emulador para linux.
-PCSX: La opción más recomendada, muy similar a ePSXe (con el mismo sistema de plugins) pero mejor portado a linux. El proyecto fue descontinuado, pero luego salió PCSX-reloaded, una versión más robusta y simple, por lo tanto la más recomendada.
-pSX: Un emulador simple y no basado en plugins, sólo hay que poner el juego y jugar. Tiene un excelente rendimiento y es muy fácil de usar, sin embargo al no contar con un sistema de plugins es mucho menos personalizable, por lo que no se podrá mejorar la calidad de imagen (aumentar la resolución), entre otras cosas.
Gameboy Advance:
-VBA-M: VisualBoy Advance, no hay más donde elegir. VBA-M es una versión mejorada del original y la que mejor funciona en linux (la versión original tiene un rendimiento pobre). Aún así muchas veces no logra funcionar como uno espera, por lo que es buena opción emular el VBA de windows con Wine.

No hay comentarios:

Publicar un comentario