Skip to main content

Ejecutar Android con WindowsAndroid en Windows

Que grande me quedó el título. Aún así describe perfectamente lo que esta aplicación puede hacer. Hasta ahora si queríamos ejecutar Android en nuestro PC nos debíamos conformar con la emulación propia que viene con el SDK de Google o mediante la virtualización. Hay por ahí máquinas virtuales preparadas con Android para usar con VirtualBox.

Pero mediante WindowsAndroid, la aplicación que lo hace posible podremos ejecutar aplicaciones propias de Android directamente en nuestro PC sin emulación o virtualización. Consecuentemente la administración será más fácil y además más rápida.

WindowsAndroid es una aplicación desarrollada en China por la compañía Socketeq y aunque esté todavía en una fase temprana de desarrollo nos permite ya ejecutar aplicaciones Android hasta la versión 4.0.3 conocida como Ice Cream Sandwich.

La aplicación se adapta a las resoluciones de pantalla, adaptándose a las de un smartphone o un tablet. Señalar que Android viene solo y las aplicaciones, incluso las de Google deben ser descargadas a parte.

Más información y descargas en socketeq.com

Conociendo Shebang

Una de las características de los sistemas Unix y de los sistemas operativos tipo GNU/Linux es la gran versatilidad para desarrollar scripts.
Los scripts son programas donde el código es interpretado. El script se escribe en texto plano, permitiendo la edición y mejora simplemente con un procesador de textos. Posteriormente no se necesita pasar por los procesos de compilado y enlazado propios de los programas binarios.
La versatilidad en Linux probablemente derive de la abundancia de lenguajes disponibles para crear estos scripts. Desde los lenguajes propios de la línea de comandos como Bash hasta los más completos y avanzados como Perl, Python o PHP. Si, PHP también permite estos scripts además de su uso habitual en desarrollo web.
Si los scripts son solo archivos de texto donde escribimos nuestro código, ¿como los identifica el sistema para ejecutarlos?, Mediante un par de bytes, que hacen de encabezado, que corresponden a los caracteres #! que lo identifican como script. Estos caracteres es lo que se denomina Shebang. Tras el shebang aparece la ruta donde se localiza el programa interprete que podrá ejecutar el código que contiene el script.

Así por ejemplo para un script bash el shebang es:

#!/bin/bash

A continuación en la siguiente línea aparecerá el código a ejecutar del script.

Ocurre a veces que el programa que interpreta el script no esta en la misma localización en diferentes sistemas. Para hacer localizable el script se usa en el Shebang la herramienta “env“. La aplicación “env” se encargará de localizar el interprete de nuestro programa y lo ejecutará con él. Suele estar en /usr/bin por lo que el shebang de un script php usando “env” puede ser así:

#!/usr/bin/env php

A los scripts se les puede pasar argumentos. De modo que estos sean usados por el script en su ejecución. A veces esto requiere usar alguna opción propia del interprete.

Este encabezado propio de los scripts en Linux además por el nombre de Shebang es también conocido por  los nombres de sharpbang y hash-bang.

Por último apuntar que para que los scripts puedan ser ejecutados deben llevar el atributo de ejecutable, que puede activarse con la siguiente comando:

chmod +x script

Como probablemente el script no este en la ruta del sistema, para iniciar su ejecución deberemos añadirla al usar el interprete propio del terminal. La forma más cómoda es indicándole el directorio actual. Esto se hace así:

./script

Los scripts generalmente no tienen que llevar un nombre de extensión propio del lenguaje para poder ser ejecutados. Sin embargo es muy recomendable usarla para identificarlos mejor.

Linux se esta comiendo mi memoria

La página www.linuxatemyram.com explica muy sencillamente como funciona la cache de disco en Linux. La he traducido como ejercicio y para ofrecerla a quien no la comprenda en inglés.

¿Qué está pasando?

Linux esta pidiendo prestada la memoria no usada para cachear el disco. Esto hace parecer como que estas bajo de memoria, ¡pero no lo estas! ¡Todo esta bien!

¿Por qué está haciendo esto?

Cachear el disco hace el sistema mucho más rápido. No hay desventajas, excepto el confundir a los principiantes. No toma memoria de tus aplicaciones de ningún modo. ¡Nunca!

¿Y si quiero ejecutar más aplicaciones?

Si tus aplicaciones quieren más memoria, sólo tienen que recuperar un pedazo de lo que la cache de disco pidió prestado.

¿Necesito más swap?

No, la cache de disco sólo pide prestado la RAM que las aplicaciones actualmente no quieren. No usará memoria virtual (swap). Si las aplicaciones quieren más memoria, solo tienen que recuperarla de la cache de disco. Las aplicaciones no empezarán a intercambiar memoria con la memoria virtual (swaping)

¿Como interrumpo a Linux de hacer esto?

No puedes deshabilitar la cache de disco. La única razón en la que alguien querría deshabilitar la cache de disco es porque piensa que toma memoria de sus aplicaciones, ¡lo cual no hace! La cache de disco hace que las aplicaciones se ejecuten más rápido y más suavemente, pero NUNCA JAMÁS tomará memoria de ellas. Por lo tanto, no hay absolutamente ninguna razón para deshabilitar la cache de disco.

¿Por qué top y free dicen que toda mi RAM esta usada si no es así?

Esto es un mal entendido en los términos. Ambos tú y Linux estáis de acuerdo que la memoria tomada por aplicaciones es “usada”, mientras que la memoria que no esta usada por nada es “libre”

¿Pero como llamas a la memoria que es usada por algo y que esta disponible para las aplicaciones?

Tú la llamarías “libre”, pero Linux la llama “usada”.

Memoria es Para ti es Para Linux es
Usada por aplicaciones Usada Usada
Disponible para aplicaciones pero usada por algo Libre Usada
No usada por nada Libre Libre

Este “algo” es lo que los comandos top y free llaman “buffers” y “cached”. Ya que la terminología entre tú y Linux difiere, piensas que estas bajo de RAM cuando realmente no lo estas.

¿Como puedo ver cuanta RAM libre realmente tengo?

Para ver cuanta RAM esta libre para uso de tus aplicaciones, ejecuta el comando free -m y mira la fila que dice “-/+ buffers/cache” en la columna que dice “free”. Esa es tu respuesta en megabytes:

Si no sabes como leer los números, pensarás que la RAM esta al 99% llena cuando en realidad es sólo 42%.

¿Como puedo verificar estas cosas?

Ve a esta página para más detalles y como puedes experimentar con la cache de disco.