Archivo

Posts Tagged ‘Industria’

Windows 10 en ARM–a la segunda va la vencida?

Para los que no hayáis oído la noticia, el año próximo tendremos Windows 10 corriendo nativamente en procesadores Qualcomm Snapdragon con arquitectura ARM. Parece toda una novedad, solo que ya había ocurrido antes.

Solo que en la ocasión anterior no salió todo lo bien que se podría esperar. El producto se llamaba “Surface” (sin “Pro”) y corría en procesadores ARM pero, entonces, fabricados por nVidia y el sistema operativo era Windows 8. Primero veamos los puntos en común.

Tanto  Windows 8 como el “nuevo” Windows 10 no hacen ningún tipo de magia: ambos están compilados nativamente para procesadores ARM siendo la única diferencia que la versión que corría el Surface original era de 32 bits frente a la compilación de 64 para la nueva versión que veremos el año que viene. Nos enseñaron Office corriendo en Windows 10 sobre ARM, pero eso ya ocurría con el Surface original: era exactamente el mismo Office que usamos en nuestros portátiles y PCs de escritorio, solo que (nuevamente) compilado para los procesadores móviles.

Todo, desde la shell de Windows 8, el explorador tradicional de Windows, y todas las aplicaciones embebidas en el SO estaban compiladas para procesadores ARM, y corrían “nativamente”. Y ese fue el principal problema del Surface original: que la gente no entiende de arquitecturas y simplemente ve “una tableta corriendo Windows”. En ningún sitio se podría deducir que ese “portátil raro” no podría ejecutar todo el software que usamos cada día: todo era idéntico a un Windows 8 corriendo en un portátil “normal y corriente”. Y eso sólo genera frustración por parte de los usuarios.

Un mensaje mal transmitido, una plataforma demasiado “igual” a la que usamos todos los días pero que no puede ejecutar los programas que usamos todos los días. El fracaso del Surface fue notable y costó una importante cantidad de dinero a Microsoft. Lo intentaron de nuevo con el Surface 3, que sí incluía procesadores x86 (Atom) en lugar de ARM, pero el daño ya estaba hecho. Y mientras la familia Pro de Surface crecía tanto en usuarios como en la satisfacción de los mismos, dando incluso lugar a la creación de una nueva categoría de mercado copiada hoy por infinidad de fabricantes, el concepto de “Surface en procesadores móviles” se desvaneció completamente.

Y cual es la diferencia ahora?

Hay dos principales diferencias entre el Surface original y lo que hemos visto en el WinHEC. La principal (y más llamativa, desde luego) fue ver un procesador ARM ejecutando Adobe Photoshop. Si, el mismo Photoshop que usamos cada día en nuestros PCs. La magia se debe a una nueva capa de emulación que convierte al vuelo el código x86 (sí, sólo la variante de 32 bits) en código ARM. Gracias a esa capa, un procesador ARM es capaz de ejecutar todos (bueno, todos los que ofrezcan versiones de 32 bits) los programas a los que estamos acostumbrados. Y seamos claros: no va a correr igual de deprisa que si estuviesen compilados en nativo, pero sí se ejecutan. Sólo eso convierte Windows sobre ARM en una plataforma viable.

La otra gran diferencia es que, por fin (o por lo menos, eso espero), Microsoft incluirá los compiladores ARM “sin restricciones” en los entornos de desarrollo. Hasta ahora, la compilación ARM estaba limitada a componentes UWP (necesario para hacer aplicaciones nativas para PCs y móviles), pero no se podía activar para “todo lo demás”, como por ejemplo, una simple aplicación nativa (C++) de consola.

Primero veremos nuestras aplicaciones tradicionales corriendo bajo la emulación x86/ARM. Si la plataforma coge tracción, los fabricantes pueden optar por ofrecer las aplicaciones compiladas nativamente para ARM.

Un giro para la industria en general?

Microsoft  tiene una enorme experiencia desarrollando sistemas operativos y aplicaciones multiplataforma desde hace décadas: Windows NT estaba disponible para procesadores Intel (en dos variantes: x86 e Itanium), Alpha, MIPS, PowerPC. Era exactamente el mismo sistema operativo, compilado para diferentes arquitecturas. Hoy por hoy, Microsoft sigue usando esas tecnologías para reutilizar el código de Windows en PCs con procesadores x86/x64 y procesadores ARM en la variante móvil (Windows Phone) – sólo cambia la “shell” de interface de usuario, lo que hay debajo es exactamente lo mismo.

Y al igual que Microsoft no quiere limitarse a apuntar a una sola arquitectura, Apple tampoco quiere: sus sistemas operativos son virtualmente iguales por dentro compartiendo una enorme cantidad de código fuente. Se han producido infinidad de rumores acerca de Apple reemplazando los procesadores Intel de sus portátiles por procesadores ARM. Quizá esta tecnología de transcompilación pueda ser igual de efectiva para la manzana.

Ya, y la potencia?

Si, ya lo sabemos: los procesadores Intel son mucho más hambrientos en recursos que los procesadores ARM, debido a la cantidad de potencia “bruta” que contienen. Los procesadores ARM, a pesar de correr a velocidades de reloj similares, no ofrecen la misma potencia bruta. Pero es que los procesadores ARM son tan compactos y consumen tan poco, que nada impide emplear 8, 16, 32 núcleos en un encapsulado igual (o mejor) de eficiente que un procesador Intel actual, ofreciendo una capacidad de cálculo equivalente. La industria orientará esta posible expansión de la arquitectura ARM hasta el actual feudo de Intel, los PCs de sobremesa, portátiles y, sobre todo, servidores.

Porque recordemos: Windows Server también es multiplataforma… nada impide compilar (y seguro que ya lo hacen) el software de servidor para ARM y emplear nuevos procesadores con infinidad de núcleos para una nueva familia de productos de servidor de bajo consumo y enorme densidad.

Veremos un cambio en la industria en general en los próximos años? Ya lo veremos. Por lo pronto, disfrutemos del viaje.

Anuncios
Categorías:Opinión Etiquetas: , , ,